changeset 9b26008292ab in /home/hg/repos/gajim-plugins
author: Klemens Schölhorn klemens@schoelhorn.eu 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#L3...
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