Blame SOURCES/0004-shell_extensions-Add-a-sort-func-to-keep-the-list-or.patch

445904
From eb13e65fbd898fca6c4e8f49c278d014a492bbe5 Mon Sep 17 00:00:00 2001
445904
From: Rui Matos <tiagomatos@gmail.com>
445904
Date: Wed, 8 Apr 2015 11:52:36 +0200
445904
Subject: [PATCH 4/8] shell_extensions: Add a sort func to keep the list
445904
 ordered
445904
445904
---
445904
 gtweak/tweaks/tweak_group_shell_extensions.py | 15 ++++++++++++---
445904
 1 file changed, 12 insertions(+), 3 deletions(-)
445904
445904
diff --git a/gtweak/tweaks/tweak_group_shell_extensions.py b/gtweak/tweaks/tweak_group_shell_extensions.py
445904
index fce8abf..c1f41d9 100644
445904
--- a/gtweak/tweaks/tweak_group_shell_extensions.py
445904
+++ b/gtweak/tweaks/tweak_group_shell_extensions.py
445904
@@ -301,16 +301,17 @@ class ShellExtensionTweakGroup(ListBoxTweakGroup):
445904
                 logging.warning("Error listing extensions", exc_info=True)
445904
         except:
445904
             logging.warning("Error detecting shell", exc_info=True)
445904
-        
445904
+
445904
         #add the extension installer
445904
         extension_tweaks.append(
445904
                 _ShellExtensionInstallerTweak(shell, size_group=sg))
445904
-            
445904
+
445904
         ListBoxTweakGroup.__init__(self,
445904
                                    _("Extensions"),
445904
                                    *extension_tweaks)
445904
-        
445904
+
445904
         self.set_header_func(self._list_header_func, None)
445904
+        self.set_sort_func(self._list_sort_func, None)
445904
 
445904
     def _got_info(self, ego, resp, uuid, extension, widget):
445904
         if uuid == extension["uuid"]:
445904
@@ -332,6 +333,14 @@ class ShellExtensionTweakGroup(ListBoxTweakGroup):
445904
         if before and not row.get_header():
445904
             row.set_header (Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL))
445904
 
445904
+    def _list_sort_func(self, row1, row2, user_data):
445904
+        if isinstance(row1.get_child(), _ShellExtensionInstallerTweak):
445904
+            return 1
445904
+        if isinstance(row2.get_child(), _ShellExtensionInstallerTweak):
445904
+            return -1
445904
+
445904
+        return cmp(row1.name, row2.name)
445904
+
445904
     def _on_extension_status_changed(self, shell, uuid, state, error):
445904
         if uuid not in self._uuids:
445904
             self._add_extension(uuid)
445904
-- 
445904
2.9.3
445904