libsysprof-ui: allow double click to select mark range

This commit is contained in:
Christian Hergert
2020-03-13 17:00:17 -07:00
parent eb0d58dcc4
commit 259aa9ba93
3 changed files with 56 additions and 0 deletions

View File

@ -384,6 +384,38 @@ sysprof_marks_page_set_size_group (SysprofPage *page,
gtk_size_group_add_widget (size_group, GTK_WIDGET (priv->details_box));
}
static void
sysprof_marks_page_tree_view_row_activated_cb (SysprofMarksPage *self,
GtkTreePath *path,
GtkTreeViewColumn *column,
GtkTreeView *tree_view)
{
GtkTreeModel *model;
GtkTreeIter iter;
g_assert (SYSPROF_IS_MARKS_PAGE (self));
g_assert (path != NULL);
g_assert (GTK_IS_TREE_VIEW_COLUMN (column));
g_assert (GTK_IS_TREE_VIEW (tree_view));
model = gtk_tree_view_get_model (tree_view);
if (gtk_tree_model_get_iter (model, &iter, path))
{
SysprofDisplay *display;
gint64 begin_time;
gint64 end_time;
gtk_tree_model_get (model, &iter,
SYSPROF_MARKS_MODEL_COLUMN_BEGIN_TIME, &begin_time,
SYSPROF_MARKS_MODEL_COLUMN_END_TIME, &end_time,
-1);
display = SYSPROF_DISPLAY (gtk_widget_get_ancestor (GTK_WIDGET (self), SYSPROF_TYPE_DISPLAY));
sysprof_display_add_to_selection (display, begin_time, end_time);
}
}
static void
sysprof_marks_page_finalize (GObject *object)
{
@ -518,6 +550,12 @@ sysprof_marks_page_init (SysprofMarksPage *self)
self,
G_CONNECT_SWAPPED);
g_signal_connect_object (priv->tree_view,
"row-activated",
G_CALLBACK (sysprof_marks_page_tree_view_row_activated_cb),
self,
G_CONNECT_SWAPPED);
g_signal_connect_object (priv->tree_view,
"query-tooltip",
G_CALLBACK (sysprof_marks_page_tree_view_query_tooltip_cb),