diff options
author | Alexander Larsson <alexl@redhat.com> | 2008-01-15 15:50:17 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2008-01-15 15:50:17 +0000 |
commit | e2b876acaec08ba75ff5d88f4f795a8b0284e141 (patch) | |
tree | 9ec00a48be2e48d5fcc0e4cf263c3b0966d2fa6a /libnautilus-private/nautilus-dnd.c | |
parent | d0ae165fe15c076c786a95188e1ed2b44783fcdd (diff) | |
download | nautilus-e2b876acaec08ba75ff5d88f4f795a8b0284e141.tar.gz |
Add nautilus_drag_uris_local
2008-01-15 Alexander Larsson <alexl@redhat.com>
* libnautilus-private/nautilus-dnd.[ch]:
Add nautilus_drag_uris_local
* libnautilus-private/nautilus-tree-view-drag-dest.c:
Don't copy/move files if you dnd within the same
location (#508216)
svn path=/trunk/; revision=13610
Diffstat (limited to 'libnautilus-private/nautilus-dnd.c')
-rw-r--r-- | libnautilus-private/nautilus-dnd.c | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/libnautilus-private/nautilus-dnd.c b/libnautilus-private/nautilus-dnd.c index c1a4d4640..e4a24769b 100644 --- a/libnautilus-private/nautilus-dnd.c +++ b/libnautilus-private/nautilus-dnd.c @@ -202,9 +202,9 @@ nautilus_drag_build_selection_list (GtkSelectionData *data) return result; } - -gboolean -nautilus_drag_items_local (const char *target_uri_string, const GList *selection_list) +static gboolean +nautilus_drag_file_local_internal (const char *target_uri_string, + const char *first_source_uri) { /* check if the first item on the list has target_uri_string as a parent * FIXME: @@ -214,15 +214,12 @@ nautilus_drag_items_local (const char *target_uri_string, const GList *selection GFile *target, *item, *parent; gboolean result; - /* must have at least one item */ - g_assert (selection_list); - result = FALSE; target = g_file_new_for_uri (target_uri_string); /* get the parent URI of the first item in the selection */ - item = g_file_new_for_uri (((NautilusDragSelectionItem *)selection_list->data)->uri); + item = g_file_new_for_uri (first_source_uri); parent = g_file_get_parent (item); g_object_unref (item); @@ -232,6 +229,27 @@ nautilus_drag_items_local (const char *target_uri_string, const GList *selection } return result; +} + +gboolean +nautilus_drag_uris_local (const char *target_uri, + const GList *source_uri_list) +{ + /* must have at least one item */ + g_assert (source_uri_list); + + return nautilus_drag_file_local_internal (target_uri, source_uri_list->data); +} + +gboolean +nautilus_drag_items_local (const char *target_uri_string, + const GList *selection_list) +{ + /* must have at least one item */ + g_assert (selection_list); + + return nautilus_drag_file_local_internal (target_uri_string, + ((NautilusDragSelectionItem *)selection_list->data)->uri); } gboolean |