summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené Stadler <mail@renestadler.de>2007-10-10 22:00:14 +0200
committerRené Stadler <mail@renestadler.de>2007-10-10 22:00:14 +0200
commitfd99caf641626d3bc22eca5eb7a00d8507e610c3 (patch)
tree6bb02bdc391cc1abcfaeab56da8fcab23ebd7793
parent3760ce95146bccce65ccd2539b16d4462f74a2dc (diff)
Temporarily disable filtering during load (a nice optimization)
-rw-r--r--ChangeLog10
-rw-r--r--GstInspector/GUI.py13
2 files changed, 22 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 328859c..cf58060 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2007-10-10 Rene Stadler <mail@renestadler.de>
+ * GstInspector/GUI.py (FilterManager.__init__)
+ (FilterManager.handle_filter_combo_changed)
+ (FilterManager.handle_ui_filter_param_changed)
+ (FilterManager.clear, FilterManager.handle_load_finished): Ignore
+ filter parameter changes during load. This makes disabling of
+ filtering during reload work properly, resulting in 30% time
+ savings when reloading data with a filter enabled.
+
+2007-10-10 Rene Stadler <mail@renestadler.de>
+
* GstInspector/GUI.py (ColumnManager.detach)
(ColumnManager.activate_sort): When detaching while sorting is
deactivated, save the stored default sort options instead of the values
diff --git a/GstInspector/GUI.py b/GstInspector/GUI.py
index 3914e3c..ee6488a 100644
--- a/GstInspector/GUI.py
+++ b/GstInspector/GUI.py
@@ -1051,6 +1051,7 @@ class FilterManager (Manager):
self.logger = logging.getLogger ("ui.filtermanager")
+ self.disabled = False
self.default_active = None
def attach (self, inspector_window):
@@ -1131,6 +1132,9 @@ class FilterManager (Manager):
if not ui_filter.sensitive:
return
+ if self.disabled:
+ return
+
func = ui_filter.get_filter_func ()
self.set_filter_func (func)
@@ -1141,7 +1145,10 @@ class FilterManager (Manager):
active_ui_filter = self.active
if ui_filter != active_ui_filter:
return
-
+
+ if self.disabled:
+ return
+
func = ui_filter.get_filter_func ()
self.set_filter_func (func)
@@ -1160,6 +1167,8 @@ class FilterManager (Manager):
def clear (self):
+ self.disabled = True
+
self.logger.debug ("storing filter defaults for clear")
if self.active is not None:
@@ -1186,6 +1195,8 @@ class FilterManager (Manager):
def handle_load_finished (self):
+ self.disabled = False
+
for ui_filter in self.iter_items ():
ui_filter.handle_load_finished ()