Philipp Hörist pushed to branch master at gajim / gajim
Commits:
1d604b72 by lovetox at 2022-01-11T22:36:51+01:00
Menus: Refactor account menu
- - - - -
ec6c6cc6 by lovetox at 2022-01-11T22:36:51+01:00
Menu: Fix passing string values
- - - - -
2 changed files:
- gajim/gtk/menus.py
- gajim/gtk/util.py
Changes:
=====================================
gajim/gtk/menus.py
=====================================
@@ -156,7 +156,7 @@ def get_groupchat_menu(control_id: str, account: str, jid:
JID) -> Gio.Menu:
(_('Rename Chat…'), f'win.rename-groupchat-{control_id}', None),
(_('Change Nickname…'), f'win.change-nickname-{control_id}', None),
(_('Request Voice'), f'win.request-voice-{control_id}', None),
- (_('Execute Command…'), f'win.execute-command-{control_id}', 's("")'),
+ (_('Execute Command…'), f'win.execute-command-{control_id}', '""'),
(_('Search…'), 'win.search-history', None),
(_('Remove History'), 'app.remove-history', params)
]
@@ -165,52 +165,41 @@ def get_groupchat_menu(control_id: str, account: str,
jid: JID) -> Gio.Menu:
def get_account_menu(account: str) -> Gio.Menu:
- '''
- [(action, label/sub_menu)]
- action: string
- label: string
- sub menu: list
- '''
- account_menu: list[tuple[str, Union[str, list[tuple[str, str]]]]] = [
- ('-profile', _('Profile')),
- ('-start-single-chat', _('Send Single Message…')),
- ('-services', _('Discover Services…')),
- ('-server-info', _('Server Info')),
- (_('Advanced'), [
- ('-archive', _('Archiving Preferences')),
- ('-blocking', _('Blocking List')),
- ('-pep-config', _('PEP Configuration')),
- ('-sync-history', _('Synchronise History…')),
- ]),
- (_('Admin'), [
- ('-send-server-message', _('Send Server Message…')),
- ('-set-motd', _('Set MOTD…')),
- ('-update-motd', _('Update MOTD…')),
- ('-delete-motd', _('Delete MOTD…'))
- ]),
+
+ val = f'"{account}"'
+
+ menuitems: MenuItemListT = [
+ (_('Profile'), f'app.{account}-profile', val),
+ (_('Send Single Message…'), f'app.{account}-start-single-chat', val),
+ (_('Discover Services…'), f'app.{account}-services', val),
+ (_('Server Info'), f'app.{account}-server-info', val),
+ ]
+
+ menu = make_menu(menuitems)
+
+ advanced_menuitems: MenuItemListT = [
+ (_('Archiving Preferences'), f'app.{account}-archive', val),
+ (_('Blocking List'), f'app.{account}-blocking', val),
+ (_('PEP Configuration'), f'app.{account}-pep-config', val),
+ (_('Synchronise History…'), f'app.{account}-sync-history', val),
]
if app.settings.get('developer_modus'):
- account_menu[5][1].append(('-bookmarks', _('Bookmarks')))
+ advanced_menuitems.append(
+ (_('Bookmarks'), f'app.{account}-bookmarks', val))
- def build_menu(preset: list[tuple[str, Union[str, list[tuple[str,
str]]]]]):
- menu = Gio.Menu()
- for item in preset:
- if isinstance(item[1], str):
- action, label = item
- action = f'app.{account}{action}'
- menuitem = Gio.MenuItem.new(label, action)
- variant = GLib.Variant('s', account)
- menuitem.set_action_and_target_value(action, variant)
- menu.append_item(menuitem)
- else:
- label, sub_menu = item
- # This is a submenu
- submenu = build_menu(sub_menu)
- menu.append_submenu(label, submenu)
- return menu
+ menu.append_submenu(_('Advanced'), make_menu(advanced_menuitems))
- return build_menu(account_menu)
+ admin_menuitems: MenuItemListT = [
+ (_('Send Server Message…'), f'app.{account}-send-server-message', val),
+ (_('Set MOTD…'), f'app.{account}-set-motd', val),
+ (_('Update MOTD…'), f'app.{account}-update-motd', val),
+ (_('Delete MOTD…'), f'app.{account}-delete-motd', val)
+ ]
+
+ menu.append_submenu(_('Admin'), make_menu(admin_menuitems))
+
+ return menu
def build_accounts_menu() -> None:
@@ -448,7 +437,7 @@ def get_subscription_menu(account: str, jid: JID) ->
Gio.Menu:
jid=jid,
type='contact',
select=True)
- value = f's("{jid}")'
+ value = f'"{jid}"'
menuitems: MenuItemListT = [
(_('Start Chat'), 'win.add-chat', params),
(_('Information'), f'win.contact-info-{account}', value),
=====================================
gajim/gtk/util.py
=====================================
@@ -919,7 +919,7 @@ def make_menu_item(label: str,
item = Gio.MenuItem.new(label)
if isinstance(value, str):
- item.set_detailed_action(f'{action}::value')
+ item.set_detailed_action(f'{action}({value})')
elif isinstance(value, VariantMixin):
item.set_action_and_target_value(action, value.to_variant())
else:
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/1c8ed6bb6232727a7b957ae366959ffaa2a1603e...ec6c6cc6185990caa6e925cc1e9d285c8094cf02
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/1c8ed6bb6232727a7b957ae366959ffaa2a1603e...ec6c6cc6185990caa6e925cc1e9d285c8094cf02
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