aboutsummarylogtreecommitdiffstats
path: root/p__popovers__color-chooser.patch
blob: 00da37d1caaef026cd102b932fce5c12145cba43 (plain)
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,