mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-09 14:40:54 +00:00
libsysprof-gtk: use shortcut controller for actions
This commit is contained in:
@ -227,32 +227,6 @@ functions_selection_changed_cb (SysprofCallgraphView *self,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
sysprof_callgraph_view_key_pressed_cb (GtkTreeExpander *expander,
|
|
||||||
guint keyval,
|
|
||||||
guint keycode,
|
|
||||||
GdkModifierType state,
|
|
||||||
GtkEventControllerKey *controller)
|
|
||||||
{
|
|
||||||
GtkTreeListRow *row;
|
|
||||||
|
|
||||||
g_assert (GTK_IS_TREE_EXPANDER (expander));
|
|
||||||
g_assert (GTK_IS_EVENT_CONTROLLER_KEY (controller));
|
|
||||||
|
|
||||||
row = gtk_tree_expander_get_list_row (expander);
|
|
||||||
|
|
||||||
if (keyval == GDK_KEY_space)
|
|
||||||
gtk_tree_list_row_set_expanded (row, !gtk_tree_list_row_get_expanded (row));
|
|
||||||
else if (keyval == GDK_KEY_Right)
|
|
||||||
gtk_tree_list_row_set_expanded (row, TRUE);
|
|
||||||
else if (keyval == GDK_KEY_Left)
|
|
||||||
gtk_tree_list_row_set_expanded (row, FALSE);
|
|
||||||
else
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
format_time_offset (gpointer cell)
|
format_time_offset (gpointer cell)
|
||||||
{
|
{
|
||||||
@ -385,7 +359,6 @@ sysprof_callgraph_view_class_init (SysprofCallgraphViewClass *klass)
|
|||||||
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, scrolled_window);
|
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, scrolled_window);
|
||||||
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, traceable_column_view);
|
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, traceable_column_view);
|
||||||
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, traceables_column_view);
|
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, traceables_column_view);
|
||||||
gtk_widget_class_bind_template_callback (widget_class, sysprof_callgraph_view_key_pressed_cb);
|
|
||||||
gtk_widget_class_bind_template_callback (widget_class, format_time_offset);
|
gtk_widget_class_bind_template_callback (widget_class, format_time_offset);
|
||||||
|
|
||||||
klass->augment_size = GLIB_SIZEOF_VOID_P;
|
klass->augment_size = GLIB_SIZEOF_VOID_P;
|
||||||
|
|||||||
@ -124,14 +124,32 @@
|
|||||||
<template class="GtkListItem">
|
<template class="GtkListItem">
|
||||||
<property name="child">
|
<property name="child">
|
||||||
<object class="GtkTreeExpander" id="expander">
|
<object class="GtkTreeExpander" id="expander">
|
||||||
|
<child>
|
||||||
|
<object class="GtkShortcutController">
|
||||||
|
<property name="propagation-phase">capture</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkShortcut">
|
||||||
|
<property name="trigger">Right</property>
|
||||||
|
<property name="action">action(listitem.expand)</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkShortcut">
|
||||||
|
<property name="trigger">space</property>
|
||||||
|
<property name="action">action(listitem.expand)</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkShortcut">
|
||||||
|
<property name="trigger">Left</property>
|
||||||
|
<property name="action">action(listitem.collapse)</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
<binding name="list-row">
|
<binding name="list-row">
|
||||||
<lookup name="item">GtkListItem</lookup>
|
<lookup name="item">GtkListItem</lookup>
|
||||||
</binding>
|
</binding>
|
||||||
<child>
|
|
||||||
<object class="GtkEventControllerKey" id="key_controller">
|
|
||||||
<signal name="key-pressed" handler="sysprof_callgraph_view_key_pressed_cb" object="expander" swapped="true"/>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<property name="child">
|
<property name="child">
|
||||||
<object class="GtkBox">
|
<object class="GtkBox">
|
||||||
<property name="hexpand">true</property>
|
<property name="hexpand">true</property>
|
||||||
|
|||||||
Reference in New Issue
Block a user