Daniel Brötzmann pushed to branch master at gajim / gajim


Commits:
1d9119d4 by wurstsalat at 2022-04-26T14:08:23+02:00
fix: Improve Security Label selector and display

- - - - -


2 changed files:

- gajim/gtk/conversation/rows/message.py
- gajim/gtk/security_label_selector.py


Changes:

=====================================
gajim/gtk/conversation/rows/message.py
=====================================
@@ -24,6 +24,7 @@
 from gi.repository import GLib
 from gi.repository import Gtk
 from gi.repository import GObject
+from gi.repository import Pango
 
 import cairo
 
@@ -164,12 +165,15 @@ def __init__(self,
                 account, 'enable_security_labels'):
             label_text = GLib.markup_escape_text(display_marking.name)
             if label_text:
+                display_marking_label = Gtk.Label()
+                display_marking_label.set_ellipsize(Pango.EllipsizeMode.END)
+                display_marking_label.set_max_width_chars(30)
+                display_marking_label.set_tooltip_text(label_text)
                 bgcolor = display_marking.bgcolor
                 fgcolor = display_marking.fgcolor
                 label_text = (
                     f'<span size="small" bgcolor="{bgcolor}" '
-                    f'fgcolor="{fgcolor}"><tt>[{label_text}]</tt></span>')
-                display_marking_label = Gtk.Label()
+                    f'fgcolor="{fgcolor}"><tt>{label_text}</tt></span>')
                 display_marking_label.set_markup(label_text)
                 self._meta_box.add(display_marking_label)
 


=====================================
gajim/gtk/security_label_selector.py
=====================================
@@ -47,6 +47,7 @@ def __init__(self, account: str, contact: ChatContactT) -> 
None:
         app.ged.register_event_handler(
             'sec-catalog-received', ged.GUI1, self._sec_labels_received)
 
+        self.connect('changed', self._on_changed)
         self.connect('destroy', self._on_destroy)
         jid = self._contact.jid.bare
         if self._client.get_module('SecLabels').supported:
@@ -57,6 +58,16 @@ def _on_destroy(self, _widget: SecurityLabelSelector) -> 
None:
                                      ged.GUI1,
                                      self._sec_labels_received)
 
+    def _on_changed(self, _combo: Gtk.ComboBox) -> None:
+        iter_ = self.get_active_iter()
+        if iter_ is None:
+            return
+
+        model = self.get_model()
+        label_text = model.get_value(iter_, 0)
+        self.set_tooltip_text(
+            _('Selected security label: %s') % f'\n{label_text}')
+
     def _sec_labels_received(self, event: SecCatalogReceived) -> None:
         if event.account != self._account:
             return



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/1d9119d45e5a8209bb2b0793eada22f5323417b3

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/1d9119d45e5a8209bb2b0793eada22f5323417b3
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to