summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-icon-dnd.c
diff options
context:
space:
mode:
authorDave Camp <dave@ximian.com>2002-07-25 20:59:17 +0000
committerDave Camp <campd@src.gnome.org>2002-07-25 20:59:17 +0000
commit8fed4ca3ef5611d56720fecaec5fdd7d3bf47174 (patch)
tree356a6a849934e3c0b5250f552e702082cdc67eda /libnautilus-private/nautilus-icon-dnd.c
parentc53f887dd2c5530c2b25d8e40dd1ff9d7fc7f419 (diff)
downloadnautilus-8fed4ca3ef5611d56720fecaec5fdd7d3bf47174.tar.gz
New functions. (create_tree): Create a NautilusTreeViewDragDest.
2002-07-25 Dave Camp <dave@ximian.com> * components/tree/nautilus-tree-view.c: (get_root_uri_callback), (get_file_for_path_callback), (move_copy_items_callback): New functions. (create_tree): Create a NautilusTreeViewDragDest. (nautilus_tree_view_dispose): Unref the DragDest object. (nautilus_tree_view_class_init): initialize dispose. * libnautilus-private/Makefile.am: Build nautilus-tree-view-drag-dest.[ch]. * libnautilus-tree-view-drag-dest.c: * libnautilus-tree-view-drag-dest.h: New files. * libnautilus-private/nautilus-dnd.c: (nautilus_drag_selection_includes_special_link): Moved here from nautilus-icon-dnd.c. * libnautilus-private/nautilus-dnd.h: Prototype for nautilus_drag_selection_includes_special_link. * libnautilus-private/nautilus-file.c: (nautilus_file_get_drop_target_uri): Moved here from fm-directory-view. * libnautilus-private/nautilus-file.h: * libnautilus-private/nautilus-icon-dnd.c: (nautilus_icon_container_receive_dropped_icons): Call nautilus_drag_selection_includes_special_link(). * libnautilus-private/nautilus-marshal.list: New marshallers. * src/file-manager/fm-icon-view.c: (get_icon_drop_target_uri_callback): Use nautilus_file_get_drop_target_uri(). * src/file-manager/fm-list-view.c: (get_root_uri_callback), (get_file_for_path_callback), (move_copy_items_callback): New functions. (create_and_set_up_tree_view): Create a NautilusViewDragDest object. (fm_list_view_dispose): Unref the DragDest object.
Diffstat (limited to 'libnautilus-private/nautilus-icon-dnd.c')
-rw-r--r--libnautilus-private/nautilus-icon-dnd.c30
1 files changed, 1 insertions, 29 deletions
diff --git a/libnautilus-private/nautilus-icon-dnd.c b/libnautilus-private/nautilus-icon-dnd.c
index ba80aee40..c876fa834 100644
--- a/libnautilus-private/nautilus-icon-dnd.c
+++ b/libnautilus-private/nautilus-icon-dnd.c
@@ -795,34 +795,6 @@ nautilus_icon_container_find_drop_target (NautilusIconContainer *container,
return nautilus_icon_container_get_icon_drop_target_uri (container, drop_target_icon);
}
-/* FIXME bugzilla.gnome.org 42485: This belongs in FMDirectoryView, not here. */
-static gboolean
-selection_includes_special_link (GList *selection_list)
-{
- GList *node;
- char *uri, *local_path;
- gboolean link_in_selection;
-
- link_in_selection = FALSE;
-
- for (node = selection_list; node != NULL; node = node->next) {
- uri = ((NautilusDragSelectionItem *) node->data)->uri;
-
- /* FIXME bugzilla.gnome.org 43020: This does sync. I/O and works only locally. */
- local_path = gnome_vfs_get_local_path_from_uri (uri);
- link_in_selection = local_path != NULL
- && (nautilus_link_local_is_trash_link (local_path) || nautilus_link_local_is_home_link (local_path) ||
- nautilus_link_local_is_volume_link (local_path));
- g_free (local_path);
-
- if (link_in_selection) {
- break;
- }
- }
-
- return link_in_selection;
-}
-
static gboolean
selection_is_image_file (GList *selection_list)
{
@@ -870,7 +842,7 @@ nautilus_icon_container_receive_dropped_icons (NautilusIconContainer *container,
if (context->action == GDK_ACTION_ASK) {
/* FIXME bugzilla.gnome.org 42485: This belongs in FMDirectoryView, not here. */
/* Check for special case items in selection list */
- if (selection_includes_special_link (container->details->dnd_info->drag_info.selection_list)) {
+ if (nautilus_drag_selection_includes_special_link (container->details->dnd_info->drag_info.selection_list)) {
/* We only want to move the trash */
action = GDK_ACTION_MOVE;
} else {