From: Xabier Rodriguez Calvar Date: Wed, 7 Feb 2018 09:05:35 +0000 (+0100) Subject: debug-viewer: Added filter for threads X-Git-Tag: 1.19.3~491^2~575 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=07cd72be7898749df1db11c83309611dda8ca2ea;p=platform%2Fupstream%2Fgstreamer.git debug-viewer: Added filter for threads https://bugzilla.gnome.org/show_bug.cgi?id=793241 --- diff --git a/debug-viewer/GstDebugViewer/GUI/filters.py b/debug-viewer/GstDebugViewer/GUI/filters.py index 0452360..f9f56c5 100644 --- a/debug-viewer/GstDebugViewer/GUI/filters.py +++ b/debug-viewer/GstDebugViewer/GUI/filters.py @@ -89,6 +89,18 @@ class FunctionFilter (Filter): self.filter_func = function_filter_func +class ThreadFilter (Filter): + + def __init__(self, thread_, all_but_this=False): + + col_id = LogModelBase.COL_THREAD + comparison_function = get_comparison_function(all_but_this) + + def thread_filter_func(row): + return comparison_function(row[col_id], thread_) + self.filter_func = thread_filter_func + + class FilenameFilter (Filter): def __init__(self, filename, all_but_this=False): diff --git a/debug-viewer/GstDebugViewer/GUI/window.py b/debug-viewer/GstDebugViewer/GUI/window.py index 58081c0..c9a08ba 100644 --- a/debug-viewer/GstDebugViewer/GUI/window.py +++ b/debug-viewer/GstDebugViewer/GUI/window.py @@ -40,6 +40,7 @@ from GstDebugViewer.GUI.filters import (CategoryFilter, DebugLevelFilter, FilenameFilter, FunctionFilter, + ThreadFilter, ObjectFilter) from GstDebugViewer.GUI.models import (FilteredLogModel, LazyLogModel, @@ -289,6 +290,10 @@ class Window (object): "Hide log category")), ("show-only-log-category", None, _( "Show only log category")), + ("hide-log-thread", None, _( + "Hide thread")), + ("show-only-log-thread", None, _( + "Show only thread")), ("hide-log-object", None, _("Hide object")), ("show-only-log-object", None, _( "Show only object")), @@ -825,6 +830,13 @@ class Window (object): self.add_model_filter(CategoryFilter(category)) @action + def handle_hide_log_thread_action_activate(self, action): + + row = self.get_active_line() + thread = row[LogModelBase.COL_THREAD] + self.add_model_filter(ThreadFilter(thread)) + + @action def handle_hide_log_object_action_activate(self, action): row = self.get_active_line() @@ -869,6 +881,13 @@ class Window (object): self.add_model_filter(CategoryFilter(category, True)) @action + def handle_show_only_log_thread_action_activate(self, action): + + row = self.get_active_line() + thread = row[LogModelBase.COL_THREAD] + self.add_model_filter(ThreadFilter(thread, True)) + + @action def handle_show_only_log_object_action_activate(self, action): row = self.get_active_line() diff --git a/debug-viewer/data/menus.ui b/debug-viewer/data/menus.ui index a58f6c0..75b538d 100644 --- a/debug-viewer/data/menus.ui +++ b/debug-viewer/data/menus.ui @@ -29,6 +29,8 @@ + + @@ -57,6 +59,8 @@ + +