Philipp Hörist pushed to branch master at gajim / gajim
Commits:
c8f8569f by lovetox at 2022-01-11T22:57:41+01:00
Menu: Refactor roster menu
- - - - -
c615db3f by lovetox at 2022-01-11T23:01:12+01:00
ContactInfo: Stop spinner when erros are received
- - - - -
2 changed files:
- gajim/gtk/contact_info.py
- gajim/gtk/menus.py
Changes:
=====================================
gajim/gtk/contact_info.py
=====================================
@@ -272,7 +272,7 @@ def _set_os_info(self, task: Task) -> None:
result = task.finish()
except Exception as err:
log.warning('Could not retrieve software version: %s', err)
- return
+ result = None
resource = task.get_user_data()
device_grid = self._devices[resource]
@@ -285,7 +285,7 @@ def _set_entity_time(self, task: Task) -> None:
entity_time = task.finish()
except Exception as err:
log.warning('Could not retrieve entity time: %s', err)
- return
+ entity_time = None
resource = task.get_user_data()
@@ -464,22 +464,24 @@ def __init__(self, contact: ResourceContact) -> None:
def widget(self) -> Gtk.Grid:
return self._ui.devices_grid
- def set_entity_time(self, entity_time: str) -> None:
- self._ui.time_value.set_text(entity_time)
- self._ui.time_value.show()
- self._ui.time_label.show()
+ def set_entity_time(self, entity_time: Optional[str]) -> None:
+ if entity_time is not None:
+ self._ui.time_value.set_text(entity_time)
+ self._ui.time_value.show()
+ self._ui.time_label.show()
self._check_complete()
- def set_software(self, software: SoftwareVersionResult) -> None:
- software_string = '%s %s' % (software.name, software.version)
- self._ui.software_value.set_text(software_string)
- self._ui.software_value.show()
- self._ui.software_label.show()
- if software.os is not None:
- self._ui.system_value.set_text(software.os)
- self._ui.system_value.show()
- self._ui.system_label.show()
+ def set_software(self, software: Optional[SoftwareVersionResult]) -> None:
+ if software is not None:
+ software_string = '%s %s' % (software.name, software.version)
+ self._ui.software_value.set_text(software_string)
+ self._ui.software_value.show()
+ self._ui.software_label.show()
+ if software.os is not None:
+ self._ui.system_value.set_text(software.os)
+ self._ui.system_value.show()
+ self._ui.system_label.show()
self._check_complete()
=====================================
gajim/gtk/menus.py
=====================================
@@ -407,29 +407,25 @@ def get_conv_uri_context_menu(account: str, uri: URI) ->
Optional[Gtk.Menu]:
def get_roster_menu(account: str, jid: str, gateway: bool = False) -> Gio.Menu:
+
+ block_label = _('Block…')
if jid_is_blocked(account, jid):
block_label = _('Unblock')
- else:
- block_label = _('Block…')
- menu_items = [
- ('contact-info', _('Information')),
- ('execute-command', _('Execute Command…')),
- ('block-contact', block_label),
- ('remove-contact', _('Remove…')),
+
+ value = f'"{jid}"'
+
+ menuitems: MenuItemListT = [
+ (_('Information'), f'win.contact-info-{account}', value),
+ (_('Execute Command…'), f'win.execute-command-{account}', value),
+ (block_label, f'win.block-contact-{account}', value),
+ (_('Remove…'), f'win.remove-contact-{account}', value),
]
- if gateway:
- menu_items.insert(1, ('modify-gateway', _('Modify Gateway…')))
- menu = Gio.Menu()
- for item in menu_items:
- action, label = item
- action = f'win.{action}-{account}'
- menuitem = Gio.MenuItem.new(label, action)
- variant = GLib.Variant('s', jid)
- menuitem.set_action_and_target_value(action, variant)
- menu.append_item(menuitem)
+ if gateway:
+ menuitems.insert(
+ 1, (_('Modify Gateway…'), f'win.modify-gateway-{account}', value))
- return menu
+ return make_menu(menuitems)
def get_subscription_menu(account: str, jid: JID) -> Gio.Menu:
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/ec6c6cc6185990caa6e925cc1e9d285c8094cf02...c615db3f18c78fbff0b72b336d37d554bb2e8fd9
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/ec6c6cc6185990caa6e925cc1e9d285c8094cf02...c615db3f18c78fbff0b72b336d37d554bb2e8fd9
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