diff --git a/gajim/conversation_textview.py b/gajim/conversation_textview.py index 141afa0f1ff855ddddddd5e27c90f243e9643bd7..0f44cb274d0b99b2e2d2583571444d066887fb18 100644 --- a/gajim/conversation_textview.py +++ b/gajim/conversation_textview.py @@ -49,6 +49,7 @@ from gajim.common.const import StyleAttr, Trust from gajim.gtk import util from gajim.gtk.util import load_icon 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 is_emoji 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] tooltip = tooltip + '\n' + trust_tooltip 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) self._buffer.insert(iter_, ' ') diff --git a/gajim/gtk/util.py b/gajim/gtk/util.py index e15da2a92b6cea61cde993d61dfe63fb52df338b..ad91ce2298ad447a18afc65bc45683e23e436bc8 100644 --- a/gajim/gtk/util.py +++ b/gajim/gtk/util.py @@ -23,6 +23,7 @@ from typing import Optional import os import sys import logging +import textwrap import xml.etree.ElementTree as ET from pathlib import Path from functools import wraps @@ -578,3 +579,13 @@ def format_location(location): 'tag': tag.capitalize(), 'text': text} 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()