Philipp Hörist pushed to branch master at gajim / gajim


Commits:
923a07f4 by lovetox at 2022-08-20T14:19:10+02:00
refactor: WorkspaceSidebar: Move building menu to menu module

- - - - -


2 changed files:

- gajim/gtk/menus.py
- gajim/gtk/workspace_side_bar.py


Changes:

=====================================
gajim/gtk/menus.py
=====================================
@@ -574,6 +574,14 @@ def get_format_menu() -> GajimMenu:
     return GajimMenu.from_list(menuitems)
 
 
+def get_workspace_menu(workspace_id: str) -> GajimMenu:
+    menuitems: MenuItemListT = [
+        (_('Edit…'), 'win.edit-workspace', f'"{workspace_id}"'),
+    ]
+
+    return GajimMenu.from_list(menuitems)
+
+
 def escape_mnemonic(label: Optional[str]) -> Optional[str]:
     if label is None:
         return None


=====================================
gajim/gtk/workspace_side_bar.py
=====================================
@@ -15,7 +15,6 @@
 from __future__ import annotations
 
 from typing import Any
-from typing import List
 from typing import Optional
 from typing import cast
 
@@ -23,8 +22,6 @@
 import pickle
 
 from gi.repository import Gdk
-from gi.repository import Gio
-from gi.repository import GLib
 from gi.repository import Gtk
 from nbxmpp.protocol import JID
 
@@ -34,6 +31,7 @@
 
 from .chat_list_stack import ChatListStack
 from .chat_page import ChatPage
+from .menus import get_workspace_menu
 from .structs import ChatListEntryParam
 from .util import open_window
 
@@ -323,7 +321,7 @@ def _popup_menu(self, _widget: Gtk.Widget, event: 
Gdk.EventButton) -> None:
         if event.button != 3:  # right click
             return
 
-        menu = self._get_workspace_menu()
+        menu = get_workspace_menu(self.workspace_id)
 
         rectangle = Gdk.Rectangle()
         rectangle.x = int(event.x)
@@ -336,20 +334,6 @@ def _popup_menu(self, _widget: Gtk.Widget, event: 
Gdk.EventButton) -> None:
         popover.set_pointing_to(rectangle)
         popover.popup()
 
-    def _get_workspace_menu(self) -> Gio.Menu:
-        menu_items: List[Any] = [
-            ('edit-workspace', _('Edit…')),
-        ]
-        menu = Gio.Menu()
-        for item in menu_items:
-            action, label = item
-            action = f'win.{action}'
-            menuitem = Gio.MenuItem.new(label, action)
-            variant = GLib.Variant('s', self.workspace_id)
-            menuitem.set_action_and_target_value(action, variant)
-            menu.append_item(menuitem)
-        return menu
-
     def update_avatar(self) -> None:
         self._image.update()
 



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/923a07f4b5084b9cf38d63739ae51d6f97d05a22

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/923a07f4b5084b9cf38d63739ae51d6f97d05a22
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