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/1d9119d45e5a8209bb2b0793eada22f53...