Blame SOURCES/0005-tweakview.py-Remove-and-re-add-all-tweaks-on-tweak-r.patch

aaa06e
From e620956cec21318f74f5dc5736ebeecc96bfd291 Mon Sep 17 00:00:00 2001
aaa06e
From: Rui Matos <tiagomatos@gmail.com>
aaa06e
Date: Fri, 6 Dec 2013 16:07:00 +0100
aaa06e
Subject: [PATCH 5/5] tweakview.py: Remove and re-add all tweaks on tweak
aaa06e
 reload
aaa06e
aaa06e
This is a bit heavier but keeps everything always sorted. The number
aaa06e
of widgets we have isn't high enough for it to be too slow anyway.
aaa06e
---
aaa06e
 gtweak/tweakview.py | 15 ++-------------
aaa06e
 1 file changed, 2 insertions(+), 13 deletions(-)
aaa06e
aaa06e
diff --git a/gtweak/tweakview.py b/gtweak/tweakview.py
aaa06e
index 9de821c..f5ee5c9 100644
aaa06e
--- a/gtweak/tweakview.py
aaa06e
+++ b/gtweak/tweakview.py
aaa06e
@@ -73,7 +73,6 @@ class TweakView:
aaa06e
         ctx.add_provider (provider,6000)
aaa06e
 
aaa06e
         #add all tweaks
aaa06e
-        self._tweak_set = set()
aaa06e
         self._tweak_vbox = builder.get_object('tweak_vbox')
aaa06e
         self.reload_tweaks()
aaa06e
 
aaa06e
@@ -83,24 +82,14 @@ class TweakView:
aaa06e
         self._notification_functions = {}
aaa06e
 
aaa06e
     def reload_tweaks(self):
aaa06e
-        new_tweak_set = set()
aaa06e
+        for widget in self._tweak_vbox:
aaa06e
+            self._tweak_vbox.remove(widget)
aaa06e
 
aaa06e
         for t in sorted(self._model.tweaks, key=_sort_tweak_widgets_by_widget_type):
aaa06e
-            new_tweak_set.add(t)
aaa06e
-            if t in self._tweak_set:
aaa06e
-                continue
aaa06e
-
aaa06e
             t.main_window = self._main_window
aaa06e
             self._tweak_vbox.pack_start(t.widget, False, False, 0)
aaa06e
             t.set_notify_cb(self._on_tweak_notify)
aaa06e
 
aaa06e
-            self._tweak_set.add(t)
aaa06e
-
aaa06e
-        for t in self._tweak_set - new_tweak_set:
aaa06e
-            self._tweak_vbox.remove(t.widget)
aaa06e
-
aaa06e
-        self._tweak_set = new_tweak_set
aaa06e
-
aaa06e
     def _on_model_row_changed(self, model, path, titer):
aaa06e
         model, selected = self.treeview.get_selection().get_selected_rows()
aaa06e
         self.select_none()
aaa06e
-- 
aaa06e
1.8.3.1
aaa06e