[gtk/shortcuts-rebased-again: 148/171] color editor: Avoid popup-menu use
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/shortcuts-rebased-again: 148/171] color editor: Avoid popup-menu use
- Date: Mon, 24 Jun 2019 23:16:56 +0000 (UTC)
commit ce19f5a282287b4e39f6c5e2e35c6196e6cbae8c
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Jun 24 01:31:49 2019 +0000
color editor: Avoid popup-menu use
gtk/gtkcoloreditor.c | 9 +++++----
gtk/gtkcoloreditorprivate.h | 2 ++
gtk/gtkcolorplane.c | 21 ++++++++++++++++++---
gtk/gtkcolorscale.c | 23 +++++++++++++++++++----
gtk/ui/gtkcoloreditor.ui | 3 ---
5 files changed, 44 insertions(+), 14 deletions(-)
---
diff --git a/gtk/gtkcoloreditor.c b/gtk/gtkcoloreditor.c
index 6a43b7e3d2..fb6f492a38 100644
--- a/gtk/gtkcoloreditor.c
+++ b/gtk/gtkcoloreditor.c
@@ -188,16 +188,18 @@ dismiss_current_popup (GtkColorEditor *editor)
}
}
-static void
-popup_edit (GtkWidget *widget,
- GtkColorEditor *editor)
+void
+gtk_color_editor_popup_menu (GtkWidget *widget)
{
+ GtkColorEditor *editor;
GtkWidget *popup = NULL;
GtkRoot *root;
GtkWidget *focus;
gint position;
gint s, e;
+ editor = GTK_COLOR_EDITOR (gtk_widget_get_ancestor (widget, GTK_TYPE_COLOR_EDITOR));
+
if (widget == editor->priv->sv_plane)
{
popup = editor->priv->sv_popup;
@@ -546,7 +548,6 @@ gtk_color_editor_class_init (GtkColorEditorClass *class)
gtk_widget_class_bind_template_callback (widget_class, entry_text_changed);
gtk_widget_class_bind_template_callback (widget_class, entry_apply);
gtk_widget_class_bind_template_callback (widget_class, entry_focus_changed);
- gtk_widget_class_bind_template_callback (widget_class, popup_edit);
gtk_widget_class_bind_template_callback (widget_class, pick_color);
}
diff --git a/gtk/gtkcoloreditorprivate.h b/gtk/gtkcoloreditorprivate.h
index c0d40b3510..d16b6f8c93 100644
--- a/gtk/gtkcoloreditorprivate.h
+++ b/gtk/gtkcoloreditorprivate.h
@@ -56,6 +56,8 @@ struct _GtkColorEditorClass
GType gtk_color_editor_get_type (void) G_GNUC_CONST;
GtkWidget * gtk_color_editor_new (void);
+void gtk_color_editor_popup_menu (GtkWidget *control);
+
G_END_DECLS
#endif /* __GTK_COLOR_EDITOR_H__ */
diff --git a/gtk/gtkcolorplane.c b/gtk/gtkcolorplane.c
index f6eaf311a0..08fadc3ac1 100644
--- a/gtk/gtkcolorplane.c
+++ b/gtk/gtkcolorplane.c
@@ -28,6 +28,7 @@
#include "gtksnapshot.h"
#include "gtkprivate.h"
#include "gtkeventcontrollerkey.h"
+#include "gtkcoloreditorprivate.h"
struct _GtkColorPlanePrivate
{
@@ -244,11 +245,18 @@ static void
hold_action (GtkGestureLongPress *gesture,
gdouble x,
gdouble y,
- GtkColorPlane *plane)
+ GtkWidget *plane)
{
- gboolean handled;
+ gtk_color_editor_popup_menu (plane);
+}
- g_signal_emit_by_name (plane, "popup-menu", &handled);
+static gboolean
+popup_menu (GtkWidget *widget,
+ GVariant *args,
+ gpointer user_data)
+{
+ gtk_color_editor_popup_menu (widget);
+ return TRUE;
}
static void
@@ -530,6 +538,13 @@ gtk_color_plane_class_init (GtkColorPlaneClass *class)
GTK_TYPE_ADJUSTMENT,
GTK_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY));
+
+ gtk_widget_class_add_binding (GTK_WIDGET_CLASS (class),
+ GDK_KEY_F10, GDK_SHIFT_MASK,
+ popup_menu, NULL);
+ gtk_widget_class_add_binding (GTK_WIDGET_CLASS (class),
+ GDK_KEY_Menu, 0,
+ popup_menu, NULL);
}
GtkWidget *
diff --git a/gtk/gtkcolorscale.c b/gtk/gtkcolorscale.c
index c5b7d3046a..c7017c0c56 100644
--- a/gtk/gtkcolorscale.c
+++ b/gtk/gtkcolorscale.c
@@ -29,6 +29,7 @@
#include "gtkprivate.h"
#include "gtkintl.h"
#include "gtksnapshot.h"
+#include "gtkcoloreditorprivate.h"
#include <math.h>
@@ -48,7 +49,7 @@ enum
static void hold_action (GtkGestureLongPress *gesture,
gdouble x,
gdouble y,
- GtkColorScale *scale);
+ GtkWidget *scale);
G_DEFINE_TYPE_WITH_PRIVATE (GtkColorScale, gtk_color_scale, GTK_TYPE_SCALE)
@@ -250,11 +251,18 @@ static void
hold_action (GtkGestureLongPress *gesture,
gdouble x,
gdouble y,
- GtkColorScale *scale)
+ GtkWidget *scale)
{
- gboolean handled;
+ gtk_color_editor_popup_menu (scale);
+}
- g_signal_emit_by_name (scale, "popup-menu", &handled);
+static gboolean
+popup_menu (GtkWidget *widget,
+ GVariant *args,
+ gpointer user_data)
+{
+ gtk_color_editor_popup_menu (widget);
+ return TRUE;
}
static void
@@ -280,6 +288,13 @@ gtk_color_scale_class_init (GtkColorScaleClass *class)
g_param_spec_int ("scale-type", P_("Scale type"), P_("Scale type"),
0, 1, 0,
GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
+ gtk_widget_class_add_binding (GTK_WIDGET_CLASS (class),
+ GDK_KEY_F10, GDK_SHIFT_MASK,
+ popup_menu, NULL);
+ gtk_widget_class_add_binding (GTK_WIDGET_CLASS (class),
+ GDK_KEY_Menu, 0,
+ popup_menu, NULL);
}
void
diff --git a/gtk/ui/gtkcoloreditor.ui b/gtk/ui/gtkcoloreditor.ui
index 4075102a5e..3d739428e7 100644
--- a/gtk/ui/gtkcoloreditor.ui
+++ b/gtk/ui/gtkcoloreditor.ui
@@ -88,7 +88,6 @@
<property name="adjustment">h_adj</property>
<property name="draw-value">False</property>
<property name="has-origin">False</property>
- <signal name="popup-menu" handler="popup_edit" swapped="no"/>
<layout>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
@@ -105,7 +104,6 @@
<style>
<class name="marks-before"/>
</style>
- <signal name="popup-menu" handler="popup_edit" swapped="no"/>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
@@ -121,7 +119,6 @@
<property name="h-adjustment">h_adj</property>
<property name="s-adjustment">s_adj</property>
<property name="v-adjustment">v_adj</property>
- <signal name="popup-menu" handler="popup_edit" swapped="no"/>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]