changeset 9b26008292ab in /home/hg/repos/gajim-plugins
author: Klemens Schölhorn <[email protected]>
branches:
details:gajim-plugins?cmd=changeset;node=9b26008292ab
description: Add a menu entry for OMEMO to the advanced/context menu
This is done by overwriting the prepare_context_menu method of the
ChatControl
class and was inspired by gajim-otr [1].
[1]:
https://github.com/python-otr/gajim-otr/blob/061380/src/gotr/otrmodule.py#L343-L349
diffstat:
omemo/ui.py | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diffs (36 lines):
diff -r ec182eb6f2da -r 9b26008292ab omemo/ui.py
--- a/omemo/ui.py Sun Jul 17 18:36:30 2016 +0200
+++ b/omemo/ui.py Sun Jul 17 18:58:03 2016 +0200
@@ -89,7 +89,9 @@
self.ui.show_fingerprint_window()
def set_omemo_state(self, state):
+ self.item_omemo_state.handler_block_by_func(self.on_toggle_omemo)
self.item_omemo_state.set_active(state)
+ self.item_omemo_state.handler_unblock_by_func(self.on_toggle_omemo)
def _add_widget(widget, chat_control):
@@ -115,6 +117,22 @@
_add_widget(self.omemobutton, self.chat_control)
+ # add a OMEMO entry to the context/advanced menu
+ chat_control.omemo_orig_prepare_context_menu =
chat_control.prepare_context_menu
+ def omemo_prepare_context_menu(hide_buttonbar_items=False):
+ menu =
chat_control.omemo_orig_prepare_context_menu(hide_buttonbar_items)
+ submenu = OmemoMenu(self, self.encryption_active())
+
+ item = gtk.ImageMenuItem('OMEMO Encryption')
+ icon_path = plugin.local_file_path('omemo16x16.png')
+ item.set_image(gtk.image_new_from_file(icon_path))
+ item.set_submenu(submenu)
+
+ # at index 8 is the separator after the esession encryption entry
+ menu.insert(item, 8)
+ return menu
+ chat_control.prepare_context_menu = omemo_prepare_context_menu
+
def set_omemo_state(self, enabled):
"""
Enable or disable OMEMO for this window's contact and update the
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits