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

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

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

diff --git a/tools/perf/ui/gtk/hists.c b/tools/perf/ui/gtk/hists.c
index b4a0dd2404a2..3a5d01319988 100644
--- a/tools/perf/ui/gtk/hists.c
+++ b/tools/perf/ui/gtk/hists.c
@@ -187,6 +187,18 @@ static void perf_gtk__add_callchain(struct rb_root *root, 
GtkTreeStore *store,
        }
 }
 
+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,
                                 float min_pcnt)
 {
@@ -314,6 +326,8 @@ static void perf_gtk__show_hists(GtkWidget *window, struct 
hists *hists,
                }
        }
 
+       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