Format OMEMO fingerprint in tooltip

This commit is contained in:
Daniel Brötzmann 2019-03-25 21:00:40 +01:00 committed by Philipp Hörist
parent 4acf36c97b
commit b6e7f5c6d2
2 changed files with 14 additions and 1 deletions

View File

@ -49,6 +49,7 @@ from gajim.common.const import StyleAttr, Trust
from gajim.gtk import util from gajim.gtk import util
from gajim.gtk.util import load_icon from gajim.gtk.util import load_icon
from gajim.gtk.util import get_cursor from gajim.gtk.util import get_cursor
from gajim.gtk.util import format_fingerprint
from gajim.gtk.emoji_data import emoji_pixbufs from gajim.gtk.emoji_data import emoji_pixbufs
from gajim.gtk.emoji_data import is_emoji from gajim.gtk.emoji_data import is_emoji
from gajim.gtk.emoji_data import get_emoji_pixbuf from gajim.gtk.emoji_data import get_emoji_pixbuf
@ -1159,7 +1160,8 @@ class ConversationTextview(GObject.GObject):
icon, trust_tooltip, color = TRUST_SYMBOL_DATA[trust] icon, trust_tooltip, color = TRUST_SYMBOL_DATA[trust]
tooltip = tooltip + '\n' + trust_tooltip tooltip = tooltip + '\n' + trust_tooltip
if fingerprint is not None: if fingerprint is not None:
tooltip = tooltip + ' (' + fingerprint + ')' fingerprint = format_fingerprint(fingerprint)
tooltip = tooltip + '\n' + fingerprint
temp_mark = self._buffer.create_mark(None, iter_, True) temp_mark = self._buffer.create_mark(None, iter_, True)
self._buffer.insert(iter_, ' ') self._buffer.insert(iter_, ' ')

View File

@ -23,6 +23,7 @@ from typing import Optional
import os import os
import sys import sys
import logging import logging
import textwrap
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
from pathlib import Path from pathlib import Path
from functools import wraps from functools import wraps
@ -578,3 +579,13 @@ def format_location(location):
'tag': tag.capitalize(), 'text': text} 'tag': tag.capitalize(), 'text': text}
return location_string.strip() return location_string.strip()
def format_fingerprint(fingerprint):
fplen = len(fingerprint)
wordsize = fplen // 8
buf = ''
for w in range(0, fplen, wordsize):
buf += '{0} '.format(fingerprint[w:w + wordsize])
buf = textwrap.fill(buf, width=36)
return buf.rstrip().upper()