summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Camp <dave@ximian.com>2003-02-08 22:19:26 +0000
committerDave Camp <campd@src.gnome.org>2003-02-08 22:19:26 +0000
commit2f9700256ad95d573e8308ee1661bab49603a2bb (patch)
tree0c7b04498bbbb724273e70a44b1b73d9fa80b23a
parent911f045f1f8011b5f374e78b298952d059daca4c (diff)
downloadnautilus-2f9700256ad95d573e8308ee1661bab49603a2bb.tar.gz
Set the GdkScreen on the drag-and-drop context menu. Fixes #90920.
2003-02-08 Dave Camp <dave@ximian.com> * libnautilus-private/nautilus-dnd.c: (nautilus_drag_drop_action_ask), (nautilus_drag_drop_background_ask): * libnautilus-private/nautilus-dnd.h: * libnautilus-private/nautilus-icon-dnd.c: (get_background_drag_action), (nautilus_icon_container_receive_dropped_icons): * libnautilus-private/nautilus-tree-view-drag-dest.c: (receive_uris): * src/file-manager/fm-icon-view.c: (icon_view_handle_uri_list): * src/nautilus-information-panel.c: (receive_dropped_uri_list), (receive_dropped_color): Set the GdkScreen on the drag-and-drop context menu. Fixes #90920.
-rw-r--r--ChangeLog16
-rw-r--r--libnautilus-private/nautilus-dnd.c8
-rw-r--r--libnautilus-private/nautilus-dnd.h6
-rw-r--r--libnautilus-private/nautilus-icon-dnd.c6
-rw-r--r--libnautilus-private/nautilus-tree-view-drag-dest.c3
-rw-r--r--src/file-manager/fm-icon-view.c3
-rw-r--r--src/nautilus-information-panel.c4
7 files changed, 36 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 8e356bc82..5f90ccb71 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,21 @@
2003-02-08 Dave Camp <dave@ximian.com>
+ * libnautilus-private/nautilus-dnd.c:
+ (nautilus_drag_drop_action_ask),
+ (nautilus_drag_drop_background_ask):
+ * libnautilus-private/nautilus-dnd.h:
+ * libnautilus-private/nautilus-icon-dnd.c:
+ (get_background_drag_action),
+ (nautilus_icon_container_receive_dropped_icons):
+ * libnautilus-private/nautilus-tree-view-drag-dest.c:
+ (receive_uris):
+ * src/file-manager/fm-icon-view.c: (icon_view_handle_uri_list):
+ * src/nautilus-information-panel.c: (receive_dropped_uri_list),
+ (receive_dropped_color): Set the GdkScreen on the drag-and-drop
+ context menu. Fixes #90920.
+
+2003-02-08 Dave Camp <dave@ximian.com>
+
* libnautilus-private/nautilus-icon-factory.c:
(nautilus_remove_icon_file_name_suffix),
(path_represents_svg_image): Allow .svgz rendering in nautilus.
diff --git a/libnautilus-private/nautilus-dnd.c b/libnautilus-private/nautilus-dnd.c
index b3e25049d..49cf13dec 100644
--- a/libnautilus-private/nautilus-dnd.c
+++ b/libnautilus-private/nautilus-dnd.c
@@ -551,7 +551,8 @@ append_drop_action_menu_item (GtkWidget *menu,
/* Pops up a menu of actions to perform on dropped files */
GdkDragAction
-nautilus_drag_drop_action_ask (GdkDragAction actions)
+nautilus_drag_drop_action_ask (GtkWidget *widget,
+ GdkDragAction actions)
{
GtkWidget *menu;
GtkWidget *menu_item;
@@ -561,6 +562,7 @@ nautilus_drag_drop_action_ask (GdkDragAction actions)
* allowed actions.
*/
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,
@@ -614,7 +616,8 @@ nautilus_drag_drop_action_ask (GdkDragAction actions)
}
GdkDragAction
-nautilus_drag_drop_background_ask (GdkDragAction actions)
+nautilus_drag_drop_background_ask (GtkWidget *widget,
+ GdkDragAction actions)
{
GtkWidget *menu;
GtkWidget *menu_item;
@@ -624,6 +627,7 @@ nautilus_drag_drop_background_ask (GdkDragAction actions)
* allowed actions.
*/
menu = gtk_menu_new ();
+ gtk_menu_set_screen (GTK_MENU (menu), gtk_widget_get_screen (widget));
append_drop_action_menu_item (menu, _("Set as background for _all folders"),
NAUTILUS_DND_ACTION_SET_AS_GLOBAL_BACKGROUND,
diff --git a/libnautilus-private/nautilus-dnd.h b/libnautilus-private/nautilus-dnd.h
index 54f43a8bb..80048b611 100644
--- a/libnautilus-private/nautilus-dnd.h
+++ b/libnautilus-private/nautilus-dnd.h
@@ -128,8 +128,10 @@ gboolean nautilus_drag_drag_data_get (GtkWidg
int nautilus_drag_modifier_based_action (int default_action,
int non_default_action);
-GdkDragAction nautilus_drag_drop_action_ask (GdkDragAction possible_actions);
-GdkDragAction nautilus_drag_drop_background_ask (GdkDragAction possible_actions);
+GdkDragAction nautilus_drag_drop_action_ask (GtkWidget *widget,
+ GdkDragAction possible_actions);
+GdkDragAction nautilus_drag_drop_background_ask (GtkWidget *widget,
+ GdkDragAction possible_actions);
gboolean nautilus_drag_autoscroll_in_scroll_region (GtkWidget *widget);
void nautilus_drag_autoscroll_calculate_delta (GtkWidget *widget,
diff --git a/libnautilus-private/nautilus-icon-dnd.c b/libnautilus-private/nautilus-icon-dnd.c
index f91ca8706..d384ae063 100644
--- a/libnautilus-private/nautilus-icon-dnd.c
+++ b/libnautilus-private/nautilus-icon-dnd.c
@@ -535,7 +535,8 @@ get_background_drag_action (NautilusIconContainer *container,
valid_actions |= NAUTILUS_DND_ACTION_SET_AS_GLOBAL_BACKGROUND;
}
- action = nautilus_drag_drop_background_ask (valid_actions);
+ action = nautilus_drag_drop_background_ask
+ (GTK_WIDGET (container), valid_actions);
}
return action;
@@ -979,7 +980,8 @@ nautilus_icon_container_receive_dropped_icons (NautilusIconContainer *container,
action |= NAUTILUS_DND_ACTION_SET_AS_BACKGROUND;
}
}
- context->action = nautilus_drag_drop_action_ask (action);
+ context->action = nautilus_drag_drop_action_ask
+ (GTK_WIDGET (container), action);
}
if (context->action == NAUTILUS_DND_ACTION_SET_AS_BACKGROUND) {
diff --git a/libnautilus-private/nautilus-tree-view-drag-dest.c b/libnautilus-private/nautilus-tree-view-drag-dest.c
index 3645dadd7..ce243f9ea 100644
--- a/libnautilus-private/nautilus-tree-view-drag-dest.c
+++ b/libnautilus-private/nautilus-tree-view-drag-dest.c
@@ -441,7 +441,8 @@ receive_uris (NautilusTreeViewDragDest *dest,
} else {
action = GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK;
}
- context->action = nautilus_drag_drop_action_ask (action);
+ context->action = nautilus_drag_drop_action_ask
+ (GTK_WIDGET (dest->details->tree_view), action);
}
/* We only want to copy external uris */
diff --git a/src/file-manager/fm-icon-view.c b/src/file-manager/fm-icon-view.c
index aff9db26d..a292427d7 100644
--- a/src/file-manager/fm-icon-view.c
+++ b/src/file-manager/fm-icon-view.c
@@ -2309,7 +2309,8 @@ icon_view_handle_uri_list (NautilusIconContainer *container, const char *item_ur
if (action == GDK_ACTION_ASK) {
action = nautilus_drag_drop_action_ask
- (GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK);
+ (GTK_WIDGET (container),
+ GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK);
}
/* We don't support GDK_ACTION_ASK or GDK_ACTION_PRIVATE
diff --git a/src/nautilus-information-panel.c b/src/nautilus-information-panel.c
index 84007615b..ea5043d10 100644
--- a/src/nautilus-information-panel.c
+++ b/src/nautilus-information-panel.c
@@ -483,7 +483,7 @@ receive_dropped_uri_list (NautilusInformationPanel *information_panel,
*/
if (exactly_one && uri_is_local_image (uris[0])) {
if (action == GDK_ACTION_ASK) {
- action = nautilus_drag_drop_background_ask (NAUTILUS_DND_ACTION_SET_AS_BACKGROUND | NAUTILUS_DND_ACTION_SET_AS_GLOBAL_BACKGROUND);
+ action = nautilus_drag_drop_background_ask (GTK_WIDGET (information_panel), NAUTILUS_DND_ACTION_SET_AS_BACKGROUND | NAUTILUS_DND_ACTION_SET_AS_GLOBAL_BACKGROUND);
}
if (action > 0) {
@@ -567,7 +567,7 @@ receive_dropped_color (NautilusInformationPanel *information_panel,
case ICON_PART:
case BACKGROUND_PART:
if (action == GDK_ACTION_ASK) {
- action = nautilus_drag_drop_background_ask (NAUTILUS_DND_ACTION_SET_AS_BACKGROUND | NAUTILUS_DND_ACTION_SET_AS_GLOBAL_BACKGROUND);
+ action = nautilus_drag_drop_background_ask (GTK_WIDGET (information_panel), NAUTILUS_DND_ACTION_SET_AS_BACKGROUND | NAUTILUS_DND_ACTION_SET_AS_GLOBAL_BACKGROUND);
}
if (action > 0) {