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/923a07f4b5084b9cf38d63739ae51d6f9...