Commit graph

9 commits

Author SHA1 Message Date
Darin Adler e82bab8c49 reviewed by: John Sullivan <sullivan@eazel.com>
Fixed bug 2147 (NautilusFile for trash needs non-empty values for
	more properties), bug 5652 (MIME type field appears but shouldn't
	in properties window for Trash), and bug 4620 (trash sidebar
	should show number of items).

	* libnautilus-extensions/nautilus-file.h:
	* libnautilus-extensions/nautilus-file-private.h:
	* libnautilus-extensions/nautilus-file.c:
	(nautilus_file_new_from_relative_uri): Create trash file subclass
	when appropriate.
	(nautilus_file_info_missing): Rename so it can be used in other
	source files.
	(nautilus_file_get_date): New method that returns numeric dates.
	(nautilus_file_get_date_as_string): Change to call
	nautilus_file_get_date to get the numeric date.
	(nautilus_file_get_file_type): Turn into a method.

	* libnautilus-extensions/nautilus-merged-directory.h:
	* libnautilus-extensions/nautilus-merged-directory.c:
	(merged_call_when_ready): Rolled in the old
	merged_callback_connect_directory function.
	(merged_contains_file): Moved down to a more appropriate part of
	the source file.
	(nautilus_merged_directory_get_real_directories): New public
	function for use by trash.

	* libnautilus-extensions/nautilus-trash-file.c:
	(trash_callback_hash), (trash_callback_equal),
	(trash_callback_destroy), (trash_callback_check_done),
	(trash_callback_remove_file), (ready_callback),
	(real_file_changed_callback), (monitor_add_file), (add_real_file),
	(trash_callback_remove_file_cover), (monitor_remove_file),
	(remove_real_file), (add_real_file_given_directory),
	(add_directory_callback), (remove_directory_callback),
	(trash_file_call_when_ready), (trash_file_cancel_call_when_ready),
	(trash_file_check_if_ready), (trash_file_monitor_add),
	(trash_file_monitor_remove), (trash_file_get_file_type),
	(trash_file_get_item_count), (trash_file_get_deep_counts),
	(trash_file_get_date), (remove_all_real_files),
	(nautilus_trash_file_initialize), (trash_destroy),
	(nautilus_trash_file_initialize_class):
	New code. First implementation of getting some attributes for the
	merged trash. Gets list of directories from the
	NautilusTrashDirectory object. The code in here is similar to the
	NautilusMergedDirectory class and at some point perhaps we can
	make the two share more.

	* libnautilus-extensions/nautilus-vfs-file.c:
	(vfs_file_get_file_type), (vfs_file_get_date),
	(nautilus_vfs_file_initialize_class): Implement the two new
	methods for the standard vfs case.

	Fixed various things that affect the properties window for the
	trash that showed up while I was testing the above work:

	* libnautilus-extensions/nautilus-icon-factory.c:
	(nautilus_icon_factory_get_icon_name_for_regular_file),
	(nautilus_icon_factory_get_icon_name_for_file): Move trash special
	case out so it doesn't matter what type the trash seems to be. The
	old code relied on trash not being a directory.

	* src/file-manager/fm-properties-window.c:
	(create_properties_window), (create_properties_window_callback),
	(cancel_create_properties_window_callback),
	(directory_view_destroyed_callback), (remove_pending_file): Rework
	code to fix problems where the timed wait or the signal handler
	wasn't properly cleaned up.

	Fixed remaining bit of bug 5631 (Tear-offs of right-click menus
	don't work.):

	* src/file-manager/nautilus-desktop-icon-view-ui.xml: Mark Disks
	right-click submenu so it won't get a tear-off item.

	Fixed bug 5650 (nautilus --quit fails to return to prompt
	sometimes):

	* src/nautilus-application.c: (nautilus_application_startup): Add
	special case so "nautilus --quit" doesn't hang waiting for a
	response from the (now quit) "server" instance of Nautilus.
	* src/nautilus-shell-interface.idl: Had to make the quit call no
	longer be "oneway" to get it to work right, otherwise the quit
	message could be lost when the sending application exited too
	fast.

	Fix bug 5675 (Nitpicks in new "could not be moved to new special
	location" dialog):

	* libnautilus-extensions/nautilus-file-operations.c:
	(handle_transfer_overwrite): Updated message wording as Eli (and
	Vera) suggest.

	Other changes:

	* libnautilus-extensions/nautilus-view-identifier.c:
	(get_lang_list): Fix comment and a small storage leak in the case
	where lang_with_locale is non-NULL but empty.

	* po/POTFILES.ignore: Obsolete file, no longer used.

	* src/file-manager/fm-desktop-icon-view.c:
	(update_home_link_and_delete_copies): Update comment to help
	translators understand better.

	* libnautilus-extensions/nautilus-directory-async.c:
	(directory_load_callback): Added a new assertion that could help
	in future gnome-vfs debugging.

	* libnautilus/nautilus-view-component.idl: Removed long-ago-fixed
	FIXME comment.

	* src/nautilus-window-manage-views.c: Tweak spacing.
2001-01-18 19:26:03 +00:00
Darin Adler daee7ca552 Fix bug 5557 (Intermittent crash in
Nautilus_View_history_changed):

	* src/nautilus-view-frame.c: (send_history): Added a check for
	NULL so we don't try to send a NULL history list through the
	history machinery.

	Fix bug 5360 ("menthos's Home" string is hard to translate):

	* src/file-manager/fm-desktop-icon-view.c:
	(update_home_link_and_delete_copies): Added comment to help
	translators understand what to do with "%s's Home".

	Fix bug 5641 ("xfree" does not work with newer versions of RPM 4
	headers):

	* components/services/install/lib/eazel-package-system-rpm3.c:
	(eazel_package_system_rpm3_packagedata_fill_from_header): Just
	use "free" instead of "xfree".

	Fix bug 5631 (Tear-offs of right-click menus don't work):

	* src/nautilus-shell-ui.xml:
	* src/file-manager/nautilus-directory-view-ui.xml:
	* src/file-manager/nautilus-icon-view-ui.xml:
	Mark popups and submenus of the popups with tearoff="0" so they
	don't have tear-off menu items.

	More work on bug 2147 (NautilusFile for trash needs non-empty
	values for more properties).

	* libnautilus-extensions/nautilus-file.h:
	* libnautilus-extensions/nautilus-file.c:
	(nautilus_file_new_from_relative_uri),
	(nautilus_file_new_from_info), (nautilus_file_monitor_add),
	(nautilus_file_monitor_remove),
	(nautilus_file_get_directory_item_count),
	(nautilus_file_get_deep_counts), (nautilus_file_check_if_ready),
	(nautilus_file_call_when_ready),
	(nautilus_file_cancel_call_when_ready):
	Put more of the machinery in place to make enough of NautilusFile
	virtual so that we can implement the trash case.

	* libnautilus-extensions/nautilus-merged-directory.h:
	* libnautilus-extensions/nautilus-merged-directory.c:
	(merged_add_real_directory),
	(nautilus_merged_directory_add_real_directory),
	(merged_remove_real_directory),
	(nautilus_merged_directory_remove_real_directory),
	(remove_all_real_directories),
	(nautilus_merged_directory_initialize_class):
	Make adding and removing directories use signals so we can share
	this list with the NautilusTrashFile.

	* libnautilus-extensions/nautilus-trash-file.c:
	(add_directory_callback), (remove_directory_callback),
	(nautilus_trash_file_initialize), (trash_destroy):
	Use a NautilusTrashDirectory object for the list of directories.

	* libnautilus-extensions/nautilus-vfs-file.c:
	(vfs_file_monitor_add), (vfs_file_monitor_remove),
	(vfs_file_call_when_ready), (vfs_file_cancel_call_when_ready),
	(vfs_file_check_if_ready), (vfs_file_get_item_count),
	(vfs_file_get_deep_counts), (nautilus_vfs_file_initialize_class):
	Move the guts of these functions into the "VFS" subclass.

	Other stuff:

	* libnautilus-extensions/nautilus-trash-directory.c:
	(find_directory_start), (find_directory_end),
	(find_directory_callback), (add_volume), (remove_trash_volume):
	Fix bug in the recently-added timed-wait, to handle the case where
	the call is cancelled as well as the case where it succeeds or
	fails.

	* src/file-manager/fm-directory-view.c:
	(zoomable_set_zoom_level_callback): Formatting tweak.

	* src/nautilus-main.c: (main): Fix the FIXME.
2001-01-15 23:45:04 +00:00
Darin Adler f649b991af reviewed by: Rebecca Schulman <rebecka@eazel.com>
Fixed bug 3811 (shallow file counts and top-left text are fetched
	even for non-displayed hidden/backup items).

	* libnautilus-extensions/nautilus-directory-private.h:
	* libnautilus-extensions/nautilus-directory-async.c:
	(allow_metafile): Add "ghelp:" and "gnome-help:" to the
	unfortunate list of hard-coded schemes. If we hard-code "help:" we
	have to hard-code its synonyms too.
	(find_monitor): Use g_new0 so fields in the Monitor are not
	uninitialized in this case (the fields in question are ignored,
	but it's still nicer this way).
	(nautilus_directory_monitor_add_internal): Set up the "monitor
	hidden files" and "monitor backup files" in the Monitor structure
	based on new parameters.
	(should_display_file_name): Use
	nautilus_file_name_matches_hidden_pattern and
	nautilus_file_name_matches_backup_pattern.
	(monitor_includes_file): New function that encapsulates the rule
	about which monitor includes which file. Handles the new flags for
	not monitoring hidden or backup files.
	(is_needy): Call monitor_includes_file.
	(select_needy_file): Call monitor_includes_file.

	* libnautilus-extensions/nautilus-file-private.h:
	* libnautilus-extensions/nautilus-file.c:
	(nautilus_file_name_matches_hidden_pattern),
	(nautilus_file_name_matches_backup_pattern): New functions to
	share with the directory code.
	(nautilus_file_is_hidden_file), (nautilus_file_is_backup_file):
	Use the new functions and use the raw relative_uri -- no need to
	unescape to change to a file name since the "." and "~" characters
	are not encoded.

	* src/file-manager/fm-directory-view.c:
	(fm_directory_view_initialize): Share more code with the
	filtering_changed_callback. Handle the desktop view better by
	never setting the "show hidden" and "show backup" flags (so they
	are both FALSE) and not setting up the callbacks.
	(fm_directory_view_destroy): Since we don't set up the callbacks
	for desktop windows, don't remove them for desktop windows.
	(queue_pending_files): Remove the desktop special case from
	here. It was strange to set the flags up then wait until this
	moment to clear them both. It's better to keep them FALSE.
	(finish_loading): Renamed and changed to pass the appropriate
	values in to the nautilus_directory_file_monitor_add call -- this
	is the actual bug fix.
	(filtering_changed_callback): Remove the desktop special case,
	since this function will now never be called for the desktop.

	* libnautilus-extensions/nautilus-directory.h:
	* libnautilus-extensions/nautilus-directory.c:
	(nautilus_directory_file_monitor_add): Pass through the new
	"monitor hidden files" and "monitor backup files" parameters.
	(nautilus_self_check_directory): Pass TRUE for both.
	* libnautilus-extensions/nautilus-vfs-directory.c:
	(vfs_file_monitor_add): Pass through the new "monitor hidden
	files" and "monitor backup files" parameters.

	* libnautilus-extensions/nautilus-merged-directory.c:
	(merged_file_monitor_add), (monitor_add_directory): Store the
	"monitor hidden files" and "monitor backup files" and pass them
	through to the individual directory monitor calls.

	* components/tree/nautilus-tree-model.c:
	(nautilus_tree_model_node_begin_monitoring_no_connect):
	* libnautilus-extensions/nautilus-file.c:
	(nautilus_file_monitor_add):
	* libnautilus-extensions/nautilus-trash-monitor.c:
	(nautilus_trash_monitor_initialize):
	* src/nautilus-applicable-views.c:
	(got_minimum_file_info_callback):
	Pass in TRUE for "monitor hidden files" and "monitor backup files"
	to get the same behavior as before. (In some cases the booleans
	are just ignored, in other cases we just monitor all files as we
	used to.)

	* RENAMING: Remind myself to change the name of the
	NAUTILUS_CALL_VIRTUAL macro to NAUTILUS_CALL_METHOD some day.
2001-01-04 23:30:43 +00:00
Darin Adler f683ed7935 reviewed by: Pavel Cisler <pavel@eazel.com>
Fix bug 5235 ("Forget History" eliminates history from Go menu,
	not History sidebar panel).

	* components/history/nautilus-history-view.c:
	(install_icons): Fix leak of pixmap and bitmap.
	(update_history): Replaced dual lock system with a single one.
	(button_press_callback): Only respect button 1, ignore others.
	(button_release_callback): Only respect button 1, ignore others,
	(history_changed_callback): A new single callback for when the
	history list changes to replace the multiple callbacks before.
	(nautilus_history_view_initialize_class),
	(nautilus_history_view_initialize),
	(nautilus_history_view_destroy), (main): Change the history view
	to use nautilus_view_standard_main which requires a subclass. This
	gets rid of a lot of boilerplate code.

	* libnautilus/nautilus-view-component.idl: Make every NautilusView
	get an explicit history_changed call instead of requiring them to
	guess when to get history. Removed the old get_history_list call
	and also renamed the HistoryList sequence to History.
	* libnautilus/nautilus-view.h:
	* libnautilus/nautilus-view.c:
	(impl_Nautilus_View_history_changed),
	(nautilus_view_initialize_class): Added the necessary stuff to
	cover the new history_changed call.

	* src/nautilus-view-frame.h:
	* src/nautilus-view-frame.c: (nautilus_view_frame_initialize):
	Connect handlers so we can send history_changed calls to the
	NautilusView when either the history or the icons change.
	(nautilus_view_frame_destroy): Change state to EMPTY so the
	history signal won't be sent once the frame is destroyed.
	(view_frame_activated): Send a history_changed to every
	newly-activated view.
	(get_CORBA_object): Helper function to make code that makes CORBA
	calls simpler.
	(check_if_view_is_gone): Use get_CORBA_object.
	(attach_client): Gave a nicer name, removed the code that makes
	the Nautilus_HistoryFrame interface.
	(nautilus_view_frame_load_client): Do the attach_client (formerly
	nautilus_view_frame_set_to_component) before calling
	view_frame_activated. This is needed since view_frame_activated
	now sends a history_changed to the view.
	(nautilus_view_frame_load_location),
	(nautilus_view_frame_stop_loading),
	(nautilus_view_frame_selection_changed),
	(nautilus_view_frame_title_changed): Use get_CORBA_object.
	(get_history_list): Made this private.
	(send_history): Helper function that sends history to the view if
	it's in the appropriate state.

	* src/Makefile.am:
	* src/nautilus-history-frame.c:
	* src/nautilus-history-frame.h:
	Removed the old NautilusHistoryFrame, which is no longer needed
	since we put the history call right in the NautilusView class.

	* src/nautilus-window-manage-views.c: (get_history_list_callback):
	Updated for Nautilus_HistoryList -> Nautilus_History change.

	Fix bug 5391 ("Esc" Canceling of an icon stretch doesn't restore
	icon position.).

	* libnautilus-extensions/nautilus-icon-private.h:
	* libnautilus-extensions/nautilus-icon-container.c:
	(clear_drag_state): Add a single bottleneck function to make sure
	the context menu timeout always gets canceled.
	(continue_stretching): Remove the unused "update_position" parameter.
	(undo_stretching): Consolidate the cancel_stretching function and
	restore the icon's position as well as its size. Also use the new
	bottleneck to clear the drag state.
	(button_release_event): Use the new bottleneck to clear the drag
	state.
	(show_context_menu_callback): Use the new bottleneck to clear the
	drag state.
	(nautilus_icon_container_set_selection),
	(nautilus_icon_container_select_list_unselect_others): Take
	advantage of the defaults in g_hash_table_new and use NULL, NULL
	instead of g_direct_hash, g_direct_equal.
	(nautilus_icon_container_show_stretch_handles): Save the position
	as well as the size.
	(compute_stretch): Add a FIXME with a bug number.

	Fix bug 5407 (Make "Hardware Overview" title translatable).

	* components/hardware/nautilus-hardware-view.c:
	(nautilus_hardware_view_destroy): Remove unused uri field.
	(extract_info): Fix storage leak.
	(get_RAM_description): Get rid of code that non-portably relies on
	long long. Mark strings for translation.
	(get_IDE_description): Get rid of code that non-portably relies on
	long long. Mark strings for translation.
	(setup_overview_form): Marked string for translation.
	(setup_CPU_form), (setup_RAM_form), (setup_IDE_form),
	(is_location), (nautilus_hardware_view_load_uri): Disable the
	views other than the overview for now since they are not ready to
	be seen.
	(nautilus_hardware_view_drag_data_received): Get rid of the code
	that makes the hardware view accept a URI list drag.

	Fix bug 5405 (nautilus --check fails when using LC_ALL=sv_SE due
	to missing entry in POTFILES.in).

	* po/POTFILES.in: Added nautilus-glib-extensions.c.

	Other changes.

	* src/nautilus-signaller.h:
	* src/nautilus-signaller.c: (nautilus_signaller_initialize_class),
	(nautilus_signaller_get_current):
	Change the NautilusSignaller class so that the interface calls the
	object a GtkObject * and the details of the class are hidden.

	* src/nautilus-property-browser.c: (emit_emblems_changed_signal):
	* src/nautilus-search-bar-criterion.c:
	(nautilus_search_bar_criterion_destroy),
	(nautilus_search_bar_criterion_new_from_values):
	* src/nautilus-window-menus.c:
	(nautilus_window_initialize_go_menu):
	* src/nautilus-window.c: (nautilus_send_history_list_changed):
	Now that nautilus_signaller_get_current returns a GtkObject,
	remove some unnecessary casts.

	* components/html/glibwww-callbacks.c: (get_sock_info),
	(glibwww_timer_register):
	* components/tree/nautilus-tree-model.c:
	(nautilus_tree_model_initialize):
	* components/tree/nautilus-tree-view.c:
	(nautilus_tree_view_initialize):
	* libnautilus-extensions/nautilus-directory-async.c:
	(async_job_start):
	* libnautilus-extensions/nautilus-directory.c:
	(nautilus_directory_notify_files_added),
	(nautilus_directory_notify_files_removed),
	(nautilus_directory_notify_files_moved):
	* libnautilus-extensions/nautilus-icon-factory.c:
	(nautilus_icon_factory_initialize):
	* libnautilus-extensions/nautilus-list.c:
	(nautilus_list_set_selection):
	* libnautilus-extensions/nautilus-merged-directory.c:
	(nautilus_merged_directory_initialize):
	* libnautilus-extensions/nautilus-trash-directory.c:
	(nautilus_trash_directory_initialize):
	* src/file-manager/fm-properties-window.c:
	(fm_properties_window_present):
	Take advantage of the defaults in g_hash_table_new and use NULL,
	NULL instead of g_direct_hash, g_direct_equal.
2001-01-04 02:15:56 +00:00
Rebecca Schulman d160849cb7 Bug numbers for the FIXMEs in libnautilus-extensions.
2000-12-07  Rebecca Schulman  <rebecka@eazel.com>
        Bug numbers for the FIXMEs in libnautilus-extensions.

	* libnautilus-extensions/nautilus-customization-data.c:
	(format_name_for_display):
	* libnautilus-extensions/nautilus-directory-async.c:
	(dequeue_pending_idle_callback), (cancel_loading_attributes),
	(nautilus_directory_cancel_loading_file_attributes):
	* libnautilus-extensions/nautilus-directory.c:
	(nautilus_directory_handle_directory_moved),
	(nautilus_directory_notify_files_moved),
	(nautilus_self_check_directory):
	* libnautilus-extensions/nautilus-file-utilities.c:
	(nautilus_make_uri_canonical),
	(pthread_nautilus_read_file_thread_entry),
	(pthread_nautilus_read_file_async), (nautilus_read_file_cancel),
	(nautilus_self_check_file_utilities):
	* libnautilus-extensions/nautilus-file.c: (get_description),
	(nautilus_file_forget_attributes_internal):
	* libnautilus-extensions/nautilus-gdk-extensions.c:
	* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.c:
	* libnautilus-extensions/nautilus-icon-container.c:
	(nautilus_icon_container_start_renaming_selected_item):
	* libnautilus-extensions/nautilus-icon-dnd.c:
	(receive_dropped_uri_list):
	* libnautilus-extensions/nautilus-icon-factory.c:
	* libnautilus-extensions/nautilus-label.c:
	(nautilus_label_size_allocate), (label_recompute_line_geometries):
	* libnautilus-extensions/nautilus-merged-directory.c:
	(nautilus_merged_directory_add_real_directory):
	* libnautilus-extensions/nautilus-mime-actions.c:
	(nautilus_mime_get_default_application_for_file_internal):
	* libnautilus-extensions/nautilus-scalable-font.c:
	(nautilus_text_layout_paint):
	* libnautilus-extensions/nautilus-search-uri.c:
	(nautilus_self_check_search_uri):
	* libnautilus-extensions/nautilus-string.c:
	* libnautilus-extensions/nautilus-undo-signal-handlers.c:
	(editable_key_press_event), (nautilus_undo_editable_set_undo_key):
2000-12-08 04:10:08 +00:00
Darin Adler ca6e9f3b4d reviewed by: John Sullivan <sullivan@eazel.com>
Fixed bug 3245 (When an empty folder is visited, the throbbing
	never stops), bug 2540 (Hook up done_loading signal in
	NautilusMergedDirectory?), and bug 3067 (throbber doesn't start
	again if you do a new "underway" call after load is complete).

	* src/file-manager/fm-directory-view.c: (queue_pending_files):
	Get rid of code that uses nautilus_directory_are_all_files_seen
	to notice we are done loading.
	(done_loading_callback): Use done_loading signal to notice we
	are done loading.
	(finish_loading_uri): Connect to the done_loading signal.
	(disconnect_model_handlers): Disconnect from the done_loading
	signal.

	* libnautilus-extensions/nautilus-merged-directory.c:
	(done_loading_callback),
	(nautilus_merged_directory_add_real_directory),
	(nautilus_merged_directory_remove_real_directory): Add code to
	track all the trash directories and emit done_loading signals
	once all of them are done loading.

	* src/nautilus-window-manage-views.c: (change_state): Turn the
	stop and the throbber back on when a view re-marks itself
	underway.

	* libnautilus-extensions/nautilus-drag.c:
	(nautilus_drag_file_receive_dropped_keyword): Fix storage leak by
	doing a free_deep on the list of keywords.

	* libnautilus-extensions/nautilus-file-operations.h:
	* libnautilus-extensions/nautilus-file-operations.c:
	Get rid of excess includes.

	* libnautilus-extensions/nautilus-icon-dnd.c: Get rid of unused
	ERASE_KEYWORD constant.

	* src/nautilus-window.c: (nautilus_window_constructed): Fix a
	typo in a comment.
2000-12-07 18:18:30 +00:00
Maciej Stachowiak 9874534dcf Use nautilus_file_get_existing', not nautilus_file_get', to check if a
* libnautilus-extensions/nautilus-directory.c:
	(nautilus_directory_notify_files_removed,
	nautilus_directory_notify_files_moved): Use
	`nautilus_file_get_existing', not `nautilus_file_get', to check if
	a file is already known. `nautilus_file_get' would have created
	new NautilusFiles and NautilusDirectories only to do redundant
	notification later in the function. Also, the old code was a bit
	silly because `nautilus_file_get' only returns NULL for a NULL
	URI.

	Work towards bug 3362, eliminate directory metadata.

	* libnautilus-extensions/nautilus-file-attributes.h: Added
	NAUTILUS_FILE_ATTRIBUTE_METADATA attribute.

	* libnautilus-extensions/nautilus-directory-async.c
	(set_up_request_by_file_attributes):

	* libnautilus-extensions/nautilus-wait-until-ready.h,
	libnautilus-extensions/nautilus-file.h,
	libnautilus-extensions/nautilus-directory.h,
	libnautilus-extensions/nautilus-directory.c,
	libnautilus-extensions/nautilus-file.c
	(nautilus_directory_call_when_ready,
	nautilus_directory_wait_until_ready,
	nautilus_directory_file_monitor_add,
	nautilus_self_check_directory, nautilus_file_monitor_add,
	nautilus_file_call_when_ready, nautilus_file_wait_until_ready):
	Remove monitor_metadata or wait_for_metadata attribtues from these
	calls; the new way to do it is to monitor or wait for the METADATA
	file attribute.

	* libnautilus-extensions/nautilus-directory-private.h
	libnautilus-extensions/nautilus-directory-async.c:
	(nautilus_directory_monitor_add_internal,
	nautilus_directory_call_when_ready_internal,
	nautilus_directory_check_if_ready_internal): Eliminate
	monitor_metadata, wait_for_metadata, etc arguments.

	* libnautilus-extensions/nautilus-merged-directory.c:
	(merged_callback_connect_directory), (merged_call_when_ready),
	(merged_file_monitor_add), (monitor_add_directory):

	* libnautilus-extensions/nautilus-vfs-directory.c:
	(vfs_call_when_ready), (vfs_file_monitor_add):

	* libnautilus-extensions/nautilus-directory-background.c
	(nautilus_connect_background_to_directory_metadata): Monitor
	metadata the new approved way.

	* libnautilus-extensions/nautilus-mime-actions.c
	(nautilus_directory_wait_for_metadata,
	nautilus_mime_get_default_component_for_uri_internal,
	nautilus_mime_get_short_list_components_for_uri,
	nautilus_mime_get_all_components_for_uri,
	get_mime_type_from_file): Wait for metadata the new approved way.

	* src/file-manager/fm-directory-view.c
	(fm_directory_view_activate_file, fm_directory_view_load_uri,
	finish_loading_uri, metadata_ready_callback):
	Monitor/call_when_ready using the new API.

	* src/file-manager/fm-properties-window.c:
	(create_properties_window, fm_properties_window_present):
	Monitor/call_when_ready using the new API.

	* src/file-manager/fm-search-list-view.c (real_adding_file):
	Monitor/call_when_ready using the new API.

	* src/file-manager/nautilus-trash-monitor.c
	(nautilus_trash_monitor_initialize): Monitor/call_when_ready using
	the new API.

	* src/nautilus-applicable-views.c (nautilus_navigation_info_new):
	Monitor/call_when_ready using the new API.

	* components/notes/nautilus-notes.c (notes_load_metainfo):
	Monitor/call_when_ready using the new API.

	* components/tree/nautilus-tree-model.c:
	(nautilus_tree_model_monitor_add,
	nautilus_tree_model_monitor_node): Monitor/call_when_ready using the new API.

	* src/nautilus-sidebar-title.c, src/nautilus-sidebar-title.h
	(nautilus_sidebar_title_set_uri): Monitor/call_when_ready using
	the new API, and use file metadata instead of directory metadata.

	* src/nautilus-sidebar.c (nautilus_sidebar_destroy,
	nautilus_sidebar_add_panel_items,
	nautilus_sidebar_background_is_default, receive_dropped_uri_list,
	receive_dropped_color, receive_dropped_keyword,
	(background_settings_changed_callback,
	background_appearance_changed_callback, background_reset_callback,
	open_with_callback, nautilus_sidebar_update_buttons,
	nautilus_sidebar_update_appearance, nautilus_sidebar_set_uri):
	Monitor/call_when_ready using the new API, and use file metadata
	instead of directory metadata. Keep around a NautilusFile
	representing the current sidebar location, simplifying bunches of
	code and hopefully eliminating potential redundant I/O.

	* src/nautilus-window-manage-views.c
	(viewed_file_changed_callback, position_and_show_window_callback,
	nautilus_window_end_location_change_callback):
	Monitor/call_when_ready using the new API, and use file metadata
	instead of directory metadata. Keep around a NautilusFile
	representing the current sidebar location, simplifying bunches of
	code and hopefully eliminating potential redundant I/O.

	* src/nautilus-window.c (nautilus_window_save_geometry): Use file
	metadata instead of directory metadata.
2000-10-12 06:44:26 +00:00
John Sullivan 75d9047c7c Added more bug numbers to FIXMEs. 49 to go.
* components/services/install/lib/eazel-install-rpm-glue.c:
	(eazel_uninstall_downward_traverse):
	* libnautilus-extensions/nautilus-merged-directory.c:
	(nautilus_merged_directory_add_real_directory):
	* libnautilus-extensions/nautilus-mime-actions.c:
	(make_oaf_query_with_known_mime_type),
	(make_oaf_query_with_uri_scheme_only):
	* libnautilus-extensions/nautilus-preferences.c:
	(nautilus_preferences_set_string_list):
	* libnautilus-extensions/nautilus-program-chooser.c:
	(program_file_pair_compute_status), (get_supertype_from_file):
	* libnautilus-extensions/nautilus-scalable-font.c:
	(nautilus_scalable_font_measure_text):
	* libnautilus/nautilus-view.c: (view_frame_call_begin):
	* nautilus-installer/src/support.c: (create_pixmap),
	(create_image):
	* src/file-manager/fm-desktop-icon-view.c: (create_mount_link),
	(volume_unmounted_callback), (place_home_directory):
	* src/file-manager/fm-icon-view.c: (get_next_position),
	(play_file), (get_icon_text_callback):
	* src/file-manager/fm-list-view.c: (fm_list_view_initialize),
	(create_list), (fm_list_view_set_zoom_level),
	(fm_list_view_font_family_changed):
	* src/file-manager/nautilus-indexing-info.c:
	(nautilus_indexing_info_show_dialog):
	* src/nautilus-application.c: (nautilus_application_startup):
	* src/nautilus-first-time-druid.c:
	(next_proxy_configuration_page_callback), (initiate_file_download):
	* src/nautilus-property-browser.c: (add_background_to_browser):
	* src/nautilus-shell.c:
2000-08-29 16:28:58 +00:00
Darin Adler 7295589544 Finished task 571 (Make a Trash "virtual directory" with trash
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.
2000-08-22 02:11:45 +00:00