1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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,
|