[gtk/matthiasc/for-master: 50/50] colorscale: Bring back the right-click on slider
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master: 50/50] colorscale: Bring back the right-click on slider
- Date: Mon, 18 May 2020 15:38:46 +0000 (UTC)
commit f637ab57f14c239fd5b6b50da646705f20cb9136
Author: Matthias Clasen <mclasen redhat com>
Date: Mon May 18 11:31:42 2020 -0400
colorscale: Bring back the right-click on slider
This was lost when we converted the color editor to actions.
gtk/gtkcolorscale.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
---
diff --git a/gtk/gtkcolorscale.c b/gtk/gtkcolorscale.c
index 2471687e4f..8f7354ab7d 100644
--- a/gtk/gtkcolorscale.c
+++ b/gtk/gtkcolorscale.c
@@ -21,6 +21,7 @@
#include "gtkcolorchooserprivate.h"
#include "gtkgesturelongpress.h"
+#include "gtkgestureclick.h"
#include "gtkcolorutils.h"
#include "gtkorientable.h"
#include "gtkrangeprivate.h"
@@ -53,6 +54,12 @@ static void hold_action (GtkGestureLongPress *gesture,
gdouble y,
GtkWidget *scale);
+static void click_action (GtkGestureClick *gesture,
+ guint n_presses,
+ double x,
+ double y,
+ GtkWidget *scale);
+
G_DEFINE_TYPE_WITH_PRIVATE (GtkColorScale, gtk_color_scale, GTK_TYPE_SCALE)
void
@@ -160,6 +167,12 @@ gtk_color_scale_init (GtkColorScale *scale)
GTK_PHASE_TARGET);
gtk_widget_add_controller (GTK_WIDGET (scale), GTK_EVENT_CONTROLLER (gesture));
+ gesture = gtk_gesture_click_new ();
+ gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (gesture), GDK_BUTTON_SECONDARY);
+ g_signal_connect (gesture, "pressed",
+ G_CALLBACK (click_action), scale);
+ gtk_widget_add_controller (GTK_WIDGET (scale), GTK_EVENT_CONTROLLER (gesture));
+
gtk_widget_add_css_class (GTK_WIDGET (scale), "color");
}
@@ -256,6 +269,18 @@ hold_action (GtkGestureLongPress *gesture,
"s", gtk_widget_get_name (scale));
}
+static void
+click_action (GtkGestureClick *gesture,
+ guint n_presses,
+ double x,
+ double y,
+ GtkWidget *scale)
+{
+ gtk_widget_activate_action (scale,
+ "color.edit",
+ "s", gtk_widget_get_name (scale));
+}
+
static void
scale_finalize (GObject *object)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]