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/bf7096ec1276b9b352fe143734d427a166a205c5

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