From 703a670a6a976a8c78e5ad18d8c4c224c6322754 Mon Sep 17 00:00:00 2001 From: Joshua Lee Date: Tue, 26 Apr 2022 15:58:12 +0100 Subject: [PATCH] dot: Set appropriate cursors Set the cursor to "grab" when the pointer is over a dot to indicate its draggability. When dragging, set it to "grabbing". --- src/tct-dot.c | 17 +++++++++++++++++ src/tct-dot.ui | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/tct-dot.c b/src/tct-dot.c index dd80fc0..94e87f5 100644 --- a/src/tct-dot.c +++ b/src/tct-dot.c @@ -328,7 +328,23 @@ on_drag_end (GtkGestureDrag *drag, double offset_y, gpointer user_data) { + TctDot *self = TCT_DOT (user_data); + + g_assert (TCT_IS_DOT (self)); + gtk_event_controller_reset (GTK_EVENT_CONTROLLER (drag)); + gtk_widget_set_cursor_from_name (GTK_WIDGET (self->dot_button), NULL); +} + +static void +on_drag_begin (TctDot *self, + double *offset_x, + double *offset_y, + gpointer user_data) +{ + g_assert (TCT_IS_DOT (self)); + + gtk_widget_set_cursor_from_name (GTK_WIDGET (self->dot_button), "move"); } static void @@ -543,6 +559,7 @@ tct_dot_class_init (TctDotClass *klass) gtk_widget_class_bind_template_callback (widget_class, on_key_released); gtk_widget_class_bind_template_callback (widget_class, on_secondary_button_pressed); + gtk_widget_class_bind_template_callback (widget_class, on_drag_begin); gtk_widget_class_bind_template_callback (widget_class, on_drag_end); gtk_widget_class_bind_template_callback (widget_class, on_drag_update); } diff --git a/src/tct-dot.ui b/src/tct-dot.ui index 6ee14ae..b761871 100644 --- a/src/tct-dot.ui +++ b/src/tct-dot.ui @@ -30,7 +30,8 @@ - + + -- GitLab