From 68fd8fc6045ed0db6f2fae02183734ebe4f11a36 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ren=C3=A9=20Stadler?= Date: Mon, 3 Dec 2007 16:07:05 +0200 Subject: [PATCH] Improve method to update log view after search text change --- debug-viewer/GstDebugViewer/GUI.py | 13 +++++++++++++ debug-viewer/GstDebugViewer/Plugins/FindBar.py | 13 +------------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/debug-viewer/GstDebugViewer/GUI.py b/debug-viewer/GstDebugViewer/GUI.py index 88fd32c..f83473a 100755 --- a/debug-viewer/GstDebugViewer/GUI.py +++ b/debug-viewer/GstDebugViewer/GUI.py @@ -1410,6 +1410,19 @@ class Window (object): # the previous visible range. self.log_view.scroll_to_cell (path, use_align = True, row_align = .5) + def update_view (self): + + view = self.log_view + model = view.props.model + + start_path, end_path = view.get_visible_range () + start_index, end_index = start_path[0], end_path[0] + + for line_index in range (start_index, end_index + 1): + path = (line_index,) + tree_iter = model.get_iter (path) + model.row_changed (path, tree_iter) + def handle_window_delete_event (self, window, event): self.actions.close_window.activate () diff --git a/debug-viewer/GstDebugViewer/Plugins/FindBar.py b/debug-viewer/GstDebugViewer/Plugins/FindBar.py index 734f1fd..a22cd36 100644 --- a/debug-viewer/GstDebugViewer/Plugins/FindBar.py +++ b/debug-viewer/GstDebugViewer/Plugins/FindBar.py @@ -277,6 +277,7 @@ class FindBarFeature (FeatureBase): column = self.window.column_manager.find_item (name = "message") column.highlighters[self] = self.operation.match_func + self.window.update_view () def handle_match_found (self, model, tree_iter): @@ -308,18 +309,6 @@ class FindBarFeature (FeatureBase): else: return - model = self.log_view.props.model - - start_path, end_path = self.log_view.get_visible_range () - start_index, end_index = start_path[0], end_path[0] - - # Update highlighting. FIXME: Probably not needed/can be done better. - for line_index in new_matches: - path = (line_index,) - tree_iter = model.get_iter (path) - if line_index >= start_index and line_index <= end_index: - model.row_changed (path, tree_iter) - def clear_results (self): try: -- 2.7.4