Skip to content
  • Darin Adler's avatar
    Finished task 571 (Make a Trash "virtual directory" with trash · 72955895
    Darin Adler authored
    	from all volumes). Some loose ends are already reported in bugs
    	2146, 2243, and 2244.
    
    	* libnautilus-extensions/Makefile.am:
    	* libnautilus-extensions/nautilus-merged-directory.h:
    	* libnautilus-extensions/nautilus-merged-directory.c:
    	Moved all the guts of NautilusTrashDirectory that are solely
    	about having a single directory that's a union of a bunch of
    	real directories into a separate base class. Also finished the
    	implementation, leaving only unimportant loose ends.
    
    	* libnautilus-extensions/nautilus-trash-directory.h:
    	* libnautilus-extensions/nautilus-trash-directory.c:
    	(get_volume_vfs_uri_if_writable), (find_directory_callback),
    	(add_volume), (remove_trash_volume), (remove_volume),
    	(add_one_volume), (volume_mounted_callback),
    	(volume_unmounted_callback), (nautilus_trash_directory_initialize),
    	(remove_trash_volume_cover), (trash_destroy),
    	(nautilus_trash_directory_initialize_class):
    	Added the code to find the trash on all volumes.
    
    	* libnautilus-extensions/nautilus-glib-extensions.h:
    	* libnautilus-extensions/nautilus-glib-extensions.c:
    	(flatten_hash_table_element),
    	(nautilus_g_hash_table_safe_for_each): Added a new version of the
    	hash table iterator that works even if the callback removes items
    	from the hash table.
    
    	* libnautilus-extensions/nautilus-scalable-font.c:
    	(nautilus_scalable_font_largest_fitting_font_size): Added code to
    	handle the case of an empty name; the old code worked with NULL,
    	but not with "".
    
    	* src/file-manager/fm-desktop-icon-view.c:
    	(fm_desktop_icon_view_trash_state_changed_callback),
    	(find_and_rename_trash_link), (create_or_rename_trash):
    	* src/file-manager/nautilus-trash-monitor.c:
    	(nautilus_trash_monitor_initialize):
    	Changed to use the new "trash:" URL instead of locating one of
    	the trash folders.
    
    	* src/file-manager/fm-directory-view.h:
    	* src/file-manager/fm-directory-view.c:
    	(fm_directory_view_initialize_class),
    	(fm_directory_all_selected_items_in_trash):
    	* src/file-manager/fm-search-list-view.c:
    	(fm_search_list_view_initialize_class):
    	The "share_parent" optimization didn't work for the new trash.
    	Instead of fixing it, I just removed it.
    
    	* src/nautilus-window-manage-views.c: (compute_default_title),
    	(nautilus_window_update_title): Made two changes to the default
    	title: 1) Use "" instead of "Nautilus" when there's no title.
    	We still use "Nautilus" in the window title, but not in the
    	sidebar any more. 2) Use the scheme part of a URI if there's
    	nothing after the colon. This works nicely for the trash.
    
    	* libnautilus-extensions/nautilus-background-canvas-group.c:
    	(nautilus_background_canvas_group_render): Removed some unneeded
    	code and the FIXME that goes with it.
    
    	* libnautilus-extensions/nautilus-directory.c:
    	(nautilus_directory_is_not_empty): Removed an overzealous assert.
    72955895