From b6e7f5c6d2ecfa6be6044e2bec58ed93fe726401 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Br=C3=B6tzmann?= <mailtrash@posteo.de>
Date: Mon, 25 Mar 2019 21:00:40 +0100
Subject: [PATCH] Format OMEMO fingerprint in tooltip

---
 gajim/conversation_textview.py |  4 +++-
 gajim/gtk/util.py              | 11 +++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/gajim/conversation_textview.py b/gajim/conversation_textview.py
index 141afa0f1f..0f44cb274d 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 e15da2a92b..ad91ce2298 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()
-- 
GitLab