#include "gtkcolorchooserprivate.h"
#include "gtkgesturelongpress.h"
+#include "gtkgestureclick.h"
#include "gtkcolorutils.h"
#include "gtkorientable.h"
#include "gtkrangeprivate.h"
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
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");
}
"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)
{