2008-07-13 Christian Neumair <cneumair@gnome.org>
* libnautilus-private/nautilus-dnd.c
(nautilus_drag_uri_array_from_selection_list),
(nautilus_drag_uri_list_from_selection_list),
(nautilus_drag_uri_array_from_list),
(nautilus_drag_uri_list_from_array), (slot_proxy_drag_motion),
(drag_info_clear), (slot_proxy_drag_leave), (slot_proxy_drag_drop),
(slot_proxy_handle_drop), (slot_proxy_drag_data_received),
(nautilus_drag_slot_proxy_init):
* libnautilus-private/nautilus-dnd.h:
Add simple slot drop proxy API to libnautilus-private, centered
around nautilus_drag_slot_proxy_init().
The notebook tab label drop targets will later be ported to this API.
Add API for converting URI lists to URI arrays, and for constructing
URI lists and arrays from selection lists.
* src/nautilus-notebook.c (notebook_tab_drag_data_received):
Use nautilus_drag_uri_array_from_selection_list().
* src/nautilus-pathbar.c (slider_timeout),
(nautilus_path_bar_slider_drag_motion),
(nautilus_path_bar_slider_drag_leave), (nautilus_path_bar_init),
(nautilus_path_bar_finalize), (button_data_free),
(button_drag_data_get_cb), (setup_button_drag_source),
(make_directory_button):
* src/nautilus-pathbar.h:
Add path bar drop targets, use nautilus_drag_slot_proxy_init() for
setup.
Also offer GNOME icon lists as drag target.
Reveal hidden paths when hovering over the up/down sliders for some
time. Fixes#309842.
svn path=/trunk/; revision=14356
2008-05-27 Cosimo Cecchi <cosimoc@gnome.org>
* libnautilus-private/nautilus-dnd.c:
(nautilus_drag_default_drop_action_for_uri_list):
* libnautilus-private/nautilus-dnd.h:
* libnautilus-private/nautilus-icon-dnd.c:
(nautilus_icon_container_get_drop_action):
Select GDK_ACTION_MOVE as default action when DnD-ing a uri list
into the trash. (#534769).
svn path=/trunk/; revision=14200
2008-05-21 A. Walton <awalton@gnome.org>
* */*.[ch]:
Move all of Nautilus to single Gtk+ includes, because Mitch says so.
Closes Bug #530315.
svn path=/trunk/; revision=14182
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
2007-09-10 Alexander Larsson <alexl@redhat.com>
* libnautilus-private/nautilus-dnd.h:
* libnautilus-private/nautilus-file-dnd.c:
* libnautilus-private/nautilus-icon-dnd.c:
Implement direct save (XDS) DnD.
Based on patch from BROCCO Amos
svn path=/trunk/; revision=13136
2005-01-13 Alexander Larsson <alexl@redhat.com>
* libnautilus-private/nautilus-icon-container.[ch]:
* libnautilus-private/nautilus-marshal.list:
Add handle_url signal
Fix argument list for handle_uri_list
* libnautilus-private/nautilus-dnd.[ch]:
Add nautilus_drag_default_drop_action_for_url
* libnautilus-private/nautilus-icon-dnd.c: (receive_dropped_url),
(nautilus_icon_container_get_drop_action),
(drag_data_received_callback):
Handle URL drops separately from URI_LIST
Set different actions for URL drop
* libnautilus-private/nautilus-tree-view-drag-dest.[ch]:
(get_drop_action), (receive_dropped_uri_list),
(receive_dropped_url), (drag_data_received_callback),
(nautilus_tree_view_drag_dest_class_init):
Add handle_url and handle_uri lists
Set different actions for URL drop
Fix bug that made url_list & url drops not work
* src/file-manager/fm-directory-view.[ch]: (revert_slashes),
(ask_link_action), (fm_directory_view_handle_url_drop),
(fm_directory_view_handle_uri_list_drop):
Move url and uri_list drop handling here. Make it handle
url drops better.
* src/file-manager/fm-icon-view.c: (icon_view_handle_url),
(icon_view_handle_uri_list), (fm_icon_view_init):
* src/file-manager/fm-list-view.c: (list_view_handle_url),
(list_view_handle_uri_list), (create_and_set_up_tree_view):
Call up to the drop code in directory view.
The above is based on a patch from Jorn Baayen <jbaayen@gnome.org>
* libnautilus-private/nautilus-directory.c:
(nautilus_directory_schedule_metadata_copy):
Handle source_directory being NULL. (happens on toplevel uri)
* libnautilus-private/nautilus-file-operations.c:
(nautilus_file_operations_copy_move):
Handle source_dir_uri being NULL. (happens on toplevel uri)
* libnautilus-private/nautilus-link-desktop-file.c:
(nautilus_link_desktop_file_local_create):
Use right icon field
004-04-09 Dave Camp <dave@ximian.com>
* libnautilus-private/nautilus-directory-background.c:
(nautilus_connect_desktop_background_to_file_metadata),
(background_changed_callback),
(nautilus_connect_background_to_file_metadata):
* libnautilus-private/nautilus-directory-background.h:
* libnautilus-private/nautilus-dnd.c:
(nautilus_drag_drop_background_ask):
* libnautilus-private/nautilus-dnd.h:
* libnautilus-private/nautilus-icon-dnd.c:
(get_background_drag_action):
* src/file-manager/fm-icon-view.c: (fm_icon_view_begin_loading):
By default set the background per-directory in spatial mode.
* src/file-manager/fm-list-view.c: (fm_list_view_begin_loading):
Take out background metadata stuff, we don't use an eelbackground
here.
2003-05-15 Alexander Larsson <alexl@redhat.com>
* libnautilus-private/Makefile.am:
Added new files.
* libnautilus-private/apps_nautilus_preferences.schemas.in:
* libnautilus-private/nautilus-global-preferences.[ch]:
New prefs for home and trash links.
* libnautilus-private/nautilus-desktop-directory.[ch]:
New files. Implements the NautilusDesktop object for the
virtual x-nautilus-desktop: uri. The directory merges the contents
of the directory with the real desktop directory.
* libnautilus-private/nautilus-desktop-directory-file.[ch]:
New files. Implements the Nautilusfile corresponding to
NautilusDestkopDirectory.
* libnautilus-private/nautilus-desktop-icon-file.[ch]:
New files.
Implement NautilusFile for a virtual file in a NautilusDesktopDirectory.
Gets all the actual file data from a NautilusDesktopLink.
* libnautilus-private/nautilus-desktop-link-monitor.[ch]:
New files.
Keep track of home and trash visibility prefs and mounted volumes and
create/destroy corresponding NautilusDesktopLink object.
* libnautilus-private/nautilus-desktop-link.[ch]:
New files.
Keeps track of all the real information in a desktop icon link.
These are home, trash and volume links at the moment.
* libnautilus-private/nautilus-directory-async.c:
Indentation correction.
* libnautilus-private/nautilus-directory.c:
(nautilus_directory_new):
Create NautilusDesktopDirectory objects for x-nautilus-desktop: uris
* libnautilus-private/nautilus-dnd.c: (nautilus_drag_items_local):
Handle NULL GnomeVFSURIs.
(nautilus_drag_items_on_desktop): New function to check if items
are on the desktop.
(nautilus_drag_default_drop_action_for_icons):
Special case desktop uris.
(nautilus_drag_selection_includes_special_link):
Convert from old-style special links to current.
* libnautilus-private/nautilus-dnd.h:
New function nautilus_drag_items_on_desktop.
* libnautilus-private/nautilus-file-operations.c:
(is_special_link), (nautilus_file_operations_copy_move):
Convert from old-style special links to current.
(nautilus_file_operations_delete):
Special case desktop links
* libnautilus-private/nautilus-file-utilities.[ch]:
(nautilus_get_desktop_directory):
(nautilus_get_gmc_desktop_directory):
Change desktop dir to ~/Desktop
(nautilus_get_desktop_directory_uri):
New function to return desktop dir as a uri.
* libnautilus-private/nautilus-file.c:
(nautilus_file_new_from_relative_uri),
(nautilus_file_get_internal):
Handle creation of desktop icon files.
(nautilus_file_can_rename), (rename_guts),
(nautilus_file_get_drop_target_uri):
Update for new special links.
(nautilus_file_is_in_desktop):
Update for new desktop dir.
(nautilus_file_get_uri):
Fix uris for self owned files. This changed due to
the new canonicalization rules for foo:
* libnautilus-private/nautilus-icon-dnd.c:
(nautilus_icon_container_selection_items_local),
(handle_nonlocal_move):
Handle desktop uri.
* src/Nautilus_shell.server.in:
icon view handles x-nautilus-desktop: uris
* src/nautilus-application.c: (finish_startup):
Initialize the desktop link monitor
* src/nautilus-desktop-window.c:
(nautilus_desktop_window_update_directory):
Show x-nautilus-desktop:
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_finalize), (fm_desktop_icon_view_init),
(volume_ops_callback), (trash_link_is_selection),
(volume_link_is_selection), (volume_link_device_type),
(real_supports_zooming):
* src/file-manager/fm-directory-view.c:
Remove lots of old support for desktop icon.
Reimplement some of it with the new desktop icon support.
* src/file-manager/fm-directory-view.h:
New function fm_directory_view_get_backing_uri
* src/file-manager/fm-icon-container.c:
(fm_icon_container_get_icon_text):
Don't show extra text for desktop icons
(get_sort_category): Update for new desktop icons
* src/file-manager/fm-icon-view.c: (icon_view_handle_uri_list):
Use get_backing_uri()
* src/file-manager/fm-properties-window.c: (get_target_file):
Use the new desktop icon support.
* libnautilus-private/nautilus-icon-container.c:
(lay_down_icons_tblr):
Don't loop forever if icon doesn't in the height of the container.
2002-10-31 Dave Camp <dave@ximian.com>
* libnautilus-private/nautilus-directory-background.c:
(nautilus_file_background_get_default_settings),
(nautilus_file_background_is_set), (background_changed_callback),
(background_reset_callback):
* libnautilus-private/nautilus-dnd.c:
(nautilus_drag_drop_background_ask):
* libnautilus-private/nautilus-dnd.h:
* libnautilus-private/nautilus-global-preferences.h:
* libnautilus-private/nautilus-icon-dnd.c:
(get_background_drag_action),
(receive_dropped_color), (receive_dropped_tile_image),
(nautilus_icon_container_receive_dropped_icons),
(drag_data_received_callback): Set the background globally by
default. On a right-drag from the property dialog, pop up a
context menu asking to set it globally or for that directory.
* libnautilus-private/apps_nautilus_preferences.schemas:
* src/nautilus-information-panel.c: (nautilus_information_panel_init),
(nautilus_information_panel_finalize),
(information_panel_has_background),
(nautilus_information_panel_create_context_menu),
(nautilus_information_panel_read_defaults),
(nautilus_information_panel_theme_changed),
(receive_dropped_uri_list), (receive_dropped_color),
(nautilus_information_panel_drag_data_received),
(background_settings_changed_callback),
(background_reset_callback),
(nautilus_information_panel_update_appearance): Take the default
background from gconf, handle global vs. per-directory
backgrounds.
* nautilus-property-browser.c: (element_clicked_callback): Add
ASK to the list of actions.
2002-10-02 Mark McLoughlin <mark@skynet.ie>
* acconfig.h: define HAVE_GTK_MULTIHEAD for
egg-screen-exec methods.
* configure.in: require gtk 2.1.0 and don't
define HAVE_GTK_MULTIHEAD.
* libnautilus-private/nautilus-multihead-hacks.h: kill.
* libnautilus-private/nautilus-directory-background:
(make_root_pixmap), (set_root_pixmap): use
gdk_screen_get_display instead of assuming the default
display.
* src/nautilus-shell.c: (restore_one_window_callback):
add backwards compat support for sessions without
a screen number.
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.
* libnautilus-private/nautilus-dnd.h:
Move reset constant into header.
* libnautilus-private/nautilus-file.c:
(nautilus_file_get_display_name): Use g_locale_to_utf8, so this
works even when G_BROKEN_FILENAMES is not set.
* libnautilus-private/nautilus-icon-dnd.c:
Rearrange and clean up code a bit.
* src/nautilus-property-browser.c:
(nautilus_property_browser_destroy), (add_new_pattern),
(show_color_selection_window), (add_new_color), (add_new_emblem):
* src/nautilus-sidebar-title.c: (update_icon): Get rid of dead
code that gets uri and doesn't use it. It's been showing up in bug
reports too, so this is especially nice.
* src/nautilus-window-manage-views.h:
* src/nautilus-window-manage-views.c:
(nautilus_window_manage_views_destroy),
(nautilus_window_manage_views_finalize): Break this up into two
functions again.
* src/nautilus-window.c: (nautilus_window_destroy): Re-add this,
because some of the cleanup has to be done at destroy time.
(nautilus_window_finalize): Move some of this out.
(nautilus_window_class_init): Set up both.
* components/text/nautilus-text-view.c:
* components/tree/nautilus-tree-model.c:
* libnautilus-private/nautilus-file-operations.c:
* libnautilus-private/nautilus-program-choosing.c:
* src/file-manager/fm-directory-view.c:
* src/nautilus-bookmark-list.c:
Miscellaneous porting to new names of functions, getting off
less-desirable functions.
* components/tree/nautilus-tree-change-queue.c: Remove.
* components/tree/nautilus-tree-change-queue.h: Remove.
* components/tree/nautilus-tree-view-dnd.c: Remove.
* components/tree/nautilus-tree-view-dnd.h: Remove.
* components/tree/nautilus-tree-view-private.h: Remove.
* libnautilus-private/Makefile.am:
* libnautilus-private/nautilus-dnd.c:
* libnautilus-private/nautilus-dnd.h:
Move eel-dnd.[ch] back into Nautilus, because it currently is
completely file-manager-specific.
* libnautilus-private/nautilus-file-dnd.c:
* libnautilus-private/nautilus-file-dnd.h:
* libnautilus-private/nautilus-icon-dnd.c:
* libnautilus-private/nautilus-icon-dnd.h:
* src/file-manager/fm-icon-view.c:
* src/file-manager/fm-list-view.c:
Change to use eel-dnd.[ch] in their new location in Nautilus.
* src/file-manager/fm-directory-view.c: Add included needed due
to include changes.