1. 28 May, 2000 1 commit
    • Pavel Cisler's avatar
      Used the fixed-up gnome_vfs_shutdown to properly synchronize with GnomeVFS · 3bc14c44
      Pavel Cisler authored
      2000-05-27  Pavel Cisler  <pavel@eazel.com>
      
      	* src/nautilus-application.c: (nautilus_app_quit):
      	Used the fixed-up gnome_vfs_shutdown to properly synchronize
      	with GnomeVFS threads that are still finishing up. Got rid of
      	nautilus_app_real_quit and the other hacky code that I used
      	to do this before gnome_vfs_shutdown was working properly.
      	Got rid of a bunch of FIXMEs that are now take care of.
      
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(cancel_directory_counts), (top_left_read_close),
      	(cancel_top_left_read), (nautilus_metafile_read_cancel),
      	(start_getting_directory_counts), (start_getting_top_lefts):
      	Added cancel calls to the different GnomeVFS async tasks that
      	can be running when opening a Nautilus window, called them
      	from the NautilusDirectory destroy call.
      
      	Nautilus now shuts down GnomeVFS jobs cleanly during a quit.
      	There is still a problem where in some cases it will take a
      	while before the async jobs go away. This seems to be because
      	the corresponding NautilusDirectory doesn't get destroyed right
      	away when a window is closed. I need to get Darin to help me fix
      	this.
      3bc14c44
  2. 26 May, 2000 1 commit
    • John Sullivan's avatar
      Fixed bug 992 ("Fully Decorate Remote Views" is not a · cbf780ad
      John Sullivan authored
      	sensible preference). Note that before making the
      	quick wording fix Darin, Ian, and I came up with a
      	longer-term plan for handling this general kind of
      	thing well (bug 995).
      
      	* libnautilus-extensions/nautilus-global-preferences.h:
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(state_changed):
      	* libnautilus-extensions/nautilus-global-preferences.c:
      	(global_preferences_create_dialog),
      	(global_preferences_register_for_ui):
      	* libnautilus-extensions/nautilus-icon-factory.c:
      	(nautilus_icon_factory_get_icon_for_file):
      	Changed "Fully Decorate Remote Views" to "Display text in
      	icons even for remote text files"
      	Changed NAUTILUS_PREFERENCES_REMOTE_VIEWS to
      	NAUTILUS_PREFERENCES_SHOW_TEXT_IN_REMOTE_ICONS
      cbf780ad
  3. 23 May, 2000 1 commit
    • Darin Adler's avatar
      Implemented Reload for directory views. · 503b5255
      Darin Adler authored
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(nautilus_directory_monitor_add_internal),
      	(dequeue_pending_idle_callback), (cancel_directory_load),
      	(directory_load_done),
      	(nautilus_directory_monitor_remove_internal),
      	(nautilus_directory_call_when_ready_internal),
      	(mark_all_files_unconfirmed), (start_monitoring_file_list),
      	(nautilus_directory_stop_monitoring_file_list),
      	(nautilus_directory_force_reload):
      	* libnautilus-extensions/nautilus-directory.c:
      	(call_files_changed_unref_free_list),
      	(nautilus_directory_notify_files_removed),
      	(nautilus_directory_notify_files_moved),
      	(nautilus_directory_file_monitor_add):
      	* libnautilus-extensions/nautilus-file-private.h:
      	* libnautilus-extensions/nautilus-file.c: (nautilus_file_get),
      	(destroy), (nautilus_file_monitor_remove), (nautilus_file_delete),
      	(nautilus_file_mark_gone), (nautilus_file_changed),
      	(nautilus_file_emit_changed):
      	Added the necessary tweaks to the async. I/O so we can handle
      	a reload, not just the initial load.
      
      	* libnautilus-extensions/nautilus-icon-container.h:
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(nautilus_icon_container_add): Changed API so it will detect if
      	you try to add the same item twice and indicate it with a return
      	value; needed so we can handle reload.
      
      	* libnautilus-extensions/nautilus-list.c: (set_single_click_mode),
      	(update_single_click_mode_from_preferences),
      	(nautilus_list_initialize), (click_policy_changed_callback):
      	Fixed bug where a change in single click mode would chang the
      	appearance of the names in the list, but not cause a redraw when
      	the setting was changed.
      
      	* libnautilus/nautilus-undoable.c:
      	(undo_atom_destroy_callback_data), (undo_atom_destroy),
      	(undo_atom_destroy_callback_data_g_func_cover),
      	(nautilus_undo_register_full):
      	Fixed a bug where it would try to destroy the undo atom even when
      	it didn't own it.
      
      	* libnautilus/nautilus-undoable.h:
      	Got rid of some cruft I left in here by accident.
      
      	* src/file-manager/fm-icon-view.c: (fm_icon_view_add_file):
      	* src/file-manager/fm-list-view.c: (fm_list_view_add_file):
      	Only add the files if they are not already in the list. This is
      	needed for reload.
      
      	* src/ntl-main.c: (main): Tweaked this function to be easier to
      	understand and better organized. Also added a "desktop" option
      	as a start for my next task.
      503b5255
  4. 22 May, 2000 1 commit
  5. 16 May, 2000 1 commit
    • Darin Adler's avatar
      Factored out code that's common to failure and success and made it call · f135aead
      Darin Adler authored
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(metafile_read_done), (metafile_read_failed),
      	(metafile_read_complete): Factored out code that's common to failure
      	and success and made it call the new
      	nautilus_directory_metafile_apply_pending_changes function to take
      	care of changes made while reading the metafile.
      
      	* libnautilus-extensions/nautilus-directory-metafile.h:
      	* libnautilus-extensions/nautilus-directory-metafile.c:
      	(get_metadata_list_from_node), (get_file_node),
      	(get_metadata_string_from_metafile),
      	(get_metadata_list_from_metafile),
      	(set_metadata_string_in_metafile), (set_metadata_list_in_metafile),
      	(set_metadata_in_metafile), (get_metadata_string_from_table),
      	(get_metadata_list_from_table), (str_or_null_hash),
      	(str_or_null_equal), (set_metadata_eat_value),
      	(free_file_table_entry), (free_directory_table_entry),
      	(destroy_metadata_changes_hash_table),
      	(nautilus_directory_get_metadata),
      	(nautilus_directory_get_file_metadata),
      	(nautilus_directory_get_metadata_list),
      	(nautilus_directory_get_file_metadata_list),
      	(nautilus_directory_set_metadata),
      	(nautilus_directory_set_file_metadata),
      	(nautilus_directory_set_file_metadata_list),
      	(nautilus_directory_update_file_metadata), (apply_one_change),
      	(apply_file_changes),
      	(nautilus_directory_metafile_apply_pending_changes),
      	(nautilus_directory_get_boolean_metadata),
      	(nautilus_directory_set_boolean_metadata),
      	(nautilus_directory_get_integer_metadata),
      	(nautilus_directory_set_integer_metadata):
      	Redid everything to use two hash tables to hold metadata before the
      	metafile is read in.
      
      	* libnautilus-extensions/nautilus-directory-private.h:
      	Made the "NAME" XML tag be private again. It's now only used inside
      	the nautilus-directory-metafile.c code.
      
      	* libnautilus-extensions/nautilus-file.c:
      	(rename_update_info_and_metafile): Moved the code for this inside the
      	nautilus-directory-metafile.c code.
      
      	* libnautilus-extensions/nautilus-glib-extensions.c:
      	(nautilus_g_ptr_array_sort): Took out a FIXME comment now that my
      	question about the code is answered. We can't use qsort because it
      	does not take a context pointer.
      
      	* libnautilus-extensions/nautilus-string.h: Formatting.
      f135aead
  6. 15 May, 2000 1 commit
    • Darin Adler's avatar
      First cut at metadata cleanup in preparation for fixing bug · e259c55e
      Darin Adler authored
      	with setting metadata before the metafile is read.
      
      	* libnautilus-extensions/nautilus-directory.h:
      	* libnautilus-extensions/nautilus-directory.c:
      	(get_metadata_list_from_node),
      	(nautilus_directory_get_metadata_list),
      	(nautilus_directory_set_boolean_metadata),
      	(nautilus_directory_set_integer_metadata),
      	(nautilus_directory_get_file_metadata_node),
      	(nautilus_directory_get_file_metadata_list),
      	(nautilus_directory_set_file_metadata),
      	(nautilus_directory_set_file_metadata_list),
      	* libnautilus-extensions/nautilus-file.h:
      	* libnautilus-extensions/nautilus-file.c:
      	(nautilus_file_get_metadata), (nautilus_file_get_metadata_list),
      	(nautilus_file_set_metadata), (nautilus_file_set_metadata_list),
      	(nautilus_file_get_keywords), (nautilus_file_set_keywords):
      	Unified code to deal with metadata lists and made both get and
      	set work the same way. Also got rid of the default value. For
      	lists, the default value is always NULL.
      
      	* components/notes/ntl-notes.c: (notes_load_metainfo):
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(nautilus_directory_monitor_add_internal),
      	(nautilus_directory_call_when_ready_internal):
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory.h:
      	* libnautilus-extensions/nautilus-directory.c:
      	(nautilus_directory_call_when_ready),
      	(nautilus_directory_file_monitor_add),
      	(nautilus_self_check_directory):
      	* libnautilus-extensions/nautilus-file.h:
      	* libnautilus-extensions/nautilus-file.c:
      	(nautilus_file_monitor_add), (nautilus_file_call_when_ready):
      	* src/file-manager/fm-directory-view.c:
      	(fm_directory_view_load_uri), (finish_loading_uri):
      	* src/nautilus-index-title.c: (nautilus_index_title_set_uri):
      	* src/ntl-uri-map.c: (set_initial_content_iid),
      	(get_explicit_content_view_iids_from_metafile),
      	(nautilus_navigation_info_new):
      	Converted to use new API that specifies only that metadata is
      	needed, not which keys. Maciej and I agreed that it's no use
      	to specify which keys you are interested in when you can just
      	get it wrong and have everything work anyway. Also the old API
      	didn't work for metadata lists.
      
      	* components/services/trilobite/sample/command-line/.cvsignore:
      	Added generated files.
      
      	* libnautilus-extensions/nautilus-xml-extensions.c:
      	(nautilus_xml_get_property_for_children): Format tweak.
      
      	* src/file-manager/fm-directory-view.c:
      	(bonobo_menu_delete_callback), (bonobo_menu_duplicate_callback),
      	(bonobo_menu_open_properties_window_callback),
      	(display_selection_info), (notify_selection_change_callback),
      	(queue_pending_files), (append_uri_one),
      	(fm_directory_view_duplicate_selection),
      	(fm_directory_view_trash_selection): Formatting tweaks.
      e259c55e
  7. 09 May, 2000 2 commits
    • Darin Adler's avatar
      Eliminated code that ref's files when they are the target of the · e7aa2e75
      Darin Adler authored
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(nautilus_directory_call_when_ready_internal),
      	(nautilus_directory_cancel_callback_internal),
      	(directory_count_callback), (nautilus_async_destroying_file),
      	(start_getting_directory_counts), (top_left_read_done),
      	(start_getting_top_lefts):
      	Eliminated code that ref's files when they are the target of the
      	call_when_ready list or the current file being read for top left
      	text or the current directory being counted. Instead, cancel the
      	I/O when the file is destroyed (we already had the hook).
      
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(lacks_top_left),
      	* libnautilus-extensions/nautilus-file-private.h:
      	* libnautilus-extensions/nautilus-file.c:
      	(nautilus_file_contains_text), (nautilus_file_get_top_left_text):
      	Change top left text reading to only read text files and other
      	regular files with unknown type.
      
      	* libnautilus-extensions/nautilus-gtk-extensions.c:
      	(nautilus_gtk_marshal_NONE__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER):
      	* libnautilus-extensions/nautilus-gtk-extensions.h:
      	Needed a new marshal function.
      
      	* libnautilus-extensions/nautilus-icon-container.h:
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(resort_and_clear), (auto_position_icon), (relayout):
      	Changed around to share more code.
      	(reload_icon_positions): Call to reload icon positions when you
      	switch from auto to manual layout.
      	(idle_handler): Get rid of relayout on idle.
      	(nautilus_icon_container_move_icon): Renamed icon_changed to
      	icon_position_changed.
      	(rubberband_select): Fixed bug where rubberband would never deselect.
      	(nautilus_icon_container_initialize_class): Add a new signal called
      	get_stored_icon_position and also renamed the icon_changed signal to
      	icon_position_changed.
      	(nautilus_icon_container_update_icon): Changed back the
      	get_icon_images interface to return NautilusScaledIcon objects
      	instead of actual pixbufs. This is made possible by the change to
      	include the embedded text as one of the parameters when creating
      	a NautilusScaledIcon.
      	(nautilus_icon_container_add): Merged the two flavors of add and
      	removed the extra parameters. Now the icon position and scale comes
      	from a callback (via signal).
      	(nautilus_icon_container_set_selection): Use a hash table (fixes
      	Bugzilla bug 613).
      	(nautilus_icon_container_select_list_unselect_others): Use a hash
      	table.
      	(nautilus_icon_container_set_auto_layout): Reload the previous
      	icon positions and "freeze" them (store them) when switching from
      	automatic layout to manual.
      	(nautilus_icon_container_freeze_icon_positions): Public function
      	to store all the icon psoitions. For use later with the dialog that
      	you get when you drag an icon.
      	* src/file-manager/fm-icon-view.c:
      	(get_stored_icon_position_callback): Support new interface for
      	getting the icon position. Also used setlocale so metadata always
      	uses a locale-independent format for floating point numbers.
      	(fm_icon_view_add_file), (fm_icon_view_done_adding_files):
      	New simplified interface for adding icons.
      	(auto_layout_callback), (manual_layout_callback): Fixed a bug where
      	we'd always switch to auto layout on startup. It's actually a bug
      	in Bonobo where new radio menu items get callbacks right away.
      	(icon_position_changed_callback): Used setlocale so metadata always
      	uses a locale-independent format for floating point numbers.
      	(get_icon_images_callback): Changed for new simpler embedded text
      	API. Moved the actual pixbuf stuff back into NautilusIconContainer.
      	(create_icon_container): New get_stored_icon_position callback and
      	renamed icon_position_changed callback.
      
      	* libnautilus-extensions/nautilus-icon-dnd.c: (handle_local_move),
      	(handle_nonlocal_move),
      	(nautilus_icon_container_receive_dropped_icons):
      	Restructured the drag code a little bit to make it easy to add the
      	dialog that you get when you drag an icon within an auto-layed-out
      	window (that I will add soon).
      
      	* libnautilus-extensions/nautilus-icon-factory.h:
      	* libnautilus-extensions/nautilus-icon-factory.c:
      	(nautilus_scalable_icon_get), (nautilus_scalable_icon_unref),
      	(nautilus_scalable_icon_hash), (nautilus_scalable_icon_equal),
      	(nautilus_icon_factory_get_icon_for_file),
      	(nautilus_icon_factory_get_emblem_icon_by_name),
      	(nautilus_icon_factory_get_emblem_icons_for_file),
      	(get_image_from_cache),
      	(nautilus_icon_factory_get_pixbuf_for_icon),
      	(nautilus_icon_factory_get_pixbuf_for_file), (embed_text),
      	(load_image_with_embedded_text):
      	* src/file-manager/fm-list-view.c:
      	(fm_list_view_get_emblem_pixbufs_for_file):
      	* src/file-manager/fm-properties-window.c:
      	(create_image_widget_for_emblem):
      	* src/nautilus-index-title.c: (nautilus_index_title_update_info):
      	Even though John talked me out of it, I talked myself back into it.
      	Redid the embedded text so it's done entirely inside the icon
      	factory. This keeps the interface simple.
      
      	* libnautilus-extensions/nautilus-icon-private.h: Add a missing
      	newline.
      e7aa2e75
    • Darin Adler's avatar
      Added "." parameter to "find" so it works with non-GNU versions of find. · 8ad77275
      Darin Adler authored
      	* check-FIXME.pl:
      	* check-config-h.pl: Added "." parameter to "find" so it works
      	with non-GNU versions of find. This was for Morten, who wanted
      	to run check-config-h.pl on Gnumeric.
      
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(start_getting_top_lefts): Turn embedded text back on.
      
      	* libnautilus-extensions/nautilus-directory.c:
      	(nautilus_directory_get_metadata): Fixed a bug that was showing
      	up in "make check".
      	(nautilus_self_check_directory): Got rid of GNOME VFS tests,
      	since I moved the same tests into test-async-cancel in the
      	gnome-vfs module.
      8ad77275
  8. 08 May, 2000 1 commit
    • Maciej Stachowiak's avatar
      Improved the logic so it records the fact that the directory count is · d5b4005e
      Maciej Stachowiak authored
      	* libnautilus-extensions/nautilus-directory-async.c
      	(directory_count_callback): Improved the logic so it records the
      	fact that the directory count is complete earlier and more
      	cleanly. This stops an assertion failure I was seeing occasionally
      	from showing up, by fixing or at least hiding the underlying
      	problem.
      d5b4005e
  9. 06 May, 2000 1 commit
  10. 05 May, 2000 2 commits
    • Darin Adler's avatar
      Fix up the code for cancelling so we don't leave files open and · 4e357f83
      Darin Adler authored
      	objects around so much. It was getting out of hand.
      
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(empty_close_callback): Give a warning if we ever have a close
      	that fails.
      	(directory_count_callback): For easier debugging, NULL out the
      	file after unref'ing.
      	(start_getting_directory_counts): Unref the file when we cancel
      	a directory count part-way through (leak #1).
      	(start_getting_top_lefts): Close the file when we cancel a top
      	left read part-way through (leak #2). Unref the file when we
      	cancel a top left read part way thorugh (leak #3).
      4e357f83
    • Darin Adler's avatar
      Moved the "embedded text" feature into the icon factory and · 33910528
      Darin Adler authored
      	NautilusFile.
      
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(metafile_read_close), (nautilus_metafile_read_cancel),
      	(metafile_read_failed), (metafile_read_complete),
      	(metafile_read_callback), (metafile_read_some),
      	(metafile_read_open_callback), (metafile_read_start),
      	(nautilus_directory_request_read_metafile), (metafile_write_done),
      	(metafile_write_failed), (metafile_write_callback),
      	(metafile_write_create_callback), (nautilus_metafile_write_start),
      	(metafile_write), (lacks_top_left), (wants_top_left),
      	(has_problem), (select_needy_file), (count_lines),
      	(top_left_read_done), (top_left_read_failed),
      	(top_left_read_complete), (top_left_read_close),
      	(top_left_read_callback), (top_left_read_some),
      	(top_left_open_callback), (start_getting_top_lefts),
      	(state_changed):
      	Added code to read top lefts of files in the background.
      	Restructured things to accomodate this new code nicely with
      	a minimum of copy and paste (there still was plenty of copy
      	and paste so there's room for improvement).
      
      	* libnautilus-extensions/nautilus-directory.c:
      	(nautilus_directory_destroy):
      	Name changes from above required revising some asserts.
      
      	* libnautilus-extensions/nautilus-file-private.h:
      	* libnautilus-extensions/nautilus-file.c:
      	(nautilus_file_get_top_left_text): Now it returns something
      	besides just NULL.
      	(nautilus_extract_top_left_text): Function that remembers only
      	the part of the top left text that we want to keep around.
      
      	* libnautilus-extensions/nautilus-gtk-extensions.h:
      	* libnautilus-extensions/nautilus-gtk-extensions.c:
      	(nautilus_gtk_marshal_NONE__POINTER_POINTER_POINTER),
      	(nautilus_gtk_marshal_POINTER__POINTER_INT_INT_POINTER_POINTER):
      	Needed some new marshal functions.
      
      	* libnautilus-extensions/nautilus-icon-canvas-item.h:
      	* libnautilus-extensions/nautilus-icon-canvas-item.c:
      	(nautilus_icon_canvas_item_initialize_class),
      	(nautilus_icon_canvas_item_destroy),
      	(nautilus_icon_canvas_item_set_arg),
      	(nautilus_icon_canvas_item_get_arg),
      	(nautilus_icon_canvas_item_get_image),
      	(nautilus_icon_canvas_item_set_image),
      	(nautilus_icon_canvas_item_draw):
      	Removed the old embedded text support. It came with a whole lot
      	of baggage, also removed.
      
      	* libnautilus-extensions/nautilus-icon-container.h:
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(nautilus_icon_container_update_icon): Moved pixbuf computing code
      	into the FMIconView class. We might decide later to move it back
      	again, but for now the embedded text makes it easier to do it
      	this way.
      	(nautilus_icon_container_initialize_class): Merged
      	get_icon_editable_text and get_icon_additional_text back into
      	a single signal that gets both.
      
      	* libnautilus-extensions/nautilus-icon-dnd.c:
      	(nautilus_icon_dnd_begin_drag): Updated for change in icon factory
      	API.
      
      	* src/file-manager/fm-directory-view.c: (finish_loading_uri):
      	Ask for top-left text attribute for all directories.
      
      	* src/file-manager/fm-icon-view.c: (get_icon_images_callback):
      	Moved pixbuf computing code into the FMIconView class. We might
      	decide later to move it back again, but for now the embedded text
      	makes it easier to do it this way.
      	(get_icon_text_callback): Merged get_icon_editable_text and
      	get_icon_additional_text back into a single signal that gets both.
      33910528
  11. 04 May, 2000 1 commit
    • Darin Adler's avatar
      Some more instructions and cleanup. Removed one gratuitous renaming we · e0e2e07e
      Darin Adler authored
      	* HACKING: Some more instructions and cleanup.
      	* RENAMING: Removed one gratuitous renaming we won't do.
      
      	* components/html/ntl-web-browser.c:
      	Removed stray "#include <config.h>" that I added by accident.
      
      	* components/hardware/main.c: (main):
      	* components/help/hyperbola-main.c: (main):
      	* components/html/ntl-web-browser.c: (main):
      	* components/music/main.c: (main):
      	* components/notes/ntl-notes.c: (main):
      	* components/rpmview/main.c: (main):
      	* components/websearch/ntl-web-search.c: (main):
      	* src/file-manager/gnome-desktop.c (main):
      	* src/ntl-main.c (main):
      	Added ifdefs so you don't get warnings when building with
      	localization turned off. Ugly, but needed I think.
      
      	* components/help/converters/gnome-db2html2/gdb3html.c:
      	(ulink_start_element), (start_element):
      	* components/help/converters/gnome-db2html2/sect-elements.c:
      	(sect_sect_start_element), (sect_sect_end_element),
      	(sect_title_start_element), (sect_xref_start_element),
      	(sect_graphic_start_element), (sect_get_infobox_logo):
      	* components/help/converters/gnome-db2html2/sect-preparse.c:
      	(sect_preparse_sect_start_element),
      	(sect_preparse_title_characters):
      	* components/help/converters/gnome-db2html2/toc-elements.c:
      	(toc_sect_start_element), (toc_title_start_element):
      	* components/help/converters/gnome-info2html2/html.c:
      	(write_node_link_html):
      	* components/help/hyperbola-filefmt.c: (tree_key_compare):
      	* components/help/hyperbola-nav-index.c: (start_element),
      	(end_element), (hyperbola_navigation_index_new):
      	* components/html/ntl-web-browser.c: (browser_submit):
      	Replaced all uses of strcasecmp with g_strcasecmp.
      	Why? Because Michael Meeks said so and that's good enough
      	for me (in this case :-).
      
      	* components/music/nautilus-music-view.c:
      	(nautilus_music_view_update_from_uri):
      	* libnautilus-extensions/nautilus-file.c:
      	(nautilus_file_get_mime_type_as_string_attribute),
      	(nautilus_file_get_mime_type):
      	* libnautilus-extensions/nautilus-icon-factory.c:
      	(nautilus_icon_factory_get_icon_name_for_regular_file):
      	* src/file-manager/fm-icon-view.c (get_icon_property_callback):
      	* src/ntl-index-panel.c (nautilus_index_panel_update_buttons):
      	* src/ntl-uri-map.c (file_list_to_mime_type_hash_table):
      	Changed get_mime_type to be like all other text functions and
      	return a strdup'd string. John said it was a good idea.
      
      	* libnautilus-extensions/nautilus-file-private.h:
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(metafile_read_callback), (metafile_read_some),
      	(set_up_request_by_file_attributes),
      	(nautilus_directory_monitor_add_internal),
      	(directory_list_get_next_position), (directory_load_callback),
      	(ready_callback_call),
      	(nautilus_directory_call_when_ready_internal),
      	(wants_directory_count), (has_problem),
      	(ready_callback_is_satisfied), (is_anyone_monitoring_file_list),
      	(is_anyone_waiting_for_metafile), (is_wanted), (select_needy_file),
      	(start_getting_directory_counts):
      	Reorganize to get ready for adding code to read the top left text.
      
      	* libnautilus-extensions/nautilus-file-attributes.h:
      	Added name for the "top left text" attribute.
      
      	* libnautilus-extensions/nautilus-file.h:
      	* libnautilus-extensions/nautilus-file.c:
      	(nautilus_file_get_top_left_text):
      	Added call to get the top left text.
      
      	* libnautilus-extensions/nautilus-icon-canvas-item.c:
      	(draw_embedded_text): Tiny format tweak.
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(nautilus_icon_container_update_icon): Tiny format tweak.
      
      	* libnautilus-extensions/nautilus-icon-factory.h:
      	* libnautilus-extensions/nautilus-icon-factory.c:
      	(nautilus_icon_factory_get_pixbuf_for_file),
      	(nautilus_icon_factory_get_pixmap_and_mask_for_file),
      	(nautilus_icon_factory_embed_text),
      	(nautilus_icon_factory_embed_file_text):
      	Added support for embedded text. Not completely deployed yet.
      e0e2e07e
  12. 28 Apr, 2000 3 commits
    • Darin Adler's avatar
      Some cleanup inspired by Maciej's check-in. · 8636bfa9
      Darin Adler authored
      	* libnautilus-extensions/nautilus-directory-async.c
      	(ready_callback_call),
      	(nautilus_directory_call_when_ready_internal),
      	(call_ready_callbacks):
      	Made the fix so that call_when_ready works properly when a NULL
      	directory is passed in.
      
      	* libnautilus-extensions/nautilus-file.h:
      	* libnautilus-extensions/nautilus-file.c
      	(nautilus_file_call_when_ready): Fix for call_when_ready with
      	a NULL file.
      	(nautilus_file_ref), (nautilus_file_list_ref),
      	(nautilus_file_list_copy): Filled out the operations on lists.
      
      	* libnautilus-extensions/nautilus-gtk-extensions.h:
      	* libnautilus-extensions/nautilus-gtk-extensions.c
      	(nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_copy):
      	Filled out the operations on lists.
      
      	* src/ntl-uri-map.c (got_metadata_callback): Factored out the
      	call to async get_file_info to simplify the logic.
      	(nautilus_navigation_info_new): Took out the check for NULL that
      	Maciej mentioned in his notes below now that call_when_ready can
      	handle things.
      	(nautilus_navigation_info_cancel),
      	(nautilus_navigation_info_free): Took out some excessive NULL
      	checks when calling routines that work with NULL.
      8636bfa9
    • Maciej Stachowiak's avatar
      include <stdlib.h>, my compiler insists on it. · fabdbad0
      Maciej Stachowiak authored
      	* libnautilus-extensions/nautilus-directory-async.c: include
      	<stdlib.h>, my compiler insists on it.
      fabdbad0
    • Darin Adler's avatar
      Rewrite of the state machine. This adds the new feature that Maciej needs · 7e8e4fa2
      Darin Adler authored
      	* libnautilus-extensions/nautilus-directory-async.c:
      	Rewrite of the state machine. This adds the new feature that Maciej
      	needs where you can call "call_when_ready" to get file attributes.
      
      	* libnautilus-extensions/nautilus-directory-private.h:
      	Added a file_list_monitored boolean to simplify the logic.
      
      	* libnautilus-extensions/nautilus-directory.c
      	(nautilus_directory_destroy): Took advantage of file_list_monitored
      	simplification.
      	(nautilus_directory_call_when_ready),
      	(nautilus_directory_cancel_callback): Tweaked the return_if_fail
      	calls to match changes in the async.c file.
      	(got_files_callback), (nautilus_self_check_directory):
      	Added self-check code to test the new feature.
      
      	* libnautilus-extensions/nautilus-string.h:
      	* libnautilus-extensions/nautilus-string.c (nautilus_str_compare):
      	Added a new function for use with things that take a GCompareFunc
      	to avoid a function type cast.
      7e8e4fa2
  13. 27 Apr, 2000 3 commits
    • Darin Adler's avatar
      Changed to the new Nautilus list instead of the old secret list. · 6397f17c
      Darin Adler authored
      	* MAINTAINERS: Changed to the new Nautilus list instead of the
      	old secret list.
      
      	* components/notes/ntl-notes.c (notes_load_metainfo):
      	* src/file-manager/fm-directory-view.c
      	(fm_directory_view_load_uri), (metadata_ready_callback):
      	* src/ntl-uri-map.c (got_metadata_callback),
      	(nautilus_navigation_info_new):
      	Change calls to use new API, but not to use any of the new features,
      	which are not yet implemented.
      
      	* libnautilus-extensions/nautilus-directory.h:
      	* libnautilus-extensions/nautilus-directory.c
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory-async.c
      	* libnautilus-extensions/nautilus-file.c
      	* libnautilus-extensions/nautilus-file.h:
      	Added the new API and moved functions around a bit to prepare
      	for the new feature needed by Maciej for getting a list of files.
      
      	* libnautilus-extensions/nautilus-file-attributes.h:
      	Added an attribute constant for MIME type.
      6397f17c
    • John Sullivan's avatar
      More FIXME-to-bug work. · 7540b533
      John Sullivan authored
      	* configure.in
      	* components/services/startup/nautilus-service-startup-view.c,
      	* libnautilus-extensions/nautilus-directory-async.c,
      	* libnautilus-extensions/nautilus-global-preferences.c,
      	* libnautilus-extensions/nautilus-icon-canvas-item.c,
      	* src/ntl-uri-map.c:
      
      	Wrote bug reports for all FIXMEs in these files. With
      	this checkin and Darin's next one, there should be no
      	more FIXMEs in Nautilus without a bug report.
      7540b533
    • Darin Adler's avatar
      Implemented async. lookup of information about newly arrived files. · 3bb72b2e
      Darin Adler authored
      	* libnautilus-extensions/nautilus-directory-async.c
      	(nautilus_directory_schedule_dequeue_pending_idle),
      	(new_files_callback), (nautilus_directory_get_info_for_new_files):
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory.c (call_files_added),
      	(call_files_added_free_list) (call_files_changed),
      	(call_fiels_changed_free_list), (call_get_file_info_free_list),
      	(nautilus_directory_notify_files_added),
      	(nautilus_directory_notify_files_removed),
      	(nautilus_directory_notify_files_moved):
      	Implemented async. lookup of information about newly arrived
      	files. Changed moved files to work without a new call to get
      	file information. Fixed some storage leaks.
      
      	* libnautilus-extensions/nautilus-directory-async.c
      	(empty_close_callback), (metafile_read_close),
      	(nautilus_metafile_read_cancel), (metafile_read_callback),
      	(metafile_read_some), (metafile_read_open_callback),
      	(metafile_write_callback): Fixed bug where we were not closing
      	files when cancelling.  This requires a bug fix in GNOME VFS to be
      	effective.
      
      	* libnautilus-extensions/nautilus-directory-async.c
      	(dequeue_pending_idle_callback):
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory.c
      	(nautilus_directory_destroy):
      	Use new functions in GNOME VFS instead of our own.
      
      	* components/html/ntl-web-browser.c (main): Fixed a warning.
      	* docs/nautilus.faq: Tweak.
      3bb72b2e
  14. 26 Apr, 2000 2 commits
    • Darin Adler's avatar
      Fixed an assert that was breaking "make check". · 62644698
      Darin Adler authored
      	* libnautilus-extensions/nautilus-directory-async.c
      	(nautilus_directory_file_monitor_add):
      	Fixed an assert that was breaking "make check".
      
      	* libnautilus-extensions/nautilus-directory.c
      	(nautilus_directory_notify_files_added),
      	(nautilus_directory_notify_files_moved):
      	Updated bug numbers on FIXMEs in here.
      62644698
    • Darin Adler's avatar
      This change requires a new gnome-vfs. · 284b99c4
      Darin Adler authored
      	* HACKING: Updated URL for popt.
      
      	* components/rpmview/nautilus-rpm-view.c:
      	(nautilus_rpm_view_update_from_uri):
      	Changed to use FD_t for real instead of casting a pointer to a
      	raw file descriptor to it.
      
      	* libnautilus-extensions/nautilus-directory-async.c:
      	Told it to load 32 items at a time instead of 1.
      	I think it's time we try this. It seems to work.
      
      	* src/ntl-uri-map.c (my_notify_when_ready),
      	(got_metadata_callback): Change to use the new version of
      	async. get_file_info.
      284b99c4
  15. 25 Apr, 2000 2 commits
    • Darin Adler's avatar
      Re-removed mismerged assert from Andy's change. Organized the header a · 52bba635
      Darin Adler authored
      	* libnautilus-extensions/nautilus-directory-async.c
      	(metafile_read_complete): Re-removed mismerged assert
      	from Andy's change.
      	* libnautilus-extensions/nautilus-directory-private.h:
      	Organized the header a bit.
      52bba635
    • Darin Adler's avatar
      Spacing tweak. · b8a4a282
      Darin Adler authored
      	* components/music/nautilus-music-view.c
      	(nautilus_music_view_update_from_uri): Spacing tweak.
      
      	* libnautilus-extensions/Makefile.am:
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory.c:
      	* libnautilus-extensions/nautilus-directory-async.c:
      	* libnautilus-extensions/nautilus-file.c:
      	Moved half of nautilus-directory.c into a new file as a first step
      	in cleaning up the state machine a bit.
      b8a4a282