diff options
author | René Stadler <mail@renestadler.de> | 2007-10-10 22:00:14 +0200 |
---|---|---|
committer | René Stadler <mail@renestadler.de> | 2007-10-10 22:00:14 +0200 |
commit | fd99caf641626d3bc22eca5eb7a00d8507e610c3 (patch) | |
tree | 6bb02bdc391cc1abcfaeab56da8fcab23ebd7793 | |
parent | 3760ce95146bccce65ccd2539b16d4462f74a2dc (diff) |
Temporarily disable filtering during load (a nice optimization)
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | GstInspector/GUI.py | 13 |
2 files changed, 22 insertions, 1 deletions
@@ -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 () |