Daniel Brötzmann pushed to branch mainwindow at gajim / gajim
Commits: bf7096ec by wurstsalat at 2021-10-03T11:08:54+02:00 Preferences: Move 'sort by show' to roster menu
- - - - -
3 changed files:
- gajim/gtk/account_page.py - gajim/gtk/preferences.py - gajim/gtk/roster.py
Changes:
===================================== gajim/gtk/account_page.py ===================================== @@ -30,6 +30,7 @@
ROSTER_MENU_DICT = { 'show-offline': _('Show Offline Contacts'), + 'sort-by-show': _('Sort by Status'), }
===================================== gajim/gtk/preferences.py ===================================== @@ -201,12 +201,6 @@ def __init__(self, *args): 'show_avatars_in_roster', callback=self._on_show_avatar_in_roster_changed),
- Setting(SettingKind.SWITCH, - _('Sort Contacts by Status'), - SettingType.CONFIG, - 'sort_by_show_in_roster', - callback=self._on_sort_by_show_in_roster), - Setting(SettingKind.SWITCH, _('Show Mood'), SettingType.CONFIG, @@ -236,12 +230,6 @@ def _on_show_avatar_in_roster_changed(*args): # app.interface.roster.setup_and_draw_roster() pass
- @staticmethod - def _on_sort_by_show_in_roster(*args): - # TODO - # app.interface.roster.setup_and_draw_roster() - pass -
class Chats(PreferenceBox): def __init__(self, *args):
===================================== gajim/gtk/roster.py ===================================== @@ -134,6 +134,13 @@ def _add_actions(self): GLib.Variant.new_boolean(app.settings.get('showoffline'))) action.connect('change-state', self._on_show_offline) app.window.add_action(action) + action = Gio.SimpleAction.new_stateful( + f'sort-by-show-{self._account}', + None, + GLib.Variant.new_boolean( + app.settings.get('sort_by_show_in_roster'))) + action.connect('change-state', self._on_sort_by_show) + app.window.add_action(action)
def update_actions(self): online = app.account_is_connected(self._account) @@ -264,6 +271,11 @@ def _on_show_offline(self, action, param): app.settings.set('showoffline', param.get_boolean()) self._refilter()
+ def _on_sort_by_show(self, action, param): + action.set_state(param) + app.settings.set('sort_by_show_in_roster', param.get_boolean()) + self._refilter() + def _on_contact_info(self, _action, param): app.window.contact_info(self._account, param.get_string())
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/bf7096ec1276b9b352fe143734d427a16...