nautilus/libnautilus-private/nautilus-file-dnd.h

45 lines
1.7 KiB
C
Raw Normal View History

Remove nautilusclist cut-n-paste code. * configure.in: Remove nautilusclist cut-n-paste code. * cut-n-paste-code/widgets/Makefile.am: * cut-n-paste-code/widgets/nautilusclist/.cvsignore: * cut-n-paste-code/widgets/nautilusclist/Makefile.am: * cut-n-paste-code/widgets/nautilusclist/nautilusclist.c: * cut-n-paste-code/widgets/nautilusclist/nautilusclist.h: Remove nautilusclist cut-n-paste code. * libnautilus-extensions/nautilus-file-dnd.h: * libnautilus-extensions/nautilus-file-dnd.c: New file with Drag and Drop code that operated on NautilusFile objects. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-list-column-title.c: * libnautilus-extensions/nautilus-list-column-title.h: * libnautilus-extensions/nautilus-list.c: * libnautilus-extensions/nautilus-list.h: * libnautilus-extensions/nautilus-ctree.c: * libnautilus-extensions/nautilus-ctree.h: * libnautilus-extensions/nautilus-drag.c: * libnautilus-extensions/nautilus-drag.h: Move these widget into eel. * libnautilus-extensions/nautilus-icon-dnd.h: * libnautilus-extensions/nautilus-icon-dnd.c: Update for eel dnd code move. * nautilus-installer/install-lib/Makefile.am: * nautilus-installer/libtrilobite/Makefile.am: Remove some voodoo that was needed for cut-n-paste code in trilobite that no longer is among us. * components/help/hyperbola-nav-tree.c: * components/music/nautilus-music-view.c: * components/rpmview/nautilus-rpm-verify-window.c: * components/rpmview/nautilus-rpm-view-private.h: * components/rpmview/nautilus-rpm-view.c: * components/tree/nautilus-tree-view-dnd.c: * components/tree/nautilus-tree-view-dnd.h: * components/tree/nautilus-tree-view-private.h: * components/tree/nautilus-tree-view.c: * src/file-manager/fm-directory-view.c: * src/file-manager/fm-list-view.c: (fm_list_view_initialize), * src/nautilus-sidebar.c: Update for clist, ctree, list and dnd code that now lives in eel. Also do more #include cleanup.
2001-04-04 15:51:58 +00:00
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* nautilus-file-drag.h - Drag & drop handling code that operated on
NautilusFile objects.
Copyright (C) 2000 Eazel, Inc.
The Gnome Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The Gnome Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the Gnome Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
Authors: Pavel Cisler <pavel@eazel.com>,
*/
#ifndef NAUTILUS_FILE_DND_H
#define NAUTILUS_FILE_DND_H
Add functions nautilus_drag_can_accept_files and 2006-07-11 Martin Wehner <martin.wehner@gmail.com> * libnautilus-private/nautilus-file-dnd.[ch]: Add functions nautilus_drag_can_accept_files and nautilus_drag_can_accept_info. * libnautilus-private/nautilus-icon-dnd.c: (receive_dropped_url), (receive_dropped_uri_list), (receive_dropped_text), (drag_data_received_callback): Accept the entire drag context as parameter and use nautilus_icon_container_find_drop_target. (nautilus_icon_container_find_drop_target): (nautilus_icon_dnd_update_drop_target): Use nautilus_drag_can_accept_info. * libnautilus-private/nautilus-marshal.list: Add new signature. * libnautilus-private/nautilus-tree-view-drag-dest.c: Add function get_drop_target_uri_at_pos and use it in the drop handlers to determine the target uris for actions. Rename get_drop_target to get_drop_target_uri_for path. (nautilus_tree_view_drag_dest_class_init): Adapt to new drag handler signatures. (set_widget_highlight): Fix DND highlighting of an empty tree view. (drag_motion_callback): Ignore drags on the header. * libnautilus-private/nautilus-tree-view-drag-dest.[ch]: * libnautilus-private/nautilus-icon-container.[ch]: * src/file-manager/fm-icon-view.c: * src/file-manager/fm-list-view.c: Add a target/parent uri parameter to the drop handler functions. * src/file-manager/fm-directory-view.[ch]: Add handling for the additional target parameter to support drops of URIs, URLs and text to subfolders. Patch from Christian Neumair <chris@gnome-de.org>
2006-07-11 00:57:47 +00:00
#include <libnautilus-private/nautilus-dnd.h>
#include <libnautilus-private/nautilus-file.h>
Remove nautilusclist cut-n-paste code. * configure.in: Remove nautilusclist cut-n-paste code. * cut-n-paste-code/widgets/Makefile.am: * cut-n-paste-code/widgets/nautilusclist/.cvsignore: * cut-n-paste-code/widgets/nautilusclist/Makefile.am: * cut-n-paste-code/widgets/nautilusclist/nautilusclist.c: * cut-n-paste-code/widgets/nautilusclist/nautilusclist.h: Remove nautilusclist cut-n-paste code. * libnautilus-extensions/nautilus-file-dnd.h: * libnautilus-extensions/nautilus-file-dnd.c: New file with Drag and Drop code that operated on NautilusFile objects. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-list-column-title.c: * libnautilus-extensions/nautilus-list-column-title.h: * libnautilus-extensions/nautilus-list.c: * libnautilus-extensions/nautilus-list.h: * libnautilus-extensions/nautilus-ctree.c: * libnautilus-extensions/nautilus-ctree.h: * libnautilus-extensions/nautilus-drag.c: * libnautilus-extensions/nautilus-drag.h: Move these widget into eel. * libnautilus-extensions/nautilus-icon-dnd.h: * libnautilus-extensions/nautilus-icon-dnd.c: Update for eel dnd code move. * nautilus-installer/install-lib/Makefile.am: * nautilus-installer/libtrilobite/Makefile.am: Remove some voodoo that was needed for cut-n-paste code in trilobite that no longer is among us. * components/help/hyperbola-nav-tree.c: * components/music/nautilus-music-view.c: * components/rpmview/nautilus-rpm-verify-window.c: * components/rpmview/nautilus-rpm-view-private.h: * components/rpmview/nautilus-rpm-view.c: * components/tree/nautilus-tree-view-dnd.c: * components/tree/nautilus-tree-view-dnd.h: * components/tree/nautilus-tree-view-private.h: * components/tree/nautilus-tree-view.c: * src/file-manager/fm-directory-view.c: * src/file-manager/fm-list-view.c: (fm_list_view_initialize), * src/nautilus-sidebar.c: Update for clist, ctree, list and dnd code that now lives in eel. Also do more #include cleanup.
2001-04-04 15:51:58 +00:00
Remove depenency on Nautilus themes and thus libnautilus-extensions. * components/rpmview/Makefile.am: * components/rpmview/nautilus-rpm-view.c: (nautilus_rpm_view_initialize), (nautilus_rpm_view_update_from_uri), (nautilus_rpm_view_drag_data_received), (pixbuf_new_named), (image_new_named): Remove depenency on Nautilus themes and thus libnautilus-extensions. * components/services/install-view/Makefile.am: * components/services/install-view/callbacks.c: (nautilus_service_install_done): * components/services/install-view/nautilus-service-install-view.c: (nautilus_service_install_view_initialize_class): * components/services/inventory-view/Makefile.am: * components/services/login/nautilus-view/Makefile.am: * components/services/nautilus-dependent-shared/Makefile.am: * components/services/nautilus-dependent-shared/eazel-services-extensions.c: (eazel_services_pixbuf_new), (eazel_services_image_new), (eazel_services_image_new_clickable), (eazel_services_image_new_from_uri), (eazel_services_clickable_image_new_from_uri), (eazel_services_label_new), (eazel_services_label_new_clickable), (eazel_services_get_current_date_string), (eazel_services_gconf_handle_error), (preferences_unref_global_gconf_client), (preferences_get_global_gconf_client), (preferences_gconf_get_boolean), (preferences_gconf_get_string), (smooth_graphics_changed_notice), (listen_for_smooth_graphics_changes), (eazel_services_get_user_level): * components/services/nautilus-dependent-shared/eazel-services-extensions.h: * components/services/summary/Makefile.am: * components/services/summary/nautilus-summary-menu-items.c: (ui_component_set_hidden), (update_menu_items): * components/services/summary/nautilus-summary-view.c: (nautilus_summary_view_initialize_class): Remove dependency on libnautilus-extensions. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-tabs.h: * libnautilus-extensions/nautilus-tabs.c: * components/services/summary/nautilus-tabs.h: * components/services/summary/nautilus-tabs.c: Move the nautilus tabs widget to the only place where its used - the summary view. * libnautilus-extensions/nautilus-file-utilities.c: Trim down the includes to only whats needed. * libnautilus-extensions/nautilus-file-dnd.h: * libnautilus-extensions/nautilus-file-dnd.c: Make the ERASE_KEYWORD be part only of nautilus-file-dnd.h as NAUTILUS_FILE_DND_ERASE_KEYWORD to make it clear where it lives. * components/tree/nautilus-tree-view-dnd.c: (nautilus_tree_view_move_copy_files): (nautilus_drag_can_accept_items), (nautilus_drag_file_receive_dropped_keyword): * libnautilus-extensions/nautilus-icon-dnd.c: (create_selection_shadow), (handle_local_move), (handle_nonlocal_move), (selection_includes_special_link): * src/file-manager/fm-list-view.c: (fm_list_receive_dropped_icons): Update for eel dnd changes. Make sure all public eel dnd stuff has the right namespace.
2001-04-05 14:27:38 +00:00
#define NAUTILUS_FILE_DND_ERASE_KEYWORD "erase"
Remove nautilusclist cut-n-paste code. * configure.in: Remove nautilusclist cut-n-paste code. * cut-n-paste-code/widgets/Makefile.am: * cut-n-paste-code/widgets/nautilusclist/.cvsignore: * cut-n-paste-code/widgets/nautilusclist/Makefile.am: * cut-n-paste-code/widgets/nautilusclist/nautilusclist.c: * cut-n-paste-code/widgets/nautilusclist/nautilusclist.h: Remove nautilusclist cut-n-paste code. * libnautilus-extensions/nautilus-file-dnd.h: * libnautilus-extensions/nautilus-file-dnd.c: New file with Drag and Drop code that operated on NautilusFile objects. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-list-column-title.c: * libnautilus-extensions/nautilus-list-column-title.h: * libnautilus-extensions/nautilus-list.c: * libnautilus-extensions/nautilus-list.h: * libnautilus-extensions/nautilus-ctree.c: * libnautilus-extensions/nautilus-ctree.h: * libnautilus-extensions/nautilus-drag.c: * libnautilus-extensions/nautilus-drag.h: Move these widget into eel. * libnautilus-extensions/nautilus-icon-dnd.h: * libnautilus-extensions/nautilus-icon-dnd.c: Update for eel dnd code move. * nautilus-installer/install-lib/Makefile.am: * nautilus-installer/libtrilobite/Makefile.am: Remove some voodoo that was needed for cut-n-paste code in trilobite that no longer is among us. * components/help/hyperbola-nav-tree.c: * components/music/nautilus-music-view.c: * components/rpmview/nautilus-rpm-verify-window.c: * components/rpmview/nautilus-rpm-view-private.h: * components/rpmview/nautilus-rpm-view.c: * components/tree/nautilus-tree-view-dnd.c: * components/tree/nautilus-tree-view-dnd.h: * components/tree/nautilus-tree-view-private.h: * components/tree/nautilus-tree-view.c: * src/file-manager/fm-directory-view.c: * src/file-manager/fm-list-view.c: (fm_list_view_initialize), * src/nautilus-sidebar.c: Update for clist, ctree, list and dnd code that now lives in eel. Also do more #include cleanup.
2001-04-04 15:51:58 +00:00
gboolean nautilus_drag_can_accept_item (NautilusFile *drop_target_item,
const char *item_uri);
gboolean nautilus_drag_can_accept_items (NautilusFile *drop_target_item,
const GList *items);
Add functions nautilus_drag_can_accept_files and 2006-07-11 Martin Wehner <martin.wehner@gmail.com> * libnautilus-private/nautilus-file-dnd.[ch]: Add functions nautilus_drag_can_accept_files and nautilus_drag_can_accept_info. * libnautilus-private/nautilus-icon-dnd.c: (receive_dropped_url), (receive_dropped_uri_list), (receive_dropped_text), (drag_data_received_callback): Accept the entire drag context as parameter and use nautilus_icon_container_find_drop_target. (nautilus_icon_container_find_drop_target): (nautilus_icon_dnd_update_drop_target): Use nautilus_drag_can_accept_info. * libnautilus-private/nautilus-marshal.list: Add new signature. * libnautilus-private/nautilus-tree-view-drag-dest.c: Add function get_drop_target_uri_at_pos and use it in the drop handlers to determine the target uris for actions. Rename get_drop_target to get_drop_target_uri_for path. (nautilus_tree_view_drag_dest_class_init): Adapt to new drag handler signatures. (set_widget_highlight): Fix DND highlighting of an empty tree view. (drag_motion_callback): Ignore drags on the header. * libnautilus-private/nautilus-tree-view-drag-dest.[ch]: * libnautilus-private/nautilus-icon-container.[ch]: * src/file-manager/fm-icon-view.c: * src/file-manager/fm-list-view.c: Add a target/parent uri parameter to the drop handler functions. * src/file-manager/fm-directory-view.[ch]: Add handling for the additional target parameter to support drops of URIs, URLs and text to subfolders. Patch from Christian Neumair <chris@gnome-de.org>
2006-07-11 00:57:47 +00:00
gboolean nautilus_drag_can_accept_info (NautilusFile *drop_target_item,
NautilusIconDndTargetType drag_type,
const GList *items);
Remove nautilusclist cut-n-paste code. * configure.in: Remove nautilusclist cut-n-paste code. * cut-n-paste-code/widgets/Makefile.am: * cut-n-paste-code/widgets/nautilusclist/.cvsignore: * cut-n-paste-code/widgets/nautilusclist/Makefile.am: * cut-n-paste-code/widgets/nautilusclist/nautilusclist.c: * cut-n-paste-code/widgets/nautilusclist/nautilusclist.h: Remove nautilusclist cut-n-paste code. * libnautilus-extensions/nautilus-file-dnd.h: * libnautilus-extensions/nautilus-file-dnd.c: New file with Drag and Drop code that operated on NautilusFile objects. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-list-column-title.c: * libnautilus-extensions/nautilus-list-column-title.h: * libnautilus-extensions/nautilus-list.c: * libnautilus-extensions/nautilus-list.h: * libnautilus-extensions/nautilus-ctree.c: * libnautilus-extensions/nautilus-ctree.h: * libnautilus-extensions/nautilus-drag.c: * libnautilus-extensions/nautilus-drag.h: Move these widget into eel. * libnautilus-extensions/nautilus-icon-dnd.h: * libnautilus-extensions/nautilus-icon-dnd.c: Update for eel dnd code move. * nautilus-installer/install-lib/Makefile.am: * nautilus-installer/libtrilobite/Makefile.am: Remove some voodoo that was needed for cut-n-paste code in trilobite that no longer is among us. * components/help/hyperbola-nav-tree.c: * components/music/nautilus-music-view.c: * components/rpmview/nautilus-rpm-verify-window.c: * components/rpmview/nautilus-rpm-view-private.h: * components/rpmview/nautilus-rpm-view.c: * components/tree/nautilus-tree-view-dnd.c: * components/tree/nautilus-tree-view-dnd.h: * components/tree/nautilus-tree-view-private.h: * components/tree/nautilus-tree-view.c: * src/file-manager/fm-directory-view.c: * src/file-manager/fm-list-view.c: (fm_list_view_initialize), * src/nautilus-sidebar.c: Update for clist, ctree, list and dnd code that now lives in eel. Also do more #include cleanup.
2001-04-04 15:51:58 +00:00
void nautilus_drag_file_receive_dropped_keyword (NautilusFile *file,
const char *keyword);
Remove nautilusclist cut-n-paste code. * configure.in: Remove nautilusclist cut-n-paste code. * cut-n-paste-code/widgets/Makefile.am: * cut-n-paste-code/widgets/nautilusclist/.cvsignore: * cut-n-paste-code/widgets/nautilusclist/Makefile.am: * cut-n-paste-code/widgets/nautilusclist/nautilusclist.c: * cut-n-paste-code/widgets/nautilusclist/nautilusclist.h: Remove nautilusclist cut-n-paste code. * libnautilus-extensions/nautilus-file-dnd.h: * libnautilus-extensions/nautilus-file-dnd.c: New file with Drag and Drop code that operated on NautilusFile objects. * libnautilus-extensions/Makefile.am: * libnautilus-extensions/nautilus-list-column-title.c: * libnautilus-extensions/nautilus-list-column-title.h: * libnautilus-extensions/nautilus-list.c: * libnautilus-extensions/nautilus-list.h: * libnautilus-extensions/nautilus-ctree.c: * libnautilus-extensions/nautilus-ctree.h: * libnautilus-extensions/nautilus-drag.c: * libnautilus-extensions/nautilus-drag.h: Move these widget into eel. * libnautilus-extensions/nautilus-icon-dnd.h: * libnautilus-extensions/nautilus-icon-dnd.c: Update for eel dnd code move. * nautilus-installer/install-lib/Makefile.am: * nautilus-installer/libtrilobite/Makefile.am: Remove some voodoo that was needed for cut-n-paste code in trilobite that no longer is among us. * components/help/hyperbola-nav-tree.c: * components/music/nautilus-music-view.c: * components/rpmview/nautilus-rpm-verify-window.c: * components/rpmview/nautilus-rpm-view-private.h: * components/rpmview/nautilus-rpm-view.c: * components/tree/nautilus-tree-view-dnd.c: * components/tree/nautilus-tree-view-dnd.h: * components/tree/nautilus-tree-view-private.h: * components/tree/nautilus-tree-view.c: * src/file-manager/fm-directory-view.c: * src/file-manager/fm-list-view.c: (fm_list_view_initialize), * src/nautilus-sidebar.c: Update for clist, ctree, list and dnd code that now lives in eel. Also do more #include cleanup.
2001-04-04 15:51:58 +00:00
#endif /* NAUTILUS_FILE_DND_H */