[nautilus/wip/antoniof/gnome-42: 29/72] Revert "dnd: Stop using GtkMenu"
- From: António Fernandes <antoniof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/antoniof/gnome-42: 29/72] Revert "dnd: Stop using GtkMenu"
- Date: Fri, 11 Feb 2022 19:28:00 +0000 (UTC)
commit 2d8478a8a7c55dd6b4521ef723d4a2296d076eb7
Author: António Fernandes <antoniof gnome org>
Date: Fri Feb 11 19:01:43 2022 +0000
Revert "dnd: Stop using GtkMenu"
This reverts commit 641d29adb1bd53c040d5674bcbd679d00a47b4b4.
src/nautilus-dnd.c | 49 ++++++++++++++++---------------------------------
1 file changed, 16 insertions(+), 33 deletions(-)
---
diff --git a/src/nautilus-dnd.c b/src/nautilus-dnd.c
index 73f20e9a7..9b7b05607 100644
--- a/src/nautilus-dnd.c
+++ b/src/nautilus-dnd.c
@@ -27,7 +27,6 @@
#include "nautilus-dnd.h"
#include "nautilus-program-choosing.h"
-#include "nautilus-gtk4-helpers.h"
#include <eel/eel-glib-extensions.h>
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-string.h>
@@ -760,17 +759,15 @@ append_drop_action_menu_item (GtkWidget *menu,
{
GtkWidget *menu_item;
- menu_item = gtk_button_new_with_mnemonic (text);
+ menu_item = gtk_menu_item_new_with_mnemonic (text);
gtk_widget_set_sensitive (menu_item, sensitive);
- gtk_box_append (GTK_BOX (menu), menu_item);
-
- gtk_style_context_add_class (gtk_widget_get_style_context (menu_item), "flat");
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
g_object_set_data (G_OBJECT (menu_item),
"action",
GINT_TO_POINTER (action));
- g_signal_connect (menu_item, "clicked",
+ g_signal_connect (menu_item, "activate",
G_CALLBACK (drop_action_activated_callback),
damd);
@@ -782,7 +779,6 @@ GdkDragAction
nautilus_drag_drop_action_ask (GtkWidget *widget,
GdkDragAction actions)
{
- GtkWidget *popover;
GtkWidget *menu;
GtkWidget *menu_item;
DropActionMenuData damd;
@@ -790,16 +786,8 @@ nautilus_drag_drop_action_ask (GtkWidget *widget,
/* Create the menu and set the sensitivity of the items based on the
* allowed actions.
*/
- popover = gtk_popover_new (widget);
- gtk_popover_set_position (GTK_POPOVER (popover), GTK_POS_TOP);
-
- menu = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- gtk_widget_set_margin_top (menu, 6);
- gtk_widget_set_margin_bottom (menu, 6);
- gtk_widget_set_margin_start (menu, 6);
- gtk_widget_set_margin_end (menu, 6);
- gtk_popover_set_child (GTK_POPOVER (popover), menu);
- gtk_widget_show (menu);
+ menu = gtk_menu_new ();
+ gtk_menu_set_screen (GTK_MENU (menu), gtk_widget_get_screen (widget));
append_drop_action_menu_item (menu, _("_Move Here"),
GDK_ACTION_MOVE,
@@ -816,37 +804,32 @@ nautilus_drag_drop_action_ask (GtkWidget *widget,
(actions & GDK_ACTION_LINK) != 0,
&damd);
- menu_item = gtk_separator_new (GTK_ORIENTATION_VERTICAL);
- gtk_box_append (GTK_BOX (menu), menu_item);
- gtk_widget_show (menu_item);
+ eel_gtk_menu_append_separator (GTK_MENU (menu));
- append_drop_action_menu_item (menu, _("Cancel"), 0, TRUE, &damd);
+ menu_item = gtk_menu_item_new_with_mnemonic (_("Cancel"));
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
+ gtk_widget_show (menu_item);
damd.chosen = 0;
damd.loop = g_main_loop_new (NULL, FALSE);
- g_signal_connect (popover, "closed",
+ g_signal_connect (menu, "deactivate",
G_CALLBACK (menu_deactivate_callback),
&damd);
- gtk_grab_add (popover);
-
- /* We don't have pointer coords here. Just pick the center of the widget. */
- gtk_popover_set_pointing_to (GTK_POPOVER (popover),
- &(GdkRectangle){ .x = 0.5 * gtk_widget_get_allocated_width (widget),
- .y = 0.5 * gtk_widget_get_allocated_height (widget),
- .width = 0, .height = 0 });
+ gtk_grab_add (menu);
- gtk_popover_popup (GTK_POPOVER (popover));
+ gtk_menu_popup_at_pointer (GTK_MENU (menu),
+ NULL);
g_main_loop_run (damd.loop);
- gtk_grab_remove (popover);
+ gtk_grab_remove (menu);
g_main_loop_unref (damd.loop);
- g_object_ref_sink (popover);
- g_object_unref (popover);
+ g_object_ref_sink (menu);
+ g_object_unref (menu);
return damd.chosen;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]