From: Namhyung Kim <namhyung....@lge.com>

If hierarchy mode is enabled, add "row-activated" signal handler for
handling double-click or pressing ENTER key action.

Cc: Pekka Enberg <penb...@kernel.org>
Signed-off-by: Namhyung Kim <namhy...@kernel.org>
---
 tools/perf/ui/gtk/hists.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/tools/perf/ui/gtk/hists.c b/tools/perf/ui/gtk/hists.c
index fb4b5ff00319..e161317236fe 100644
--- a/tools/perf/ui/gtk/hists.c
+++ b/tools/perf/ui/gtk/hists.c
@@ -220,6 +220,18 @@ static void perf_gtk__add_entries_hierarchy(struct hists 
*hists,
        __perf_gtk__add_entries_hierarchy(hists, root, store, NULL, hpp, se);
 }
 
+static void on_row_activated(GtkTreeView *view, GtkTreePath *path,
+                            GtkTreeViewColumn *col __maybe_unused,
+                            gpointer user_data __maybe_unused)
+{
+       bool expanded = gtk_tree_view_row_expanded(view, path);
+
+       if (expanded)
+               gtk_tree_view_collapse_row(view, path);
+       else
+               gtk_tree_view_expand_row(view, path, FALSE);
+}
+
 static void perf_gtk__show_hists(GtkWidget *window, struct hists *hists)
 {
        struct perf_hpp_fmt *fmt;
@@ -322,6 +334,9 @@ add:
                                                  expander_col);
 
                perf_gtk__add_entries_hierarchy(hists, &hpp, store);
+
+               g_signal_connect(view, "row-activated",
+                                G_CALLBACK(on_row_activated), NULL);
        }
 
        gtk_container_add(GTK_CONTAINER(window), view);
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to