summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Camp <dave@ximian.com>2003-07-21 00:01:06 +0000
committerDave Camp <campd@src.gnome.org>2003-07-21 00:01:06 +0000
commit6ae9d542f81718d0658a60bf5cbd77b7f339dbfe (patch)
tree6970b33e598899b531275f6f268d3a3cf5280ad1
parent013f45daceac34c00a959dfc64804d28b84eb84a (diff)
downloadnautilus-6ae9d542f81718d0658a60bf5cbd77b7f339dbfe.tar.gz
Pass the screen number when creating nautilus links, fixes #117946
2003-07-20 Dave Camp <dave@ximian.com> * libnautilus-private/nautilus-link-desktop-file.c: (nautilus_link_desktop_file_local_create), (nautilus_link_desktop_file_local_create_from_gnome_entry): * libnautilus-private/nautilus-link-desktop-file.h: * libnautilus-private/nautilus-link.c: (nautilus_link_local_create), (nautilus_link_local_create_from_gnome_entry): * libnautilus-private/nautilus-link.h: * src/file-manager/fm-icon-view.c: (icon_view_handle_uri_list): Pass the screen number when creating nautilus links, fixes #117946
-rw-r--r--ChangeLog14
-rw-r--r--libnautilus-private/nautilus-link-desktop-file.c7
-rw-r--r--libnautilus-private/nautilus-link-desktop-file.h4
-rw-r--r--libnautilus-private/nautilus-link.c9
-rw-r--r--libnautilus-private/nautilus-link.h4
-rw-r--r--src/file-manager/fm-icon-view.c10
6 files changed, 39 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 9ae8111f9..358d5b25f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2003-07-20 Dave Camp <dave@ximian.com>
+
+ * libnautilus-private/nautilus-link-desktop-file.c:
+ (nautilus_link_desktop_file_local_create),
+ (nautilus_link_desktop_file_local_create_from_gnome_entry):
+ * libnautilus-private/nautilus-link-desktop-file.h:
+ * libnautilus-private/nautilus-link.c:
+ (nautilus_link_local_create),
+ (nautilus_link_local_create_from_gnome_entry):
+ * libnautilus-private/nautilus-link.h:
+ * src/file-manager/fm-icon-view.c: (icon_view_handle_uri_list):
+ Pass the screen number when creating nautilus links, fixes
+ #117946
+
2003-07-19 Dennis Cranston <dennis_cranston at yahoo com>
* icons/Makefile.am: Added window icon for the File Management
diff --git a/libnautilus-private/nautilus-link-desktop-file.c b/libnautilus-private/nautilus-link-desktop-file.c
index 02c323ca6..1f4be8dfc 100644
--- a/libnautilus-private/nautilus-link-desktop-file.c
+++ b/libnautilus-private/nautilus-link-desktop-file.c
@@ -101,6 +101,7 @@ nautilus_link_desktop_file_local_create (const char *directory_uri,
const char *image,
const char *target_uri,
const GdkPoint *point,
+ int screen,
NautilusLinkType type)
{
char *uri, *contents, *escaped_name;
@@ -157,7 +158,7 @@ nautilus_link_desktop_file_local_create (const char *directory_uri,
item.set = TRUE;
item.point.x = point->x;
item.point.y = point->y;
-
+ item.screen = screen;
dummy_list.data = &item;
dummy_list.next = NULL;
dummy_list.prev = NULL;
@@ -426,7 +427,8 @@ nautilus_link_desktop_file_get_link_icon_given_file_contents (const char *uri,
void
nautilus_link_desktop_file_local_create_from_gnome_entry (GnomeDesktopItem *entry,
const char *dest_uri,
- const GdkPoint *position)
+ const GdkPoint *position,
+ int screen)
{
GList dummy_list;
NautilusFileChangesQueuePosition item;
@@ -451,6 +453,7 @@ nautilus_link_desktop_file_local_create_from_gnome_entry (GnomeDesktopItem *ent
item.set = TRUE;
item.point.x = position->x;
item.point.y = position->y;
+ item.screen = screen;
dummy_list.data = &item;
dummy_list.next = NULL;
diff --git a/libnautilus-private/nautilus-link-desktop-file.h b/libnautilus-private/nautilus-link-desktop-file.h
index b5ea7e0c7..25c9e9164 100644
--- a/libnautilus-private/nautilus-link-desktop-file.h
+++ b/libnautilus-private/nautilus-link-desktop-file.h
@@ -32,6 +32,7 @@ gboolean nautilus_link_desktop_file_local_create (c
const char *image,
const char *target_uri,
const GdkPoint *point,
+ int screen,
NautilusLinkType type);
gboolean nautilus_link_desktop_file_local_set_icon (const char *uri,
const char *icon_name);
@@ -53,6 +54,7 @@ char * nautilus_link_desktop_file_get_link_icon_given_file_contents (c
int link_file_size);
void nautilus_link_desktop_file_local_create_from_gnome_entry (GnomeDesktopItem *entry,
const char *dest_uri,
- const GdkPoint *position);
+ const GdkPoint *position,
+ int screen);
#endif /* NAUTILUS_LINK_DESKTOP_FILE_H */
diff --git a/libnautilus-private/nautilus-link.c b/libnautilus-private/nautilus-link.c
index c08a79861..251575d6b 100644
--- a/libnautilus-private/nautilus-link.c
+++ b/libnautilus-private/nautilus-link.c
@@ -112,11 +112,13 @@ nautilus_link_local_create (const char *directory_uri,
const char *image,
const char *target_uri,
const GdkPoint *point,
+ int screen,
NautilusLinkType type)
{
return nautilus_link_desktop_file_local_create (directory_uri,
name, image,
- target_uri, point,
+ target_uri,
+ point, screen,
type);
}
@@ -324,7 +326,8 @@ nautilus_link_local_is_special_link (const char *uri)
void
nautilus_link_local_create_from_gnome_entry (GnomeDesktopItem *item,
const char *dest_uri,
- const GdkPoint *position)
+ const GdkPoint *position,
+ int screen)
{
- nautilus_link_desktop_file_local_create_from_gnome_entry (item, dest_uri, position);
+ nautilus_link_desktop_file_local_create_from_gnome_entry (item, dest_uri, position, screen);
}
diff --git a/libnautilus-private/nautilus-link.h b/libnautilus-private/nautilus-link.h
index b5eda7354..e185fc8a9 100644
--- a/libnautilus-private/nautilus-link.h
+++ b/libnautilus-private/nautilus-link.h
@@ -46,6 +46,7 @@ gboolean nautilus_link_local_create (const char
const char *image,
const char *target_uri,
const GdkPoint *point,
+ int screen,
NautilusLinkType type);
/* Change the icon of an existing link file. Takes a path, works
@@ -131,6 +132,7 @@ char * nautilus_link_get_link_icon_given_file_contents (const char
int link_file_size);
void nautilus_link_local_create_from_gnome_entry (GnomeDesktopItem *item,
const char *dest_uri,
- const GdkPoint *position);
+ const GdkPoint *position,
+ int screen);
#endif /* NAUTILUS_LINK_H */
diff --git a/src/file-manager/fm-icon-view.c b/src/file-manager/fm-icon-view.c
index d0ff96e29..1f53f05da 100644
--- a/src/file-manager/fm-icon-view.c
+++ b/src/file-manager/fm-icon-view.c
@@ -2511,6 +2511,8 @@ icon_view_handle_uri_list (NautilusIconContainer *container, const char *item_ur
int n_uris;
gboolean all_local;
GArray *points;
+ GdkScreen *screen;
+ int screen_num;
if (item_uris == NULL) {
return;
@@ -2549,6 +2551,9 @@ icon_view_handle_uri_list (NautilusIconContainer *container, const char *item_ur
point.x = x;
point.y = y;
+
+ screen = gtk_widget_get_screen (GTK_WIDGET (view));
+ screen_num = gdk_screen_get_number (screen);
/* Most of what comes in here is not really URIs, but rather paths that
* have a file: prefix in them. We try to sanitize the uri list as a
@@ -2618,7 +2623,7 @@ icon_view_handle_uri_list (NautilusIconContainer *container, const char *item_ur
if (entry != NULL) {
/* FIXME: Handle name conflicts? */
- nautilus_link_local_create_from_gnome_entry (entry, container_uri, &point);
+ nautilus_link_local_create_from_gnome_entry (entry, container_uri, &point, screen_num);
gnome_desktop_item_unref (entry);
continue;
@@ -2638,7 +2643,8 @@ icon_view_handle_uri_list (NautilusIconContainer *container, const char *item_ur
/* FIXME: Handle name conflicts? */
nautilus_link_local_create (container_uri, link_name,
NULL, uri,
- &point, NAUTILUS_LINK_GENERIC);
+ &point, screen_num,
+ NAUTILUS_LINK_GENERIC);
}
g_free (stripped_uri);