diff options
Diffstat (limited to 'p__popovers__color-chooser.patch')
-rw-r--r-- | p__popovers__color-chooser.patch | 34 |
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, |