From 3b1e2833a32b32c1ccc0323c0f91609a043ea007 Mon Sep 17 00:00:00 2001 From: Stefan Sauer Date: Mon, 10 Oct 2016 15:59:49 +0200 Subject: [PATCH] debug-viewer: window: add helper to get visible range Move this code to the window class, as multiple plugins are going to need it. --- debug-viewer/GstDebugViewer/GUI/window.py | 16 ++++++++++++++++ debug-viewer/GstDebugViewer/Plugins/Timeline.py | 13 ++----------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/debug-viewer/GstDebugViewer/GUI/window.py b/debug-viewer/GstDebugViewer/GUI/window.py index 55f7b295da..9ffa2edcc1 100644 --- a/debug-viewer/GstDebugViewer/GUI/window.py +++ b/debug-viewer/GstDebugViewer/GUI/window.py @@ -640,6 +640,22 @@ class Window (object): self.pop_view_state() self.actions.show_hidden_lines.props.sensitive = True + def get_range(self): + + view = self.log_view + model = view.get_model() + visible_range = view.get_visible_range() + if visible_range is None: + return None + start_path, end_path = visible_range + if not start_path or not end_path: + return None + ts1 = model.get_value(model.get_iter(start_path), + model.COL_TIME) + ts2 = model.get_value(model.get_iter(end_path), + model.COL_TIME) + return (ts1, ts2) + @action def handle_show_hidden_lines_action_activate(self, action): diff --git a/debug-viewer/GstDebugViewer/Plugins/Timeline.py b/debug-viewer/GstDebugViewer/Plugins/Timeline.py index fc3489ab10..91881ffd91 100644 --- a/debug-viewer/GstDebugViewer/Plugins/Timeline.py +++ b/debug-viewer/GstDebugViewer/Plugins/Timeline.py @@ -975,19 +975,10 @@ class AttachedWindow (object): def update_timeline_position(self): - view = self.window.log_view - model = view.get_model() - visible_range = view.get_visible_range() + visible_range = self.window.get_range() if visible_range is None: return - start_path, end_path = visible_range - if not start_path or not end_path: - return - ts1 = model.get_value(model.get_iter(start_path), - model.COL_TIME) - ts2 = model.get_value(model.get_iter(end_path), - model.COL_TIME) - + ts1, ts2 = visible_range self.timeline.update_position(ts1, ts2) def handle_show_action_toggled(self, action):