diff options
author | Tomasz Gąsior | 2017-10-30 23:27:08 +0100 |
---|---|---|
committer | Tomasz Gąsior | 2017-10-30 23:27:08 +0100 |
commit | 5cf658e0f85d1dc22cd8558b9b43ed1ec4160a5c (patch) | |
tree | 078a71fecb8d36fba501d599419538d68c1d2aca /popovers__places-sidebar.patch | |
parent | 29c8a12c01326fef6b634d83fb3f02dfbaf2184b (diff) | |
download | aur-5cf658e0f85d1dc22cd8558b9b43ed1ec4160a5c.tar.gz |
GTK updated.
- Menu of GtkMenuButton is displayed as popover only if GTK_CSD env variable doesn't exists.
- Fixes for GNOME developers mistake added.
Diffstat (limited to 'popovers__places-sidebar.patch')
-rw-r--r-- | popovers__places-sidebar.patch | 116 |
1 files changed, 58 insertions, 58 deletions
diff --git a/popovers__places-sidebar.patch b/popovers__places-sidebar.patch index 7a956e1f46fa..e35074701572 100644 --- a/popovers__places-sidebar.patch +++ b/popovers__places-sidebar.patch @@ -1,7 +1,7 @@ -diff -U 5 -r -Z -B ./org/gtk/gtkplacessidebar.c ./mod/gtk/gtkplacessidebar.c ---- ./org/gtk/gtkplacessidebar.c 2017-07-19 04:55:39.000000000 +0200 -+++ ./mod/gtk/gtkplacessidebar.c 2017-07-30 18:32:50.010014344 +0200 -@@ -57,10 +57,11 @@ +diff --color -U 5 -r -Z -B ./org/gtk/gtkplacessidebar.c ./mod/gtk/gtkplacessidebar.c +--- ./org/gtk/gtkplacessidebar.c 2017-10-02 18:00:58.000000000 +0200 ++++ ./mod/gtk/gtkplacessidebar.c 2017-10-30 22:05:04.543785114 +0100 +@@ -61,10 +61,11 @@ #include "gtkseparator.h" #include "gtkentry.h" #include "gtkgesturelongpress.h" @@ -13,7 +13,7 @@ diff -U 5 -r -Z -B ./org/gtk/gtkplacessidebar.c ./mod/gtk/gtkplacessidebar.c * SECTION:gtkplacessidebar * @Short_description: Sidebar that displays frequently-used places in the file system * @Title: GtkPlacesSidebar -@@ -2142,36 +2143,36 @@ +@@ -2278,36 +2279,36 @@ gtk_widget_set_visible (data->rescan_item, show_rescan); gtk_widget_set_visible (data->start_item, show_start); gtk_widget_set_visible (data->stop_item, show_stop); @@ -60,116 +60,116 @@ diff -U 5 -r -Z -B ./org/gtk/gtkplacessidebar.c ./mod/gtk/gtkplacessidebar.c default: case G_DRIVE_START_STOP_TYPE_UNKNOWN: /* uses defaults set above */ -@@ -3335,10 +3336,17 @@ +@@ -3471,10 +3472,17 @@ static GtkWidget * append_separator (GtkWidget *box) { GtkWidget *separator; -+ if (GTK_IS_MENU(box)) -+ { -+ separator = gtk_separator_menu_item_new(); -+ gtk_widget_set_visible(GTK_WIDGET(separator), TRUE); -+ gtk_menu_shell_append(GTK_MENU_SHELL(box), separator); -+ return separator; -+ } ++ if (GTK_IS_MENU (box)) ++ { ++ separator = gtk_separator_menu_item_new(); ++ gtk_widget_set_visible(GTK_WIDGET(separator), TRUE); ++ gtk_menu_shell_append(GTK_MENU_SHELL(box), separator); ++ return separator; ++ } separator = g_object_new (GTK_TYPE_SEPARATOR, "orientation", GTK_ORIENTATION_HORIZONTAL, "visible", TRUE, "margin-top", 6, "margin-bottom", 6, -@@ -3353,10 +3361,18 @@ +@@ -3489,10 +3497,18 @@ const gchar *label, const gchar *action) { GtkWidget *item; -+ if (GTK_IS_MENU(box)) -+ { -+ item = gtk_image_menu_item_new_with_mnemonic(label); -+ g_object_set(G_OBJECT(item), "action-name", action, NULL); -+ gtk_widget_set_visible(GTK_WIDGET(item), TRUE); -+ gtk_menu_shell_append(GTK_MENU_SHELL(box), item); -+ return item; -+ } ++ if (GTK_IS_MENU (box)) ++ { ++ item = gtk_image_menu_item_new_with_mnemonic(label); ++ g_object_set(G_OBJECT(item), "action-name", action, NULL); ++ gtk_widget_set_visible(GTK_WIDGET(item), TRUE); ++ gtk_menu_shell_append(GTK_MENU_SHELL(box), item); ++ return item; ++ } item = g_object_new (GTK_TYPE_MODEL_BUTTON, "visible", TRUE, "action-name", action, "text", label, NULL); -@@ -3370,10 +3386,21 @@ +@@ -3506,10 +3522,21 @@ const gchar *label, GtkPlacesOpenFlags flags) { GtkWidget *item; -+ if (GTK_IS_MENU(box)) -+ { -+ item = gtk_image_menu_item_new_with_mnemonic(label); -+ g_object_set(G_OBJECT(item), -+ "action-name", flags == GTK_PLACES_OPEN_NORMAL ? "row.open" : "row.open-other", -+ "action-target", g_variant_new_int32 (flags), -+ NULL); -+ gtk_widget_set_visible(GTK_WIDGET(item), TRUE); -+ gtk_menu_shell_append(GTK_MENU_SHELL(box), item); -+ return item; -+ } ++ if (GTK_IS_MENU (box)) ++ { ++ item = gtk_image_menu_item_new_with_mnemonic (label); ++ g_object_set(G_OBJECT (item), ++ "action-name", flags == GTK_PLACES_OPEN_NORMAL ? "row.open" : "row.open-other", ++ "action-target", g_variant_new_int32 (flags), ++ NULL); ++ gtk_widget_set_visible (GTK_WIDGET (item), TRUE); ++ gtk_menu_shell_append (GTK_MENU_SHELL (box), item); ++ return item; ++ } item = g_object_new (GTK_TYPE_MODEL_BUTTON, "visible", TRUE, "action-name", flags == GTK_PLACES_OPEN_NORMAL ? "row.open" : "row.open-other", "action-target", g_variant_new_int32 (flags), "text", label, -@@ -3406,10 +3433,17 @@ +@@ -3600,10 +3627,17 @@ setup_popover_shadowing (sidebar->popover); box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); g_object_set (box, "margin", 10, NULL); gtk_widget_show (box); gtk_container_add (GTK_CONTAINER (sidebar->popover), box); + if (!sidebar->populate_all) -+ { -+ sidebar->popover = gtk_menu_new(); -+ g_signal_connect (sidebar->popover, "destroy", G_CALLBACK (on_row_popover_destroy), sidebar); -+ gtk_menu_attach_to_widget(GTK_MENU(sidebar->popover), GTK_WIDGET(sidebar), NULL); -+ box = sidebar->popover; -+ } ++ { ++ sidebar->popover = gtk_menu_new (); ++ g_signal_connect (sidebar->popover, "destroy", G_CALLBACK (on_row_popover_destroy), sidebar); ++ gtk_menu_attach_to_widget (GTK_MENU (sidebar->popover), GTK_WIDGET (sidebar), NULL); ++ box = sidebar->popover; ++ } add_open_button (box, _("_Open"), GTK_PLACES_OPEN_NORMAL); if (sidebar->open_flags & GTK_PLACES_OPEN_NEW_TAB) add_open_button (box, _("Open in New _Tab"), GTK_PLACES_OPEN_NEW_TAB); -@@ -3429,10 +3463,19 @@ +@@ -3623,10 +3657,19 @@ data.unmount_item = add_button (box, _("_Unmount"), "row.unmount"); data.eject_item = add_button (box, _("_Eject"), "row.eject"); data.rescan_item = add_button (box, _("_Detect Media"), "row.rescan"); data.start_item = add_button (box, _("_Start"), "row.start"); data.stop_item = add_button (box, _("_Stop"), "row.stop"); + if (!sidebar->populate_all) -+ { -+ g_object_set( -+ g_list_first(gtk_container_get_children(GTK_CONTAINER(box)))->data, -+ "image", gtk_image_new_from_icon_name("gtk-open",GTK_ICON_SIZE_MENU), NULL -+ ); -+ g_object_set(data.remove_item, "image", gtk_image_new_from_icon_name("gtk-remove",GTK_ICON_SIZE_MENU), NULL); -+ g_object_set(data.add_shortcut_item, "image", gtk_image_new_from_icon_name("gtk-add",GTK_ICON_SIZE_MENU), NULL); -+ } ++ { ++ g_object_set ( ++ g_list_first (gtk_container_get_children (GTK_CONTAINER (box)))->data, ++ "image", gtk_image_new_from_icon_name ("gtk-open", GTK_ICON_SIZE_MENU), NULL ++ ); ++ g_object_set (data.remove_item, "image", gtk_image_new_from_icon_name("gtk-remove",GTK_ICON_SIZE_MENU), NULL); ++ g_object_set (data.add_shortcut_item, "image", gtk_image_new_from_icon_name("gtk-add", GTK_ICON_SIZE_MENU), NULL); ++ } /* Update everything! */ check_popover_sensitivity (row, &data); if (sidebar->populate_all) -@@ -3472,10 +3515,17 @@ +@@ -3666,10 +3709,17 @@ if (sidebar->popover) gtk_widget_destroy (sidebar->popover); create_row_popover (sidebar, row); -+ if (GTK_IS_MENU(sidebar->popover)) -+ { -+ sidebar->context_row = row; -+ gtk_menu_popup_at_pointer(GTK_MENU(sidebar->popover), NULL); -+ g_object_unref (sidebar); -+ return; -+ } ++ if (GTK_IS_MENU (sidebar->popover)) ++ { ++ sidebar->context_row = row; ++ gtk_menu_popup_at_pointer (GTK_MENU (sidebar->popover), NULL); ++ g_object_unref (sidebar); ++ return; ++ } gtk_popover_set_relative_to (GTK_POPOVER (sidebar->popover), GTK_WIDGET (row)); |