aboutsummarylogtreecommitdiffstats
path: root/p__popovers__color-chooser.patch
diff options
context:
space:
mode:
Diffstat (limited to 'p__popovers__color-chooser.patch')
-rw-r--r--p__popovers__color-chooser.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/p__popovers__color-chooser.patch b/p__popovers__color-chooser.patch
new file mode 100644
index 000000000000..00da37d1caae
--- /dev/null
+++ b/p__popovers__color-chooser.patch
@@ -0,0 +1,34 @@
+diff -U 10 -r -Z -B ./org/gtk/gtkcolorswatch.c ./mod/gtk/gtkcolorswatch.c
+--- ./org/gtk/gtkcolorswatch.c 2017-06-20 21:16:19.000000000 +0200
++++ ./mod/gtk/gtkcolorswatch.c 2017-07-09 23:49:43.733947294 +0200
+@@ -340,20 +340,30 @@
+
+ static void
+ emit_customize (GtkColorSwatch *swatch)
+ {
+ g_signal_emit (swatch, signals[CUSTOMIZE], 0);
+ }
+
+ static void
+ do_popup (GtkColorSwatch *swatch)
+ {
++ if (swatch->priv->popover == NULL) {
++ GtkWidget *item;
++ swatch->priv->popover = gtk_menu_new();
++ item = gtk_menu_item_new_with_mnemonic(_("C_ustomize"));
++ g_signal_connect_swapped (item, "activate", G_CALLBACK (emit_customize), swatch);
++ gtk_widget_set_visible(GTK_WIDGET(item), TRUE);
++ gtk_menu_shell_append(GTK_MENU_SHELL(swatch->priv->popover), item);
++ }
++ gtk_menu_popup_at_pointer(GTK_MENU(swatch->priv->popover), NULL);
++ return;
+ if (swatch->priv->popover == NULL)
+ {
+ GtkWidget *box;
+ GtkWidget *item;
+
+ swatch->priv->popover = gtk_popover_new (GTK_WIDGET (swatch));
+ box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ gtk_container_add (GTK_CONTAINER (swatch->priv->popover), box);
+ g_object_set (box, "margin", 10, NULL);
+ item = g_object_new (GTK_TYPE_MODEL_BUTTON,