mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-10 07:00:53 +00:00
markspage: port to GTK 4
This commit is contained in:
@ -64,19 +64,21 @@ static GParamSpec *properties [N_PROPS];
|
|||||||
G_DEFINE_TYPE_WITH_PRIVATE (SysprofMarksPage, sysprof_marks_page, SYSPROF_TYPE_PAGE)
|
G_DEFINE_TYPE_WITH_PRIVATE (SysprofMarksPage, sysprof_marks_page, SYSPROF_TYPE_PAGE)
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
sysprof_marks_page_tree_view_key_press_event_cb (SysprofMarksPage *self,
|
sysprof_marks_page_tree_view_key_press_event_cb (SysprofMarksPage *self,
|
||||||
const GdkEventKey *key,
|
guint keyval,
|
||||||
GtkTreeView *tree_view)
|
guint keycode,
|
||||||
|
GdkModifierType state,
|
||||||
|
GtkEventControllerKey *controller)
|
||||||
{
|
{
|
||||||
SysprofMarksPagePrivate *priv = sysprof_marks_page_get_instance_private (self);
|
SysprofMarksPagePrivate *priv = sysprof_marks_page_get_instance_private (self);
|
||||||
gint dir = 0;
|
gint dir = 0;
|
||||||
|
|
||||||
g_assert (SYSPROF_MARKS_PAGE (self));
|
g_assert (SYSPROF_MARKS_PAGE (self));
|
||||||
g_assert (key != NULL);
|
g_assert (GTK_IS_EVENT_CONTROLLER_KEY (controller));
|
||||||
|
|
||||||
if (key->state == 0)
|
if ((state & (GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_ALT_MASK)) == 0)
|
||||||
{
|
{
|
||||||
switch (key->keyval)
|
switch (keyval)
|
||||||
{
|
{
|
||||||
case GDK_KEY_Left:
|
case GDK_KEY_Left:
|
||||||
dir = -1;
|
dir = -1;
|
||||||
@ -536,6 +538,7 @@ static void
|
|||||||
sysprof_marks_page_init (SysprofMarksPage *self)
|
sysprof_marks_page_init (SysprofMarksPage *self)
|
||||||
{
|
{
|
||||||
SysprofMarksPagePrivate *priv = sysprof_marks_page_get_instance_private (self);
|
SysprofMarksPagePrivate *priv = sysprof_marks_page_get_instance_private (self);
|
||||||
|
GtkEventController *controller;
|
||||||
|
|
||||||
priv->kind = SYSPROF_MARKS_MODEL_MARKS;
|
priv->kind = SYSPROF_MARKS_MODEL_MARKS;
|
||||||
|
|
||||||
@ -544,11 +547,14 @@ sysprof_marks_page_init (SysprofMarksPage *self)
|
|||||||
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (priv->tree_view),
|
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (priv->tree_view),
|
||||||
GTK_SELECTION_MULTIPLE);
|
GTK_SELECTION_MULTIPLE);
|
||||||
|
|
||||||
g_signal_connect_object (priv->tree_view,
|
controller = gtk_event_controller_key_new ();
|
||||||
"key-press-event",
|
gtk_event_controller_set_propagation_phase (controller, GTK_PHASE_CAPTURE);
|
||||||
|
g_signal_connect_object (controller,
|
||||||
|
"key-pressed",
|
||||||
G_CALLBACK (sysprof_marks_page_tree_view_key_press_event_cb),
|
G_CALLBACK (sysprof_marks_page_tree_view_key_press_event_cb),
|
||||||
self,
|
self,
|
||||||
G_CONNECT_SWAPPED);
|
G_CONNECT_SWAPPED);
|
||||||
|
gtk_widget_add_controller (GTK_WIDGET (self), controller);
|
||||||
|
|
||||||
g_signal_connect_object (priv->tree_view,
|
g_signal_connect_object (priv->tree_view,
|
||||||
"row-activated",
|
"row-activated",
|
||||||
|
|||||||
Reference in New Issue
Block a user