diff --git a/omemo/gtk/key.py b/omemo/gtk/key.py index a1feca5..f5d71fd 100644 --- a/omemo/gtk/key.py +++ b/omemo/gtk/key.py @@ -94,6 +94,9 @@ class KeyDialog(Gtk.Dialog): self.show_all() def _filter_func(self, row, _user_data): + search_text = self._ui.search.get_text() + if search_text and search_text.lower() not in str(row.jid): + return False if self._show_inactive: return True return row.active @@ -111,6 +114,9 @@ class KeyDialog(Gtk.Dialog): return -1 if row1.trust > row2.trust else 1 return 0 + def _on_search_changed(self, _entry): + self._ui.list.invalidate_filter() + def update(self): self._ui.list.foreach(self._ui.list.remove) self._load_fingerprints(self._own_jid) diff --git a/omemo/gtk/key.ui b/omemo/gtk/key.ui index 07a575a..1de4f05 100644 --- a/omemo/gtk/key.ui +++ b/omemo/gtk/key.ui @@ -61,6 +61,20 @@ you have to install python-qrcode + + False + + + True + True + False + edit-find-symbolic + False + False + + + + True False @@ -193,7 +207,25 @@ you have to install python-qrcode - + + True + True + True + end + center + search_popover + + + True + False + edit-find-symbolic + + + + + 1 + 0 +