* RENAMING: Updated to reflect completed tasks.
* components/notes/ntl-notes.c: (make_notes_view):
* components/websearch/ntl-web-search.c: (make_obj):
Changed to use simplified clipboard API.
* components/services/trilobite/libtrilobite/.cvsignore:
Ignore generated files.
* libnautilus-extensions/gtkscrollframe.c:
* libnautilus-extensions/gtkscrollframe.h:
Renamed GtkScrollFrame to NautilusScrollFrame so we won't conflict
if a GtkScrollFrame actually gets added to gtk some day. The file
still needs renaming (mentioned in RENAMING).
* libnautilus/nautilus-clipboard.h:
* libnautilus/nautilus-clipboard.c: (cut_callback),
(copy_callback), (paste_callback), (clear_callback),
(add_menu_item), (add_menu_items_callback),
(remove_menu_items_callback), (nautilus_clipboard_set_up_editable):
Simplified clipboard implementation. Does the same thing the old
code did without needing a class and with a simpler API.
* nautilus-widgets/nautilus-preferences-item.c:
* src/file-manager/fm-icon-text-window.c:
* src/nautilus-zoom-control.c:
* src/ntl-window.c:
Renamed _cb to _callback. Some other (minor) cleanup.
* src/file-manager/Makefile.am:
* src/file-manager/desktop-canvas.c: [removed]
* src/file-manager/desktop-canvas.h: [removed]
* src/file-manager/desktop-menu.c: [removed]
* src/file-manager/desktop-menu.h: [removed]
* src/file-manager/gnome-desktop.c: [removed]
Now that I'm doing the desktop work, I know we don't need these.
I'll be deleting the desktop source files that Havoc added as I
harvest the useful code from them.
* src/file-manager/fm-directory-view.c:
(bonobo_control_activate_callback): Add comments.
* src/nautilus-zoom-control.h: Fixed problem where the zoom
control didn't know if it was an event box or a pixmap.
* src/ntl-index-panel.c: (nautilus_index_panel_add_meta_view):
Fixed bug that was trashing the sidebar panel names. I put
the g_free call in the wrong place.
* src/ntl-uri-map.c: (sidebar_panel_preference_is_on):
Fixed bug where the sidebar preference wasn't saved. I found
another place with another copy of the preference path. This
sort of thing really needs to go in a header file, I think.
* libnautilus/Makefile.am:
* libnautilus/libnautilus.h:
* libnautilus/nautilus-meta-view-frame.c: [deleted]
* libnautilus/nautilus-meta-view-frame.h: [deleted]
* libnautilus/nautilus-view-component.idl:
* po/POTFILES.in:
* src/ntl-index-panel.c: (nautilus_index_panel_add_meta_view):
* src/ntl-window.c: (nautilus_window_add_meta_view):
Removed Nautilus::MetaView and all the related classes.
We still have Nautilus::MetaViewFrame (will go soon).
* components/help/hyperbola-nav-index.c:
(hyperbola_navigation_index_new):
* components/help/hyperbola-nav-search.c:
(hyperbola_navigation_search_new):
* components/help/hyperbola-nav-tree.c:
(hyperbola_navigation_tree_new):
* components/history/ntl-history-view.c: (make_obj):
* components/loser/sidebar/nautilus-sidebar-loser.c:
(nautilus_sidebar_loser_initialize),
(loser_notify_location_change_callback):
* components/loser/sidebar/nautilus-sidebar-loser.h:
* components/notes/ntl-notes.c: (make_notes_view):
* components/websearch/ntl-web-search.c: (make_obj):
Changed to use just plain view insetad of meta_view.
* libnautilus-extensions/nautilus-global-preferences.h:
* libnautilus-extensions/nautilus-global-preferences.c:
(global_preferences_create_dialog),
(nautilus_global_preferences_get_sidebar_panel_view_identifiers),
(nautilus_global_preferences_get_sidebar_view_iids),
(nautilus_preferences_register_sidebar_view_preferences_for_ui),
(global_preferences_register_for_ui):
Changed naming to call them sidebar views instead of meta views,
and got rid of code that depends on MetaView interface. We now
use the sidebar_panel_name to determine if a view should show
up in the sidebar.
* src/ntl-view.h: Fixed a comment to reflect the future
instead of the past.
2000-05-23 Gene Z. Ragan <gzr@eazel.com>
* libnautilus/nautilus-undo-context.c:
(impl_Nautilus_Undo_Context__get_undo_manager):
Added call to CORBA_Object_duplicate(). This
fixed an explosive bug.
* libnautilus/nautilus-undo-manager.c:
* libnautilus/nautilus-undo-manager.h:
(nautilus_undo_manager_stash_global_undo),
(nautilus_undo_manager_get_global_undo):
New functions to save application global instance of Nautilus_Undo_Manager
* src/ntl-app.c: (nautilus_app_init):
Add call to nautilus_undo_manager_stash_global_undo.
* src/ntl-view.c:
(nautilus_view_frame_load_client):
Coonected Nautilus_Undo_Context interface to view frame.
* libnautilus/nautilus-undo-manager.c:
(impl_Nautilus_Undo_Manager__append), (nautilus_undo_manager_undo),
(nautilus_undo_manager_redo),
(nautilus_undo_manager_add_transaction),
(nautilus_undo_manager_unregister_object), (destroy),
(nautilus_undo_manager_set_queue_depth), (free_undo_manager_list),
(prune_undo_manager_list), (nautilus_get_undo_manager),
(undo_manager_unref), (undo_manager_ref),
(nautilus_attach_undo_manager), (set_up_bonobo_control),
(nautilus_undo_set_up_bonobo_control):
Some cleanup of the undo code, including a first cut of the
set_up_bonobo_control function. Also got rid of all the excess
unrefs that we didn't need. I hope this is right now. Also fixed
bug where code was trying to bonobo_object_unref a CORBA object
directly.
* libnautilus/nautilus-undo-manager.c:
(nautilus_undo_set_up_bonobo_control):
* libnautilus/nautilus-undo-manager.h:
* libnautilus/nautilus-view-frame.c:
(nautilus_view_real_set_bonobo_control):
Change from setup to set_up. Setup is a noun, set up a verb phrase.
* libnautilus/nautilus-undoable.c: (nautilus_undo_register_full),
(nautilus_undo): Some minor cleanup and unrefing the transaction
after adding it to the undo manager.
2000-05-23 Gene Z. Ragan <gzr@eazel.com>
* libnautilus/nautilus-undo-context.c:
* libnautilus/nautilus-undo-context.h:
(impl_Nautilus_Undo_Context__get_undo_manager),
(nautilus_undo_context_new), (nautilus_undo_context_initialize):
Additonal work on making the undo context CORBA object.
* libnautilus/nautilus-undo-manager.c:
* libnautilus/nautilus-undo-manager.h:
* libnautilus/nautilus-undo-manager-private.h:
(impl_Nautilus_Undo_Manager__undo),
(nautilus_undo_manager_initialize),
(nautilus_undo_manager_add_transaction),
(nautilus_undo_manager_unregister_object),
(nautilus_get_undo_manager), (nautilus_attach_undo_manager),
Changed APIs to accept and return Nautilus_Undo_Manager CORBA
object instead of NautilusUndoManager pointer.
(nautilus_undo_setup_bonobo_control):
Added function stub to be filled later. This function
will attach an undo manager to a bonobo control.
Removed several functions no longer needed in new design,
including nautilus_undo_manager_begin_transaction(),
and nautilus_undo_manager_end_transaction().
* src/nautilus-window-menus.c: (edit_menu_undo_callback),
(nautilus_window_initialize_menus), (update_undo_menu_item):
Changed to use modified undo API
* src/ntl-app.c:
(nautilus_app_init):
Changed to use modified undo API
* src/ntl-window.c: (nautilus_window_constructed)
Changed to use modified undo API
* 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.
names) and #631 (nead oaf query to determine metaviews).
* libnautilus-extensions/nautilus-view-identifier.h,
libnautilus-extensions/nautilus-view-identifier.c:
(nautilus_view_identifier_new, get_lang_list,
nautilus_view_identifier_new_from_oaf_server_info,
nautilus_view_identifier_free): Moved NautilusViewIdentifier code
here from ntl-uri-map.[ch].
(nautilus_view_identifier_new_from_content_view),
(nautilus_view_identifier_new_from_sidebar_panel),
(nautilus_view_identifier_free_callback),
(nautilus_view_identifier_free_list): New functions.
* libnautilus-extensions/Makefile.am: Add
nautilus-view-identifier.[ch] to build.
* src/ntl-types.h: Removed typedef for NautilusViewIdentifier.
* libnautilus-extensions/nautilus-glib-extensions.h:
* libnautilus-extensions/nautilus-glib-extensions.c
(nautilus_g_list_free_deep_custom): New function, like
`nautilus_g_list_free_deep' but lets you pass your own free
function.
(nautilus_g_list_free_deep): Use `nautilus_g_list_free_deep_custom'
(nautilus_g_list_partition): New function to destructively
partition a GList into two, depending on whether they satisfy the
provided predicate or not.
(nautilus_test_predicate), (nautilus_self_check_glib_extensions):
Added unit tests for `nautilus_g_list_partition' and for
`nautilus_g_list_equal' since the `nautilus_g_list_partition'
tests rely on it.
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_notify_files_moved): Use
`nautilus_g_list_free_deep_custom'.
* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.c
(nautilus_gdk_pixbuf_list_free): Likewise.
* libnautilus-extensions/nautilus-icon-factory.c
(nautilus_scalable_icon_list_free): Likewise.
* libnautilus-extensions/nautilus-string-list.c
(nautilus_string_list_clear): Likewise.
* nautilus-widgets/nautilus-preferences.c (pref_hash_node_free,
prefs_hash_lookup_with_implicit_registration): Likewise.
* libnautilus-extensions/nautilus-global-preferences.c,
libnautilus-extensions/nautilus-global-preferences.h
(global_preferences_create_dialog,
nautilus_global_preferences_get_sidebar_panel_view_identifiers,
nautilus_global_preferences_get_meta_view_iids,
nautilus_preferences_register_meta_view_preferences_for_ui,
global_preferences_register_for_ui): Change things around to
determine the set of sidebar panel prefs at run time, and to pass
around NautilusViewIdentifiers rather than just iid strings so we
can use the statically defined name in the oafinfo.
* src/ntl-uri-map.h, src/ntl-uri-map.c: (set_initial_content_iid,
got_file_info_callback, sidebar_panel_preference_is_on,
(add_sidebar_panel_identifiers, nautilus_navigation_info_free):
Changed things around to better handle sidebar panel (AKA meta
view) selection, and pass around both name and iid.
* src/ntl-window-msgs.c:
(nautilus_window_request_selection_change,
nautilus_window_has_really_changed,
nautilus_window_load_meta_view, nautilus_window_update_state,
nautilus_window_set_state_info): Fixed everything to pass around
ViewIdentifiers instead of iids for sidebar panels and set the
label approrpiately when activating; replaced a whole bunch of
GSList usage with GList (we can always optimize this stuff later).
* src/ntl-window.h, src/ntl-window.c: (nautilus_window_destroy,
nautilus_window_load_content_view_menu,
nautilus_window_set_content_view, nautilus_window_add_meta_view,
nautilus_window_remove_meta_view_real,
nautilus_window_remove_meta_view): Deal with the above changes
(mostly GSList -> GList changes).
* src/ntl-view-bonobo-control.c, src/ntl-view-bonobo-subdoc.c,
src/ntl-view-nautilus.c, src/ntl-view-private.h: Remove all
get_label related calls since we get that from the oafinfo now.
* libnautilus/nautilus-meta-view-frame.h,
libnautilus/nautilus-meta-view-frame.c:
(nautilus_meta_view_frame_initialize,
nautilus_meta_view_frame_new_from_bonobo_control,
nautilus_meta_view_frame_destroy): Remove
`nautilus_meta_view_frame_set_label' machinery and associated
machinery since we now get the label statically from the oafinfo.
* components/history/ntl-history-view.c: (make_obj): Don't call
`nautilus_meta_view_frame_set_label' any more, the label is now
statically determined from the oafinfo file.
* components/notes/ntl-notes.c: (make_notes_view): Likewise.
* components/websearch/ntl-web-search.c: (make_obj): Likewise.
* components/help/hyperbola-nav-index.c: Likewise.
(hyperbola_navigation_index_new): Likewise.
* components/help/hyperbola-nav-search.c: Likewise.
(hyperbola_navigation_search_new): Likewise.
* components/help/hyperbola-nav-tree.c: Likewise.
(hyperbola_navigation_tree_new): Likewise.
* src/ntl-meta-view.h, src/ntl-meta-view.c:
(nautilus_meta_view_set_label),
(nautilus_meta_view_get_label): Have an explicit value to set,
rather than trying to get it through CORBA. This is kind of a
hack, really we should pass around a label and a NautilusMetaView
separately and remove this stuff.
* components/help/hyperbola.oafinfo,
components/notes/ntl-notes.oafinfo,
components/websearch/ntl-web-search.oafinfo,
components/history/ntl-history-view.oafinfo: Updated to include
latest Nautilus attributes.
2000-05-19 Gene Z. Ragan <gzr@eazel.com>
* libnautilus/nautilus-undo-context.c:
* libnautilus/nautilus-undo-context.h:
(impl_Nautilus_Undo_Context__destroy),
(impl_Nautilus_Undo_Context__create),
(impl_Nautilus_Undo_Context__get_undo_manager),
(nautilus_undo_context_new), (nautilus_undo_context_initialize),
(nautilus_undo_context_initialize_class), (destroy):
GTK and CORBA object that acts as interface to an undo manager.
* libnautilus/Makefile.am:
Added entries for new NautilusUndoContext files.
* libnautilus/nautilus-undo-manager.c:
(impl_Nautilus_Undo_Manager__forget), (nautilus_undo_manager_undo),
(nautilus_undo_manager_unregister_object),
(get_current_transaction_name), (free_undo_manager_list_data),
(prune_undo_manager_list):
Removed all references to NautilusUndoTransaction and changed them to use
the Nautilus_Undo_Transaction CORBA object instead.
2000-05-19 Gene Z. Ragan <gzr@eazel.com>
More undo framework work. Still incomplete.
* libnautilus-extensions/nautilus-entry.c:
(nautilus_entry_changed):
Modified to use new undo manager location API
* libnautilus-extensions/nautilus-icon-text-item.c:
(iti_event),
(restore_from_undo_snapshot_callback):
Modified to use new undo manager location API
* libnautilus/nautilus-undo-manager.c:
* libnautilus/nautilus-undo-manager.h:
(impl_Nautilus_Undo_Manager__create),
(impl_Nautilus_Undo_Manager__append),
(impl_Nautilus_Undo_Manager__forget),
(nautilus_undo_manager_begin_transaction),
(nautilus_undo_manager_end_transaction),
(nautilus_undo_manager_undo), (nautilus_undo_manager_redo),
(nautilus_undo_manager_add_transaction),
(nautilus_undo_manager_unregister_object),
(free_undo_manager_list_data), (prune_undo_manager_list):
Modified to use new API and Undo::Manager::Transaction
* libnautilus/nautilus-undo-transaction.c:
* libnautilus/nautilus-undo-transaction.h:
(impl_Nautilus_Undo_Transaction__destroy),
(impl_Nautilus_Undo_Transaction__create),
(impl_Nautilus_Undo_Transaction__get_undo_description),
(impl_Nautilus_Undo_Transaction__get_redo_description),
(impl_Nautilus_Undo_Transaction__get_base_description),
(impl_Nautilus_Undo_Transaction__undo),
(nautilus_undo_transaction_new),
(nautilus_undo_transaction_initialize),
(nautilus_undo_transaction_destroy),
(nautilus_undo_transaction_initialize_class),
(nautilus_undo_transaction_undo),
(nautilus_undo_transaction_contains_object):
Added support for new Undo::Manager::Transaction object
* libnautilus/Makefile.am:
* src/file-manager/Makefile.am:
Eskil showed me how to fix these so they'd work when orbit-idl
was not in the path at compile time.
* HACKING: Change format to make popt "pop" out more.
* libnautilus-extensions/nautilus-entry.h:
* src/file-manager/fm-properties-window.c: (create_basic_page):
* src/nautilus-bookmarks-window.c: (on_text_field_focus_in_event),
(on_window_delete_event):
* src/nautilus-location-bar.c: (nautilus_location_bar_enable_undo):
* src/nautilus-location-bar.h:
* src/nautilus-window-menus.c: (edit_menu_undo_callback),
(bookmarks_menu_add_bookmark_callback),
(bookmarks_menu_edit_bookmarks_callback),
(get_or_create_bookmarks_window), (nautilus_bookmarks_exiting),
(edit_bookmarks), (nautilus_window_initialize_menus),
(update_undo_menu_item):
* src/ntl-app.c: (nautilus_app_init), (nautilus_app_destroy):
* libnautilus-extensions/nautilus-icon-container.c:
(nautilus_icon_container_start_renaming_selected_item):
* libnautilus-extensions/nautilus-entry.c:
(nautilus_entry_key_press), (nautilus_entry_enable_undo):
* libnautilus/nautilus-undo-manager.c:
(nautilus_undo_manager_begin_transaction),
(nautilus_undo_manager_unregister_object),
(prune_undo_manager_list), (nautilus_get_undo_manager),
(nautilus_attach_undo_manager), (nautilus_share_undo_manager):
* libnautilus/nautilus-undo-manager.h:
* src/ntl-window-private.h:
* src/ntl-window.c: (nautilus_window_constructed),
(nautilus_window_real_set_content_view),
(nautilus_window_get_undo_manager):
* src/ntl-window.h:
Got rid of the undo manager parameter for the enable_undo
operation.
Eliminated code that sets up the undo manager except for the top
widgets. We only need it attached to windows and to the top widget
in each component.
Change callers to get the undo manager in a few simple ways
instead of calling gtk_object_get_data directly. Added some calls
to attach the undo manager to an arbitrary object.
* libnautilus/nautilus-undo.idl: Added comments to the IDL and
also added the Undo::Context class.
* libnautilus/nautilus-view-component.idl: Removed the dependency
on the undo IDL and the undo_manager attribute.
* src/nautilus-bookmarks-window.h:
* src/nautilus-bookmarks-window.c: (create_bookmarks_window):
Changed interface to take object to inherit the undo manager from
instead of the undo manager itself. Got rid of unnecesary undo
manager setting.
(nautilus_bookmarks_window_save_geometry): Also changed interface
to use GtkWindow instead of GtkWidget.
2000-05-17 Gene Z. Ragan <gzr@eazel.com>
CVS: ----------------------------------------------------------------------
First phase of modifying undo code. These changes CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
affect the way undo is handled internally to Nautilus and CVS:
also defines a new IDL. This is work in progress. CVS: Committing in .
CVS:
* libnautilus-extensions/nautilus-entry.c: CVS: Modified Files:
Modified to use gtk_object_get_data() mechanism to locate undo manager CVS: ChangeLog libnautilus/.cvsignore libnautilus/Makefile.am
CVS: libnautilus/nautilus-undo-manager-private.h
* libnautilus-extensions/nautilus-icon-container.c: CVS: libnautilus/nautilus-undo-manager.c
(nautilus_icon_container_start_renaming_selected_item): CVS: libnautilus/nautilus-undo-manager.h
Modified to use gtk_object_get_data() mechanism to locate undo manager CVS: libnautilus/nautilus-undo-transaction.h
CVS: libnautilus/nautilus-undoable.c
* libnautilus-extensions/nautilus-icon-text-item.c: (iti_event), CVS: libnautilus/nautilus-undoable.h
(restore_from_undo_snapshot_callback): CVS: libnautilus/nautilus-view-component.idl
Modified to use gtk_object_get_data() mechanism to locate undo manager CVS: libnautilus-extensions/nautilus-entry.c
CVS: libnautilus-extensions/nautilus-entry.h
* libnautilus/.cvsignore: CVS: libnautilus-extensions/nautilus-icon-container.c
Added generated IDL source and header files to ignore CVS: libnautilus-extensions/nautilus-icon-text-item.c
CVS: src/nautilus-bookmarks-window.c
* libnautilus/Makefile.am: CVS: src/nautilus-bookmarks-window.h src/nautilus-location-bar.c
Modified makefile to include new IDL file for undo manager CVS: src/nautilus-location-bar.h src/nautilus-window-menus.c
CVS: src/ntl-app.c src/ntl-window-private.h src/ntl-window.c
* libnautilus/nautilus-undo-manager.c: CVS: src/ntl-window.h src/file-manager/fm-properties-window.c
(impl_Nautilus_Undo_Manager__destroy), CVS: Added Files:
(impl_Nautilus_Undo_Manager__create), CVS: libnautilus/nautilus-undo.idl
(impl_Nautilus_Undo_Manager__append), CVS: Removed Files:
(impl_Nautilus_Undo_Manager__forget), CVS: libnautilus/nautilus-undo-manager-component.idl
(nautilus_undo_manager_initialize), CVS: ----------------------------------------------------------------------
(nautilus_undo_manager_initialize_class),
(nautilus_undo_manager_begin_transaction),
(nautilus_undo_manager_end_transaction),
(nautilus_undo_manager_undo), (nautilus_undo_manager_redo),
(nautilus_undo_manager_add_transaction),
(nautilus_undo_manager_unregister_object),
(nautilus_undo_manager_can_undo), (nautilus_undo_manager_can_redo),
(get_current_transaction_name),
(nautilus_undo_manager_get_current_undo_transaction_name),
(nautilus_undo_manager_get_current_redo_transaction_name),
(destroy), (nautilus_undo_manager_enable_redo),
(nautilus_undo_manager_set_queue_depth),
(free_undo_manager_list_data), (prune_undo_manager_list):
Changes to support new IDL and new undo manager mechanism.
* libnautilus/nautilus-undo.idl:
New undo manager IDL file
* libnautilus/nautilus-undo-manager-component.idl:
Removed old undo manager IDL file
* src/file-manager/fm-properties-window.c:
(create_basic_page):
Modified to use gtk_object_get_data() mechanism to locate undo manager
* src/nautilus-bookmarks-window.c:
(create_bookmarks_window),
(on_text_field_focus_in_event),
(on_window_delete_event):
Modified to use gtk_object_get_data() mechanism to locate undo manager
* src/nautilus-location-bar.c:
(nautilus_location_bar_set_location),
(nautilus_location_bar_enable_undo):
Modified to use gtk_object_get_data() mechanism to locate undo manager
* src/nautilus-window-menus.c:
(edit_menu_undo_callback),
(edit_menu_cut_callback),
(bookmarks_menu_edit_bookmarks_callback),
(get_bookmarks_window),
(nautilus_bookmarks_exiting),
(nautilus_window_edit_bookmarks),
(nautilus_window_initialize_menus),
(update_undo_menu_item):
Modified to use gtk_object_get_data() mechanism to locate undo manager
* src/ntl-app.c:
(impl_Nautilus_Application__get_view_windows),
(impl_Nautilus_Application_new_view_window),
(impl_Nautilus_Application_supports),
(impl_Nautilus_Application_create_object),
(impl_Nautilus_Application__create), (nautilus_app_get_type),
(nautilus_app_class_init), (nautilus_app_init), (nautilus_app_new),
(nautilus_app_destroy), (nautilus_app_startup),
(nautilus_app_create_window):
Modified to use gtk_object_get_data() mechanism to locate undo manager.
Added and modified IDL C stubs to match new IDL interface.
* src/ntl-window.c:
(nautilus_window_constructed),
(nautilus_window_set_arg):
Changed order that arguments are set at time of main window create so the app instance
variable is valid when the main window is contructed.
* libnautilus/Makefile.am (BUILT_SOURCES): This is way people
should use a highlighting editor so you wouldn't have these broken
BUILT_SOURCES things.
* Makefile.am (SUBDIRS): Moved components and helper-utilies
downwards in the SUBDIRS so it builds again.
* idl/Makefile.am:
* idl/fsextension.idl:
* libnautilus-extensions/Makefile.am:
* libnautilus-extensions/.cvsignore:
Removed the fsextension IDL, which was a work in progress that no
one is working on.
* libnautilus/.cvsignore:
Added the undo manager stuff.
* libnautilus-extensions/.cvsignore:
Removed the undo manager stuff.
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_denies_access_permission): Handle deleted file case.
(nautilus_file_can_rename): Handle deleted file case.
(file_operation_state_new), (file_operation_state_free),
(file_operation_state_complete),
(rename_update_info_and_metafile), (rename_callback),
(nautilus_file_rename): Put in a basic framework for file
operations that can take a while. Used it to make renaming async.
(nautilus_file_can_get_permissions): Handle deleted file case.
(nautilus_file_set_permissions): Handle case where you can't get
permissions properly. I inadvertently delete this last time.
* libnautilus-extensions/nautilus-metadata.h:
Added a metadata key for the icon view sort. Still need to write
the code to save this.
2000-05-11 Gene Z. Ragan <gzr@eazel.com>
* helper-utilities/authenticate/Makefile.am:
* nautilus-widgets/Makefile.am:
* libnautilus-extensions/Makefile.am:
* libnautilus/Makefile.am:
Change makefiles to link against libnautilus. This is so calls
to the undo manager code resolve. There is probably a better way to
do this.
* libnautilus-extensions/nautilus-entry.c:
* libnautilus-extensions/nautilus-icon-container.c:
* libnautilus-extensions/nautilus-icon-text-item.c:
* src/nautilus-bookmarks-window.c:
* src/nautilus-location-bar.c:
* src/nautilus-window-menus.c:
* src/ntl-app.c:
Changed to #include <libnautilus-extensions/nautilus-undo-manager.h>
to #include <libnautilus/nautilus-undo-manager.h>
2000-05-10 Gene Z. Ragan <gzr@eazel.com>
*libnautilus/nautilus-undo-manager-component.idl
*libnautilus/nautilus-undo-manager-private.h
*libnautilus/nautilus-undo-manager.c
*libnautilus/nautilus-undo-manager.h
*libnautilus/nautilus-undo-transaction.c
*libnautilus/nautilus-undo-transaction.h
*libnautilus/nautilus-undoable.c
*libnautilus/nautilus-undoable.h
Moved files to libnautilus so IDL comiplation would work properly
and at the suggestion of mjs.
*libnautilus-extensions/Makefile.am
Removed undo files.
*libnautilus/Makefile.am
Added undo files.
*libnautilus/nautilus-undo-manager-component.idl
Additional fixes so a clean build would occuer properly.
* libnautilus/nautilus-bonobo-ui.h: Added #define for path of
Nautilus's toolbar so components can use Bonobo merging without
secret inside information.
* components/sample/nautilus-sample-content-view.c:
(sample_merge_bonobo_items_callback): Replaced secret inside
information about menu & toolbar paths & positions with use of
#defines in nautilus-bonobo-ui.h.
destruction. This fixes a problem where the clipboard code was
trying to use a view that has already been trashed.
Thanks to Carbamide <linuxfan@ionet.net> for finding the problem.
* libnautilus/nautilus-clipboard.c
(nautilus_clipboard_info_destroy),
(nautilus_clipboard_info_set_view_frame): Do not ref and unref the
view_frame. Because the NautilusClipboardInfo will only be
destroyed when the view_frame is destroyed in the normal use case,
if it holds a ref on the view_frame it will prevent it from ever
being destroyed. This was causing the notes and history view
processes to stay around forever.
2000-05-05 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-undo-manager-component.idl:
New IDL file describing CORBA interface to the undo manager.
* libnautilus-extensions/Makefile.am:
Modified to include nautilus-undo-manager-component.idl
* libnautilus-extensions/nautilus-undo-manager.c
* libnautilus-extensions/nautilus-undo-manager-private.h:
(impl_Nautilus_UndoManager__destroy),
(impl_Nautilus_UndoManager__create),
(impl_Nautilus_UndoManager__begin_transaction),
(impl_Nautilus_UndoManager__end_transaction):
CORBA/Bonobo functions to access undo manager features.
* libnautilus-extensions/nautilus-undo-manager.h:
* src/file-manager/fm-list-view.c
(fm_list_view_append_background_context_menu_items),
(fm_list_view_merge_menus), (fm_list_view_update_menus),
(rename_list_item_callback):
Began the task of
* src/ntl-main.c
(main):
Removed intialization of undo manager from main,
* src/ntl-app.c
(nautilus_app_init):
Moved initialization of undo manager. A reference to the undo manager
is saved for easy access from components.
2000-05-01 Kjartan Maraas <kmaraas@gnu.org>
* libnautilus/nautilus-clipboard.c: Cosmetic change.
* src/Makefile.am: Added -DGNOMELOCALEDIR to $INCLUDES.
* src/ntl-main.c: Added calls to bindtextdomain() and
textdomain() to make the translations work.
* components/help/hyperbola-main.c: Same here.
* components/help/Makefile.am: Here as well. This should be
done for any main() function in any module containing text
to be translated.
* libnautilus/nautilus-bonobo-ui.h:
New file, contains #defines for Bonobo-style menu paths for all
the menus & menu items in Nautilus that we promise components
will exist.
* libnautilus/Makefile.am: Include this new header file in library.
* src/nautilus-window-menus.c: Extensive changes, too many to list
every function. Replaced all the GnomeUIInfo mechanism with
Bonobo-style menu creation, using the menu paths from
nautilus-bonobo-ui.h. While I was in here, I also renamed some
functions (especially xxx_cb -> xxx_callback), tweaked some text,
and used some more standard Gnome menu item pixmaps (not sure if I
like them or not yet).
* src/ntl-window-private.h,
* src/ntl-window.c:
(nautilus_window_back_cb), (nautilus_window_forward_cb),
(nautilus_window_up_cb), (nautilus_window_home_cb): Replaced
these GtkWidget-callback style functions (formerly used
by both menu items and toolbar buttons) with new NautilusWindow
oriented ones nautilus_window_go_back, nautilus_window_go_forward,
nautilus_window_go_up, and nautilus_window_go_home.
(nautilus_window_allow_back), (nautilus_window_allow_forward),
(nautilus_window_allow_up): replaced hardwired Bonobo menu paths
with the new #defines.
* src/nautilus-window-toolbars.c:
Renamed some functions xxx_cb -> xxx_callback.
(toolbar_back_callback), (toolbar_forward_callback),
(toolbar_up_callback), (toolbar_home_callback): New GtkWidget-callback
style functions used exclusively by the toolbar.
* src/file-manager/fm-directory-view.h:
Removed FM_DIRECTORY_VIEW_PATH_CLOSE and
FM_DIRECTORY_VIEW_PATH_SELECT_ALL, since callers should use
the paths defined by Nautilus for these.
* src/file-manager/fm-directory-view.c:
(fm_directory_view_real_merge_menus): Replaced special insider knowledge
of menu positions with use of the new #defines. Also tweaked with the
keyboard underscore shortcuts for some items.
* libnautilus/nautilus-view-frame.c,
* libnautilus/nautilus-zoomable.c,
* libnautilus-extensions/nautilus-icon-text-item.c,
* libnautilus-extensions/nautilus-link.c,
* libnautilus-extensions/nautilus-mime-type.c:
Wrote bug reports for all FIXMEs in these files. Down to
45 in Nautilus with no bug report.
2000-04-26 Rebecca Schulman <rebecka@eazel.com>
Fixed bug #99: Implemented copy, paste, clear, and cut for text
Added new files nautilus-clipboard.c,h which contains clipboard
functionality. All components with text widgets should use this
code. It can just be copied from any existing sample code
(see ntl-notes.c in the notes component)
The frame cut, copy and paste stuff is now happy when there is a
widget in focus.
Added
* libnautilus/nautilus-clipboard.c
* libnautilus/nautilus-clipboard.h
Modified
* src/nautilus-window-menus.c (turned on clear, fixed up callbacks for cut, copy, and
paste buttons)
* components/notes/ntl-notes.c (Clipboard activated notes text box)
* components/websearch/ntl-web-search.c (Clipboard activated the search box)
OAF conversion. You must now build bonobo and gnome-vfs with --enable-oaf
* configure.in: Check for OAF
* libnautilus/nautilus-view-component.idl: Inherit from
Bonobo::Unknown instead of GNOME::Unknown.
* libnautilus-extensions/nautilus-global-preferences.c,
libnautilus-extensions/nautilus-global-preferences.h: Refer to
meta views by OAFIID, not GOAD ID.
* src/ntl-uri-map.c (my_notify_when_ready): Replaced hardcoded
list of GOAD IDs with a hardcoded list of OAFIIDs.
(add_components_from_metadata): Changed the expected format; it is
now label=component instead of component:label since OAFIIDs
contain colons.
* src/ntl-view.c (nautilus_view_destroy_client): unref the
Zoomable interface of the View, if any.
* src/file-manager/dfos-corba.c, src/file-manager/dfos.c: replace
GOAD calls with OAF ones; untested since this code is not really
used right now.
* src/ntl-main.c: Use OAF calls to intialize CORBA.
* src/ntl-app.c: Replace GOAD IDs with OAFIIDs. Use
Bonobo_Generic_Factory instead of GNOME_Generic_Factory to make
the linker happy. Register the factory server with OAF, not GOAD.
* src/nautilus.h: Include <liboaf/liboaf.h> instead of <libgnorba/gnorba.h>
* components/help/Makefile.am, components/history/Makefile.am,
components/html/Makefile.am, components/mozilla/Makefile.am,
components/music/Makefile.am, components/notes/Makefile.am,
components/rpmview/Makefile.am, components/sample/Makefile.am,
components/services/startup/Makefile.am,
components/websearch/Makefile.am, libnautilus/Makefile.am,
libnautilus-extensions/Makefile.am, src/Makefile.am,
src/file-manager/Makefile.am: Updated for OAF; install .oafinfo
files instead of .gnorba.
* components/help/hyperbola-main.c,
components/history/ntl-history-view.c,
components/html/ntl-web-browser.c, components/mozilla/main.c,
components/music/main.c, components/notes/ntl-notes.c,
components/rpmview/main.c, components/sample/main.c,
components/services/startup/main.c,
components/websearch/ntl-web-search.c: Convert to OAF; use OAFIIDs
and oaf intialization functions.
* src/nautilus.oafinfo, components/help/hyperbola.oafinfo,
components/history/ntl-history-view.oafinfo,
components/html/ntl-web-browser.oafinfo,
components/music/nautilus-music-view.oafinfo,
components/notes/ntl-notes.oafinfo,
components/rpmview/nautilus-rpm-view.oafinfo,
components/services/startup/nautilus-service-startup-view.oafinfo,
components/websearch/ntl-web-search.oafinfo,
components/sample/nautilus-sample-content-view.oafinfo,
components/mozilla/nautilus-mozilla-content-view.oafinfo: New OAF
activation records.
* src/nautilus.goad, components/help/hyperbola.goad,
components/history/ntl-history-view.goad,
components/html/ntl-web-browser.goad,
components/music/nautilus-music-view.goad,
components/notes/ntl-notes.goad,
components/rpmview/nautilus-rpm-view.goad,
components/services/startup/nautilus-service-startup-view.goad,
components/websearch/ntl-web-search.goad,
components/sample/nautilus-sample-content-view.goad,
components/mozilla/nautilus-mozilla-content-view.goad: Removed.
libnautilus now only contains the view interfaces needed by nautilus
components.
These are the interfaces defined in nautilus-view-component.idl.
libnautilus-extensions containes the remainder of the stuff.
Also used the cvs repository munging opportunity to do some of the
ntl-* renaming outlined in the RENAIMING file.
* components/html/ntl-web-browser.c: (browser_vfs_read_callback):
Fixed a bug my changes to GNOME VFS exposed. The callback couldn't
handle a "bytes_read" of 0.
* libnautilus/nautilus-directory-private.h:
* libnautilus/nautilus-directory.c:
* libnautilus/nautilus-directory.h:
* src/file-manager/fm-directory-view.c:
Added a new interface for monitoring files and directories.
Also fixed the self-check code that was failing since the
async. changes.
* libnautilus/nautilus-file.h:
Added the interface for monitoring single files, but it isn't
implemented yet.
* libnautilus/nautilus-icon-canvas-item.c:
* libnautilus/nautilus-icon-canvas-item.h:
* libnautilus/nautilus-icon-container.c:
* libnautilus/nautilus-icon-container.h:
* libnautilus/nautilus-icon-dnd.c:
* libnautilus/nautilus-icon-dnd.h:
* libnautilus/nautilus-icon-private.h:
Restructured Andy's modifier changes so the canvas item doesn't
have to know about modifiers. This makes the canvas item private
again. Users of NautilusIconContainer shouldn't have to know
about the canvas item.
* src/file-manager/fm-icon-view.c:
Reformatting.
* libnautilus/nautilus-directory.c
(read_some_metafile_data), (metafile_read_start),
(metafile_write_create_callback), (metafile_write_start),
(nautilus_directory_monitor_files_ref):
* libnautilus/gdk-pixbuf-extensions.c
(nautilus_gdk_pixbuf_load_async):
* src/ntl-uri-map.c (got_metadata_callback):
* components/html/ntl-web-browser.c (browser_vfs_callback),
(do_vfs_load):
Update for the new GNOME VFS which doesn't return an immediate error
code when doing an async. call.
improved title for non-vfs uris, used Gene's routine to escape http
parameters in service stuff, and finally weakened assert in
nautilus directory to allow non-vfs uris to continue to work
added framework for using custom images to reflect highlight state;
used it to make folders reflect drop-highlighting by opening (just
in eazel theme for now)
* check-FIXME.pl: This is a new Perl script for searching for FIXME
in the code. It reports any FIXME that does not have a bug number
next to it, or any with a bug number that's not an open bug.
* libnautilus/nautilus-bookmark.c: Attached a bug number to a FIXME
for script-testing purposes.
* docs/architecture.txt: Removed a FIXME. So sue me!
* src/file-manager/fm-icon-text-window.c
(create_attributes_option_menu): Added a call to gettext since the
attribute_labels are now N_ strings.
* po/.cvsignore: Ignore the generated files.
* libnautilus/nautilus-icon-factory.c: Formatting tweak.
2000-04-11 Pavel Cisler <pavel@eazel.com>
* libnautilus/nautilus-icon-dnd.c:
* libnautilus/nautilus-icon-dnd.h:
Fix a problem where drag actions did't update properly when dragging
between two windows. The pointer to the private GtkDragStatus needs
to be global, not stored in the drag originator widget.
directory views). Added new directory to CVS, so make
sure you do a "cvs update -d" and not just "cvs update".
"make install" now installs a file of mime-type-to-English
descriptions in the gnome-mime directory.
* data/mime/nautilus.keys: The actual mapping between
MIME types and English descriptions. Read these and send
me your abuse.
* data/mime/Makefile.am: New file, copies nautilus.keys to
gnome-mime directory.
* data/Makefile.am: includes "mime" subdirectory
* configure.in: configures "data/mime" directory
* libnautilus/nautilus-file.c:
(nautilus_file_get_mime_type_as_string_attribute):
New function, returns the raw MIME type as a string,
and handles the no-MIME-type case.
(nautilus_file_get_string_attribute): handle attribute
"mime_type", distinct from "type" which is now the
human-language one.
(nautilus_file_get_type_as_string): Use gnome-mime
to get human-language descriptions based on the MIME
type.
(nautilus_file_is_executable): Fixed this function which
was reading info->flags instead of info->permissions. Now
the special executable icon appears much more often (though
we still don't know what it's supposed to be).
* src/file-manager/fm-error-reporting.c:
(fm_report_error_renaming_file): Use "directory" instead of
"folder" to match our terminology elsewhere.
* src/file-manager/fm-icon-text-window.c:
add "mime type" to list of choices of text that can appear
beneath icons (in addition to just plain "type", which is
the human-language one).
synchronously).
Requires new GNOME VFS.
* libnautilus/nautilus-directory-private.h:
* libnautilus/nautilus-directory.c:
* libnautilus/nautilus-directory.h:
Changed code to read and write metafiles async. Too many functions
modified for me to list here.
* libnautilus/nautilus-file-private.h:
* libnautilus/nautilus-file.c:
* libnautilus/nautilus-file.h:
(nautilus_file_changed), (nautilus_file_emit_changed),
(nautilus_file_get_metadata), (nautilus_file_set_metadata),
(nautilus_file_call_when_ready), (nautilus_file_cancel_callback):
Changes to NautilusFile so it can participate in the new.
* components/notes/ntl-notes.c (notes_load_metainfo):
Fixed a bug in my recent changes where it would use a bad file
object when getting metadata.
* src/file-manager/fm-directory-view.c (notes_load_metainfo):
Renamed "tags" to "keys".
2000-04-11 Gene Z. Ragan <gzr@eazel.com>
* components/sample/nautilus-sample-content-view.c
Added icon data to BonoboUiHandler. This is GdkPixbuf
data and demonstrates the pixbuf data features
added to bonobo ui handlers.
* libnautilus/nautilus-bookmark.c
bonobo_ui_handler_menu_new_item modified to take advantage
of new bonobo ui handler pixbuf functionality. Components and
menu items can now display pixbuf data.
Added nautilus_bookmark_get_pixbuf() routine.
* libnautilus/nautilus-bookmark.h
Added nautilus_bookmark_get_pixbuf() routine.
* src/nautilus-window-menus.c
bonobo_ui_handler_menu_new_item modified to take advantage
of new bonobo ui handler pixbuf functionality.
2000-04-11 Pavel Cisler <pavel@eazel.com>
Drop target highlighting.
Add new call to determine if a drop target can accept a drag.
Tweak modifiers for file copy.
2000-04-10 Pavel Cisler <pavel@eazel.com>
Nasty hack to allow drag&drop actions to respond to modifier keys
and the drop context properly. This will one day get fixed by
adding proper hooks to Gtk+ and using them. For now we have to
do this.
that is compatible with async. metadata reading.
* components/notes/ntl-notes.c:
(notes_load_metainfo): Changed to use nautilus_file_call_when_ready
to wait for the metadata. Also fixed a bug that was causing an assert
inside the call to gtk_editable_insert_text.
(main): Made warnings and criticals stop in the debugger.
* libnautilus/nautilus-directory.c:
* libnautilus/nautilus-directory.h:
(nautilus_directory_call_when_ready): Renamed the call to indicate
it can wait for more than just metadata. For now it does only wait
for metadata, though.
(nautilus_directory_cancel_callback): Renamed this too.
* libnautilus/nautilus-file.c:
(nautilus_file_call_when_ready), (nautilus_file_cancel_callback):
Made a corresponding call for the metadata of a single file.
* libnautilus/nautilus-gdk-extensions.c:
* src/nautilus-index-title.c:
Formatting changes.
* libnautilus/nautilus-metadata.h:
Clarified that ANNOTATION is a per-file piece of metadata.
* src/ntl-uri-map.c:
* src/file-manager/fm-directory-view.c:
Use new names of calls.
* src/file-manager/fm-icon-view.c:
* src/file-manager/fm-list-view.c:
Added comment.
* libnautilus/nautilus-list.c:
(nautilus_list_initialize_class), (nautilus_list_initialize),
(select_or_unselect_row_callback), (emit_selection_changed),
(select_range), (select_row), (select_row_from_mouse),
(row_set_selected), (select_row_unselect_others),
(nautilus_list_select_all), (nautilus_list_unselect_all),
(nautilus_list_button_press), (nautilus_list_keyboard_move_to),
(nautilus_list_motion), (nautilus_list_set_selection):
Reworked selection such that the SELECTION_CHANGED signal is
emitted only once for every selection-affecting operation,
and never if the selection hasn't changed at all. This makes
such operations as Select All, switch-from-icon-view-with-lots-
selected, and arrow-key-to-end-of-list significantly faster.
use same keys/behavior as in icon view). There are a few
minor bugs remaining that I'll write up separately.
* libnautilus/nautilus-list.c:
NautilusListDetails struct: added fields for
keyboard_row_to_reveal and keyboard_row_reveal_timer_id;
(nautilus_list_initialize_class): Removed key binding set for
this class (uses key_press_event function instead); used
gtk_binding_entry_clear to get rid of all the unwanted GtkCList
key bindings; wire up key_press_event function; wire up
destroy function
(nautilus_list_destroy): New function, destroy details struct
(this was storage leak) and clean up pending timer.
(nautilus_list_clear_keyboard_focus), (nautilus_list_set_keyboard_focus),
(nautilus_list_keyboard_move_to), (keyboard_row_reveal_timeout_callback),
(unschedule_keyboard_row_reveal), (schedule_keyboard_row_reveal),
(reveal_row), (nautilus_list_keyboard_navigation_key_press),
(nautilus_list_keyboard_home), (nautilus_list_keyboard_end),
(nautilus_list_keyboard_up), (nautilus_list_keyboard_down),
(nautilus_list_keyboard_page_up), (nautilus_list_keyboard_page_down),
(nautilus_list_keyboard_space), (nautilus_list_activate_selected_items),
(nautilus_list_get_first_selected_row),
(nautilus_list_get_last_selected_row),
(nautilus_list_key_press): New functions, all the mechanism for
handling key presses similarly to NautilusIconContainer. Bonus
key handling for Page Up and Page Down.
(nautilus_list_move_focus_row), (scroll_vertical): Removed these
functions that were used by the GtkCList key bindings in favor of
nautilus_list_key_press and friends.
be activated by clicking in white space past the name.
Also started making changes in the direction of getting
keyboard selection working properly in list view (but
most of the work remains).
* libnautilus/nautilus-gdk-extensions.h,
* libnautilus/nautilus-gdk-extensions.c:
(nautilus_stipple_bitmap): New function, returns pointer to
static 50% stipple bitmap.
* libnautilus/nautilus-icon-cvanvas-item.c:
remove global stipple object;
(nautilus_icon_canvas_item_initialize_class): Remove initialization
of global stipple object.
(draw_or_measure_label_text), (draw_stretch_handles): Use
nautilus_stipple_bitmap () in lieu of global stipple object
in this file.
* libnautilus/nautilus-list.c:
(get_cell_horizontal_start_position): New function, extracted
from draw_row so I could use it elsewhere.
(nautilus_list_key): Removed function.
(nautilus_list_draw_focus): New function, draws keyboard-focussed
row with the same stipple outline used in icon view.
(nautilus_list_move_function_row): New function, copied & simplified
from GtkCList. Will probably rewrite entirely or eliminate very soon.
(nautilus_list_scroll_vertical): New function, copied & simplified
from GtkCList. Handles various keyboard commands, though not yet with
the behavior we actually want.
(nautilus_list_initialize_class): Begin to override and eliminate
GtkCList key bindings that we want to change. I've just started this
work -- all I've done so far is make space do nothing but Control-space
toggle the selection status of the keyboard-focussed row. I need to
go through and fix up all the bad inherited bindings. Also in this
function replace GtkCList's scroll_vertical and draw_focus function
pointers, and removed the key_press_event and key_release_event
overrides that were deliberately preventing us from inheriting any
of GtkCList's keyboard behavior.
(nautilus_list_button_release): Only activate link-text if the click
is in the horizontal bounds of the text.
(draw_row) Use get_cell_horizontal_start_position that was extracted
from this function.
pointed service code at Jonathan's prototype server - registration is
now working. Also, implemented simple drag highliting, by treating it
exactly like selection highliting
* libnautilus/nautilus-gdk-extensions.h:
#defines for colors NAUTILUS_RGB_COLOR_RED, _GREEN,
_BLUE, _WHITE, and _BLACK.
* libnautilus/nautilus-gdk-extensions.c:
(nautilus_parse_rgb_with_white_default): Replaced
hard-wired numbers with these #defines.
* libnautilus/nautilus-list.h,
* libnautilus/nautilus-list.c:
added enum entry for NAUTILUS_CELL_LINK_TEXT;
(nautilus_list_mark_cell_as_link): New functions, converts
an ordinary text cell into a link-text cell.
(nautilus_list_button_release): Only activate link-text
cells on single click; other cells select as in other lists.
(draw_row): draw link-text cells with blue text and an
underline, so they look like typical web links.
(nautilus_list_set_cell_contents): Convert link-text cell
back to ordinary text cell before cleaning up old
contents so parent function will do the right thing.
* src/file-manager/fm-list-view.c:
(add_to_list): mark file name cell as link-text cell.
(remove_from_list): New function, extracted from...
(fm_list_view_file_changed): Followed Darin's advice on
how to simultaneously clarify this code and fix a
storage leak.
For Darin, fixed a typo that caused every file to be
displayed as if it were a directory.
* src/ntl-uri-map.c:
(my_notify_when_ready): Added two missing "== 0"s.
Next I'll change the actual metafile access to work that way.
* libnautilus/nautilus-directory.h:
* libnautilus/nautilus-directory.c:
(nautilus_directory_metadata_call_when_ready): Added function
that requests a read of some metadata and calls back when the
data is ready.
* src/ntl-app.c: (nautilus_app_startup): Got rid of call to
nautilus_navinfo_init.
* src/ntl-types.h: Moved the NautilusNavigationInfo struct
and related defines to ntl-uri-map.h.
* src/ntl-uri-map.h:
* src/ntl-uri-map.c:
Reformatted and changed the names of many functions.
Added code to use the new metadata callback.
* src/ntl-index-panel.c:
* src/ntl-main.c:
* src/ntl-view.h:
* src/ntl-window-msgs.c:
* src/ntl-window.c:
* src/ntl-window.h:
Had to change includes a bit because of my changes to what
header files are including.
* src/ntl-window-msgs.c: (nautilus_window_update_state):
* src/ntl-window.h:
Use the new nautilus_navigation_info_cancel call instead of
reaching right in to cancel the underlying call.
* src/ntl-view-private.h:
Reformatting.
* libnautilus/nautilus-directory-background.c:
(nautilus_connect_background_to_directory_metadata):
Fixed code that was trying to disconnect the handler from the
new directory, not the old one.
yesterday. The largest change was making NautilusDirectory
send "files-changed" signal instead of "files-removed"
signal when a file is removed. That way interested callers
need register only for one signal. The callers can use
nautilus_file_is_gone () to test whether the file was removed.
* libnautilus/nautilus-directory-private.h:
(nautilus_directory_files_removed): Removed function.
* libnautilus/nautilus-directory.h:
(files_removed): Removed signal definition, updated comments.
* libnautilus/nautilus-directory.c:
Removed FILES_REMOVED signal enum entry;
(nautilus_directory_initialize_class): Removed FILES_REMOVED
signal creation.
(nautilus_directory_files_removed): Removed function.
* libnautilus/nautilus-file.c:
(get_file_for_parent_directory): New private function.
(nautilus_file_can_rename): This function was quite broken in
its initial check-in. It worked only on a random basis. Now it
works quite a bit better. It should only return FALSE if it's
darn well sure that the user can't rename the file; it returns
TRUE even if it isn't sure, so clients must handle failed
renames (which they would have to anyway).
(nautilus_file_delete): Call nautilus_file_changed instead of
nautilus_directory_files_removed when file is deleted.
* src/file-manager/fm-directory-view.h:
(remove_file): Remove signal definition, update comments.
* src/file-manager/fm-directory-view.c:
remove REMOVE_FILE signal enum entry;
remove files_removed_handler_id and pending_files_removed from
Details struct;
(fm_directory_view_initialize_class): remove REMOVE_FILE signal
initialization
(display_pending_files): remove "removed" case; made "changed"
case handle updating uri table; made "changed" case send signal
even if file is gone.
(files_removed_cb): Removed function.
(fm_directory_view_load_uri): removed connection to "files_removed"
signal
(disconnect_model_handlers): removed disconnect of files_removed_handler.
* src/file-manager/fm-icon-view.c:
(fm_icon_view_remove_file): Removed function.
(fm_icon_view_initialize_class): Remove remove_file signal handler override.
(fm_icon_view_file_changed): check if file is gone and do what
fm_icon_view_remove_file used to do if so.
* src/file-manager/fm-list-view.c:
(fm_list_view_remove_file): Removed function.
(fm_list_view_initialize_class): Remove remove_file signal handler override.
(fm_list_view_file_changed): check if file is gone and do what
fm_list_view_remove_file used to do if so.
* src/file-manager/fm-properties-window.c:
(properties_window_file_changed_callback): Don't update the window title
if you just nuked the window -- Doh! Now the Properties window will
vanish silently if the file is deleted.
There's even more we could do in this direction.
* components/music/nautilus-music-view.c:
(nautilus_music_view_initialize): Got rid of redundant background
color initialization.
(nautilus_music_view_realize): Got rid of background color
initialization.
(nautilus_music_view_update_from_uri): Changed background color
handling to use new nautilus_directory_background calls.
(nautilus_music_view_background_changed): Not needed any more.
* components/notes/ntl-notes.c:
Did some cleanup and reformatting.
* libnautilus/Makefile.am:
* libnautilus/nautilus-directory-background.c:
* libnautilus/nautilus-directory-background.h:
Created a new file with functions that manage the background for
a window connected with a particular directory. Later we might
generalize it further to work for windows that are connected to
any URI, not just a directory.
* libnautilus/nautilus-directory.c:
* libnautilus/nautilus-directory.h:
Added a new "metdata_changed" signal so that the background can
be updated if the underlying data changes.
(nautilus_directory_initialize_class): Create the new signal.
(nautilus_directory_ref), (nautilus_directory_unref): Made these
functions quietly do nothing for NULL. This simplifies life for
callers.
(nautilus_directory_set_metadata): Emit the "metadata_changed"
signal.
* libnautilus/nautilus-file.c:
(nautilus_file_ref), (nautilus_file_unref): Made these
functions quietly do nothing for NULL. This simplifies life for
callers.
* libnautilus/nautilus-metadata.h:
Renamed all the constants to be consistent. Got rid of separate
constants for the icon view and list view backgrounds. Changed
some of the underlying XML tags as well.
* libnautilus/nautilus-icon-factory.c:
(nautilus_icon_factory_get_icon_for_file):
* src/nautilus-index-title.c: (nautilus_index_title_update_info):
* src/ntl-index-panel: (nautilus_index_panel_update_info),
(receive_dropped_uri_list),
(nautilus_index_panel_background_changed):
* src/ntl-uri-map.c: (set_initial_content_iid),
(add_components_from_metadata):
* src/ntl-window-msgs.c: (view_menu_switch_views_cb):
* src/file-manager/fm-icon-view.c: (add_icon_if_already_positioned),
(fm_icon_view_begin_loading), (fm_icon_view_set_zoom_level),
(fm_icon_view_icon_changed_callback):
* src/file-manager/fm-list-view.c: (fm_list_view_begin_loading),
(fm_list_view_set_zoom_level), (fm_list_view_sort_items):
Updated uses of metadata constants to use the new names.
* src/ntl-index-panel: (nautilus_index_panel_destroy),
(nautilus_index_panel_update_info):
* src/ntl-uri-map.c: (add_components_from_metadata):
* src/file-manager/fm-directory-view.c:
(fm_directory_view_destroy), (fm_directory_view_load_uri):
Used new nautilus_directory_unref to simplify code.
* src/ntl-uri-map.c: (set_initial_content_iid):
* src/ntl-window-msgs.c: (view_menu_switch_views_cb):
Added missing nautilus_directory_unref (storage leak).
* src/file-manager/fm-icon-view.c: (create_icon_container),
(fm_icon_view_background_changed_callback): Removed "changed"
signal handler on NautilusBackground since that's now handled
by the new nautilus_directory_background calls instead.
(fm_icon_view_begin_loading): Used nautilus_directory_background
to replace background customization code.
* src/file-manager/fm-icon-view.c: (fm_icon_view_get_zoom_level):
Fixed a bug where it would try to use view as an FMIconView after
the FM_IS_ICON_VIEW check failed.
* src/file-manager/fm-list-view.c: (create_list),
(fm_list_view_background_changed_callback): Removed "changed"
signal handler on NautilusBackground since that's now handled
by the new nautilus_directory_background calls instead.
(fm_list_view_begin_loading): Used nautilus_directory_background
to replace background customization code.
if the icon theme had never been set.
* libnautilus/nautilus-icon-factory.c:
(nautilus_icon_factory_initialize_class),
(nautilus_get_current_icon_factory): Moved theme initialization
from the former to the latter, because theme needs to be non-NULL
before initialize_class is called.
* components/services/startup/eazel-register.c:
(add_package_info):
* libnautilus/nautilus-file-utilities.c:
(nautilus_user_top_directory):
* libnautilus/nautilus-global_preferences.c:
(global_preferences_get_dialog):
* libnautilus/nautilus-icon-factory.c:
(nautilus_icon_factory_get_thumbnail_uri):
Removed unnecessary \n characters from g_warning, g_error, and
g_message calls.
* components/html/ntl-web-browser.c (browser_url_load_done):
Ettore says we should stop calling gtk_html_private_calc_scrollbars
and if it causes any problems then it's just a bug in GtkHTML
that should be fixed,.
* src/ntl-window-msgs.c:
Reformatted the code as a first step for some changes
that will make the state machine easier to understand.
* src/file-manager/fm-directory-view.c,
src/file-manager/fm-directory-view.h
(fm_directory_view_set_selection): New function.
(set_selection): New virtual method that must by implemented by
subclasses.
(add_nautilus_file_to_uri_map, remove_nautilus_file_from_uri_map,
free_file_by_uri_map_entry, free_file_by_uri_map): New functions
to manage a hash table mapping from uri strings to NautilusFile
objects.
(notify_selection_change_cb): New function; on a selection change
notification, either set the selection immediately if the view has
completed loading, or establish it as pending.
(display_pending_files): Maintain the uri -> file hash table on
notifications from the model; do any pending selections required
when loading completes.
* src/file-manager/fm-list-view.c (fm_list_view_set_selection):
New function to implement `set_selection' virtual method.
* src/file-manager/fm-icon-view.c (fm_icon_view_set_selection):
New function to implement `set_selection' virtual method.
* libnautilus/nautilus-list.c (nautilus_list_set_selection): New
function: set the selection to a specified set of rows.
* libnautilus/nautilus-icon-container.c,
libnautilus/nautilus-icon-container.h
(nautilus_icon_container_set_selection): New function: set the
selection to a specified set of icons.
Fixed bug 346 (Bad icon positions when you change user level).
Fixed bug 372 (Better icons for common file types).
* libnautilus/nautilus-background-canvas-group.c:
(nautilus_background_canvas_group_draw): Got rid of the colormap
which is not needed now that we use gtk_rgb instead of gtk_color
calls. Passed in the corner of the canvas as a parameter to
nautilus_background_draw so it knows where the origin of any
repeating pattern should be.
* libnautilus/nautilus-background.h:
* libnautilus/nautilus-background.c: (nautilus_background_draw):
Added parameters to determine where the origin of any repeating
pattern should be. Removed colormap parameter (see above).
(nautilus_background_draw_flat_box): Passed in origin parameters
in call to nautilus_background_draw.
* libnautilus/nautilus-gdk-extensions.h:
* libnautilus/nautilus-gdk-extensions.c:
(nautilus_fill_rectangle_with_gradient): Removed colormap
parameter (see above).
* libnautilus/nautilus-gdk-pixbuf-extensions.c:
(nautilus_gdk_pixbuf_render_to_drawable_tiled): Fixed the tiling
so it will use the dither parameters to set the origin of the
tiles as well.
* libnautilus/nautilus-icon-dnd.c: (receive_dropped_tile_image),
(nautilus_icon_container_receive_dropped_icons): Added code so that
dropping an image file on the window with the shift key held down
will customize the background tile image.
* libnautilus/nautilus-icon-factory.c: (make_full_icon_path),
(get_themed_icon_file_path): Fixed two bugs that prevented
MIME-type-based icons from working correctly. First, got rid of
code that tried to prepend the theme name and "nautilus/" to the
beginning of a full path. Then made sure that it tries the file
name without adding a suffix before it starts trying out suffixes.
* libnautilus/nautilus-icon-grid.c: (nautilus_icon_grid_clear):
Fixed bug where clearing the grid was resetting the visible width.
* components/sample/Makefile.am:
* components/services/startup/Makefile.am:
Turned on -Werror for these two directories.
* components/sample/nautilus-sample-content-view.h:
* components/sample/nautilus-sample-content-view.c:
(nautilus_sample_content_view_destroy), (bonobo_sample_callback):
Fixed warnings and did some small cleanup.
there are various odds and ends I still need to clean up.
It turned out (surprise!) that there was a lot of
underpinnings work involved in implementing this feature.
Fortunately most of it will be shared by rename-in-place.
* libnautilus/nautilus-directory-private.h:
add #define for METADATA_NODE_NAME_FOR_FILE_NAME
* libnautilus/nautilus-directory.c:
(nautilus_directory_get_file_metadata_node): Use
METADATA_NODE_NAME_FOR_FILE_NAME #define
(nautilus_directory_set_file_metadata): Use g_return_val_if_fail
to prevent callers from changing the file name this way, since
that wouldn't work right.
* libnautilus/nautilus-file.h:
* libnautilus/nautilus-file.c:
(nautilus_file_can_rename): New function, returns TRUE if the
user has write permission for this file.
(nautilus_file_rename): New function, uses gnome_vfs_move to
try to rename the file, updating metadata as appropriate.
Returns the GnomeVFSResult from gnome_vfs_move.
* libnautilus/nautilus-list.c
(row_selected): Renamed this formerly private function to
nautilus_list_is_row_selected and made it check its parameters
more carefully.
* libnautilus/nautilus-list.h:
(nautilus_list_is_row_selected): Made this public.
* src/file-manager/fm-error-reporting.c,
* src/file-manager/fm-error-reporting.h: New files, home for
UI code to display user error messages and such. It's initial
occupant is:
(fm_report_error_renaming_file): New function, puts up a non-modal
alert reporting the renaming failure.
* src/file-manager/Makefile.am: Add these two new files to the build.
* src/file-manager/fm-directory-view.c:
(bonobo_menu_open_properties_window_cb): New function, opens a
Properties window for each selected item using the Bonobo callback API.
(fm_directory_view_real_merge_menus): Include Set Properties item in
File menu, and rearrange other items a little.
(fm_directory_view_real_update_menus): Update sensitivity of Set
Properties menu item.
* src/file-manager/fm-list-view.c:
(add_to_list): Return the new row index.
(fm_list_view_file_changed): Remove and reinsert the changed file; this
not only does less sorting but also recomputes all the text so name
changes will be displayed.
* src/file-manager/fm-properties-window.c:
(get_pixmap_and_mask_for_properties_window),
(update_properties_window_icon),
(create_pixmap_widget_for_file),
(name_field_done_editing),
(name_field_update),
(update_properties_window_title),
(properties_window_file_changed_callback):
New functions used to wire up the new editable name field
and new icon pixmap widget in the properties window.
(create_properties_window): Added notebook tabs, first
one is Basic and currently contains icon & name; second
is Emblems and has all those checkboxes. Use all the
new functions to create and wire up things so that name
changes & icon changes are propagated and reflected correctly.
* src/nautilus-bookmarks-window.c:
(create_bookmarks_window): Removed a bunch of unnecessary
and leak-causing gtk_widget_refs that I happened to notice
in here. I left these behind when modifying code originally
created by glade, where the refs are necessary.
First cut at tiled background images.
There's no UI for setting them yet, they are only in
the icon view, and they don't work properly with scrolling yet.
* libnautilus/Makefile.am:
* libnautilus/nautilus-gdk-extensions.c:
* libnautilus/nautilus-gdk-extensions.h:
* libnautilus/nautilus-gdk-pixbuf-extensions.c:
* libnautilus/nautilus-gdk-pixbuf-extensions.h:
Split the GdkPixbuf stuff into its own file.
* libnautilus/nautilus-background.c:
(nautilus_background_destroy): Fixed a bunch of leaks
and added new code to stop pixbuf loading.
(nautilus_background_draw): Added call to draw tiled
background image. Converted gradients to use gdk_rgb
instead of gdk_color.
(nautilus_background_get_tile_image_uri): Implemented.
(nautilus_background_set_color): Added short-circuit
for background image case.
(load_image_callback),
(nautilus_background_set_tile_image_uri): Implemented.
Include code to load in the tiled image when its URI is set.
(nautilus_background_receive_dropped_color): Set the
tile image to NULL when a color is dropped.
* libnautilus/nautilus-gdk-extensions.c:
* libnautilus/nautilus-gdk-extensions.h:
(nautilus_fill_rectangle_with_color),
(nautilus_fill_rectangle_with_color),
(nautilus_interpolate_color): Changed from gdk_color
to gdk_rgb.
(nautilus_parse_rgb_with_white_default): Added function
for gdk_rgb similar to what we already have for gdk_color.
* libnautilus/nautilus-icon-canvas-item.c:
* libnautilus/nautilus-icon-container.c:
* libnautilus/nautilus-list.c:
Use gdk-pixbuf extensions in new location.
* libnautilus/nautilus-metadata.h:
Added metadata keys for background images.
* src/ntl-view.c:
Added lots of stronger checks for NAUTILUS_IS_VIEW since
this is where we run into trouble with a bug I ran into.
* src/file-manager/icon-view.c: Added code to handle
the new background images.
(create_icon_container): Keep around the handler ID when
connecting to the "changed" message of the background so
we can block the handler as needed.
(fm_icon_view_begin_loading): Load the background image
as well as the background color. We need to block the
background changed signal handler so we don't get
confused while the color but not the image is set up.
(fm_icon_view_background_changed_callback): Save the
background image URI as well as the background color in
the metadata.
to catch up.
* libnautilus/ntl-meta-view-frame.h:
* libnautilus/ntl-meta-view-frame.c:
Rewrote to use the new property bag. This requires us to
store our own properties, since the bag no longer provides
any storage.
(nautilus_meta_view_frame_initialize): Set up the label.
(nautilus_meta_view_frame_new_from_bonobo_control): Make it
actually take a BonoboControl instead of a BonoboObject and
make it set up the property bag.
(nautilus_meta_view_destroy): Free the label.
(autilus_meta_view_frame_set_label): Just set the label.
The property bag simply uses our stored label.
* components/html/ntl-web-browser.c (browser_url_load_gone):
Changed call to match name in new version of GtkHtml.
Unfortunately, the new name makes it clear the call is
intended to be private.
* components/rpmview/.cvsignore: Ignore the actual binary,
not nautilus-music-view.
* components/rpmview/Makefile.am: Turned on -Werror.
* components/music/Makefile.am: Turned on -Werror.
* components/rpmview/nautilus-rpm-view.c: Fixed warnings.
2000-03-31 Pavel Cisler <pavel@eazel.com>
Disable copy as a drag&drop operation for now. The current
copy engine doesn't handle conflicts properly yet and can
erase your files.
nautilus_directory_monitor_files_unref when he pushed the
"Up" button.
* libnautilus/nautilus-glib-extensions.c:
* libnautilus/nautilus-glib-extensions.h:
(nautilus_g_strv_find): Renamed the existing function
nautilus_g_strfindv to be more consistent with the rest
of glib, even though it's less consistent with the other
strv functions.
(nautilus_g_list_safe_for_each): Added an alternate
version of g_list_foreach that works even when the current
item is removed from the list inside the function.
* libnautilus/nautilus-gtk-extensions.c:
(nautilus_gtk_object_list_unref): Use the new safe version
of g_list_foreach so this works even on lists where the
objects remove themselves in their destroy/finalize methods.
This is the change that fixes the bug.
* src/nautilus-bookmark-list.c:
(nautilus_bookmark_list_load_file): Replaced some explicit
code with a call to nautilus_gtk_object_list_free.
* src/nautilus-index-title.c:
(nautilus_index_title_update_icon): Fixed a bug that would
prevent you from viewing the root level. The current version
of nautilus_file_get returns NULL for the root.
* src/nautilus-window-menus.c:
(clear_appended_bookmark_items): Replaced some explicit
code with a call to nautilus_g_list_free_deep.
* src/file-manager/fm-icon-text-window.c:
(synch_menus_with_preference): Updated to use the
nautilus_g_strv_find call by its new name.
* libnautilus/nautilus-file.c:
(nautilus_file_set_keywords): Did some minor tweaks to
simplify the no-keywords case.
and fixed some problems from my earlier check-ins today.
* libnautilus/nautilus-directory.c:
(nautilus_directory_monitor_files_ref):
Fixed a bad assert from my last check-in.
* src/file-manager/fm-list-view.c: (add_to_list):
The list view had the same missing ref that I fixed for icon
view in my last check-in.
* src/nautilus-index-title.c: (release_file),
(nautilus_index_title_destroy),
(nautilus_index_title_update_icon),
(nautilus_index_title_update_label),
(nautilus_index_title_update_info),
(nautilus_index_title_set_uri): Changed to hold around the
NautilusFile object and connect to its "changed" message to update
the file information. This causes the icon to get updated right
away when the custom icon is changed.
* libnautilus/nautilus-directory-private.h:
* libnautilus/nautilus-directory.c:
* libnautilus/nautilus-file-private.h:
* libnautilus/nautilus-file.c:
* libnautilus/nautilus-file.h:
Converted NautilusFile to be a GtkObject instead of a plain struct,
so it can have a "changed" signal. We still recommend using the
"files_changed" signal on the directory to avoid the overhead
of a signal connection for each file.
* libnautilus/nautilus-gtk-extensions.c:
* libnautilus/nautilus-gtk-extensions.h:
(nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_unref),
(nautilus_gtk_object_list_free): Added some functions to be used
with a list of GtkObjects.
* libnautilus/nautilus-icon-factory.c:
(nautilus_icon_factory_get_icon_name_for_file):
Had to change the name of nautilus_file_get_type to avoid conflict
with the GtkObject standard get_type routine.
* libnautilus/nautilus-directory.c:
* libnautilus/nautilus-directory.h:
(nautilus_directory_ref), (nautilus_directory_unref):
Added convenience functions so people don't have to be constantly
reminded that a NautilusDirectory is a a GtkObject.
* libnautilus/nautilus-directory.c: (nautilus_directory_destroy):
Fixed a problem where the pending files callback might fire after
the NautilusDirectory is gone.
* libnautilus/nautilus-directory.c:
(nautilus_directory_destroy),
(nautilus_directory_monitor_files_ref),
(nautilus_directory_monitor_files_unref),
(dequeue_pending_idle_callback), (nautilus_directory_new_file):
* libnautilus/nautilus-file-private.h:
* libnautilus/nautilus-file.c:
(nautilus_file_get), (nautilus_file_ref), (nautilus_file_unref),
(nautilus_file_free), (nautilus_file_delete):
To prepare for changing NautilusFile to a GtkObject, made it use
ref counts in a way that is standard. Now the directory keeps a
list of the files, but only keeps a ref to the files if it is
monitoring them.
* src/file-manager/fm-directory-view.c: Tiny formatting tweak.
2000-03-28 Pavel Cisler <pavel@eazel.com>
More copy/move operations. Fixes a problem I introduced earlier where
drop onto a file would lock up Nautilus.
* components/sample/main.c (sample_make_object): Connect to the
"destroy" signal of the view_frame rather than the sample content
view object, to avoid a race condition where we might exit before
the view_frame is fully unreffed and has a chance to clean up.
components/sample/nautilus-sample-content-view.c
(nautilus_sample_content_view_destroy): Unref the
NautilusViewFrame when we are destroyed.
* libnautilus/nautilus-zoomable.c, libnautilus/ntl-view-frame.c,
libnautilus/ntl-content-view-frame.c,
libnautilus/ntl-meta-view-frame.c: Use boilerplate macros for
get_type method and to invoke parent destroy method.
* libnautilus/nautilus-zoomable.c, libnautilus/ntl-view-frame.c:
Unref the interface we query_local_interface for, to avoid holding
a superfluous ref to ourselves, since we eventually add_interface
that interface.
* src/ntl-view.c (nautilus_view_destroy_client): Use
bonobo_object_unref instead of bonobo_object_destroy.
* libnautilus/nautilus-background.h:
* libnautilus/nautilus-background.c:
Preparing for support for background images.
* libnautilus/nautilus-background.c:
* libnautilus/nautilus-debug.c:
* libnautilus/nautilus-icon-canvas-item.c:
* libnautilus/nautilus-icon-dnd.c:
Add those braces that Maciej, John, and the style guide all prefer.
* libnautilus/nautilus-file.c: (nautilus_file_set_metadata):
A change to metadata is considered a change to the file.
* libnautilus/nautilus-graphic-effects.c:
* libnautilus/nautilus-graphic-effects.h:
Added nautilus_ prefix to all the functions in here.
* libnautilus/nautilus-gtk-extensions.c:
* libnautilus/nautilus-gtk-extensions.h:
(nautilus_point_in_allocation), (nautilus_point_in_widget):
Added hit testing help functions that check if a point is
in a particular allocation/widget.
* libnautilus/nautilus-icon-dnd.c: (get_gnome_icon_list_selection):
Fixed a bug that happens when you get a 0-length piece of
selection data.
* libnautilus/nautilus-icon-dnd.h:
Changed the icon list back to "x-gnome-icon-list".
That's how the other GNOME folks want it, not "x-nautilus-icon-list".
* src/nautilus-index-tabs.c:
* src/nautilus-index-tabs.h:
* src/nautilus-index-title.c:
* src/nautilus-index-title.h:
* src/ntl-index-panel.c:
* src/ntl-index-panel.h:
lite -> light, Other cleanup.
* src/nautilus-index-title.c:
* src/nautilus-index-title.h:
(nautilus_index_title_hit_test_icon):
* src/ntl-index-panel.c:
(hit_test), (uri_is_local_image), (receive_dropped_uri_list),
(receive_dropped_color):
Added code needed to support dropping an image on the icon to set
a custom icon. This doesn't yet update the icon in the panel itself,
but I'll do that soon.
location; this is used initially (and most importantly) by web pages so that
bookmarks, the window title, and the index panel will display the html page title
rather than the url.
stuff that uses user levels a bit.
Removed switch handling of ETTORE user
level and added a default case for the unlikely (but poissible)
event when the ~/.gnome/nautilus preferences file contains bogus
values for the user_level enumeration.
* libnautilus/nautilus-icon-canvas-item.c: (hit_test_pixbuf):
Fixed a typo-type error where we were checking every pixel of the
pixbuf instead of only the pixels that we were hit testing against.
* libnautilus/nautilus-icon-container.c: Tweaks.
Fixes bugs #314, #324, and #325.
* components/help/hyperbola.goad:
Corrected repo_ids -> repo_id, reported by Richard Hult.
* src/nautilus.goad:
Added missing = character, reported by Richard Hult.
* libnautilus/gnome-icon-container-grid.c:
* libnautilus/gnome-icon-container-grid.h:
* libnautilus/gnome-icon-container.c:
* libnautilus/gnome-icon-container-private.h:
Made the icon grid handle negative coordinates.
Removed most of the icon grid code.
Reimplemented the arrow keys. They should work again.
* libnautilus/nautilus-gnome-extensions.c:
* libnautilus/nautilus-gnome-extensions.h:
(nautilus_art_irect_contains_irect):
Added another helper function.
* libnautilus/nautilus-icons-view-icon-item.c:
* libnautilus/nautilus-icons-view-icon-item.h:
* libnautilus/gnome-icon-container.c:
* libnautilus/gnome-icon-container-private.h:
Added user data to each canvas item and got rid of the hash table
that maps canvas items to icons.
* RENAMING: Tweaks.
2000-03-20 Pavel Cisler <pavel@eazel.com>
Center the sort order indicators inside a title better. Make the column
title label spacing more like the old CtkCList.
* libnautilus/gnome-icon-container-grid.h:
* libnautilus/gnome-icon-container-grid.c:
* libnautilus/gnome-icon-container.c:
Rewrote the routines to not have a separate concept of the
actual grid height and the allocated grid height. Most important
change was to update the first_free variables when resizing.
* src/file-manager/fm-directory-view-icons.h:
* src/file-manager/fm-directory-view-icons.c:
(fm_directory_view_icons_line_up_icons):
Removed the unused line_up_icons call. This feature will return,
but for now it's just a waste of space.
* libnautilus/gnome-icon-container-grid.h:
* libnautilus/gnome-icon-container-grid.c:
* libnautilus/gnome-icon-container-private.h:
* libnautilus/gnome-icon-container.c:
* libnautilus/nautilus-icons-view-icon-item.c:
* libnautilus/nautilus-icons-view-icon-item.h:
Simplified the grid a bit and did some redesign. The grid now
takes into account the height and width of the icons. More work
to come.
* libnautilus/nautilus-global-preferences.c:
* nautilus-widgets/nautilus-preferences.h:
Some cleanup, including types for constants.
* libnautilus/nautilus-gnome-extensions.h:
* libnautilus/nautilus-gnome-extensions.c:
(nautilus_art_irect_equal), (nautilus_art_drect_equal),
(nautilus_gnome_canvas_item_get_current_canvas_bounds),
(nautilus_gnome_canvas_item_request_redraw),
(nautilus_gnome_canvas_request_redraw_rectangle),
(nautilus_gnome_canvas_item_get_world_bounds):
More useful canvas and libart routines.
* RENAMING: More renaming ideas.
* HACKING: Tell people about the gnome-xml branch.
* libnautilus/Makefile.am:
* libnautilus/gnome-icon-container-grid.c:
* libnautilus/gnome-icon-container-grid.h:
* libnautilus/gnome-icon-container-private.h:
* libnautilus/gnome-icon-container.c:
Broke out the grid code from the main container code.
This is a first step toward improving the layout code.
* libnautilus/nautilus-directory-private.h:
* libnautilus/nautilus-directory.c:
* libnautilus/nautilus-directory.h:
* src/fm-directory-view.c:
Got started on making the directory I/O async.
There's still a long way to go, this was a baby step.
* libnautilus/nautilus-bookmark.c:
* libnautilus/nautilus-bookmark.h:
* libnautilus/nautilus-self-checks.c:
General cleanup.
* libnautilus/nautilus-file.h:
Rearranged a little bit.
* libnautilus/nautilus-file-utilities.c:
Put FIXME in where there's code that needs to be changed.
* libnautilus/Makefile.am:
* libnautilus/nautilus-xml-extensions.c:
* libnautilus/nautilus-xml-extensions.h:
Added some new gnome-xml helper functions.
* libnautilus/nautilus-directory.c:
(nautilus_directory_get_file_metadata_node):
* libnautilus/nautilus-file.c:
(nautilus_file_get_keywords):
(nautilus_file_set_keywords):
* libnautilus/nautilus-icon-factory.c:
(get_child_node_by_property):
(get_themed_icon_file_path):
* src/nautilus-bookmarklist.c:
(nautilus_bookmarklist_load_file):
Changed to use the new helper functions.
* src/nautilus-bookmarklist.c:
(nautilus_bookmarklist_save_file): Changed direct uses of root to
use xmlDocGet/SetRootElement while I was editing the file. I
think this is the same change Pavel made but wasn't able to check
in.
* src/nautilus-bookmarklist.c:
General cleanup.
embedded text fits in each icon.
* icons/eazel/Makefile.am, icons/eazel/i-regular.xml: Added the
file to specify attributes of icons. Specifically added the
attribute that says there is space for embedded text in the
Eazel-theme regular icon.
* libnautilus/nautilus-icon-factory.h:
* libnautilus/nautilus-icon-factory.c:
(get_child_node_by_property), (get_themed_icon_file_path),
(get_icon_file_path), (nautilus_icon_factory_get_thumbnail_uri),
(load_specific_image), (load_image_for_scaling),
(get_image_from_cache), (load_image_scale_if_necessary),
(nautilus_icon_factory_get_pixbuf_for_icon),
(nautilus_icon_factory_get_pixbuf_for_file):
Added code to read a rectangle for the embedded text along with
the icon, cache it with the icon, scale it with the icon, and
return it to the caller along with the icon.
* libnautilus/nautilus-icons-view-icon-item.c:
(nautilus_icons_view_icon_item_initialize_class),
(nautilus_icons_view_icon_item_set_arg),
(nautilus_icons_view_icon_item_get_arg),
(nautilus_icons_view_icon_item_get_image),
(nautilus_icons_view_icon_item_set_image),
(nautilus_art_irect_to_gdk_rectangle),
(draw_mini_text), (draw_embedded_text),
(nautilus_icons_view_icon_item_draw):
Changed the code that draws the embedded text to respect the
text rectangle passed in. Changed the pixbuf setting to use a
function instead of the arg interface and take a text rectangle
along with the pixbuf.
* libnautilus/gnome-icon-container-dnd.c
(gnome_icon_container_dnd_begin_drag):
* libnautilus/gnome-icon-container.c:
(icon_get_actual_size): Got rid of callers who were using the arg
interface to get at the image of an icon
("NautilusIconsViewIconItem::pixbuf").
* src/file-manager/fm-directory-view-icons.c:
(get_icon_property_cb): Get rid of hard-coded rule that only
themes with eazel at the front of their names can display text
inside the icons.
* libnautilus/gnome-icon-container.c:
(icon_new): Fixed a bug where icons would be super-tiny if they
got too big, like if you entered a directory that was zoomed all
the way in.
(start_stretching), (ungrab_stretch_icon), (end_stretching),
(gnome_icon_container_show_stretch_handles): Added code to grab
the pointer while stretching an icon.
(item_event_cb): Added a return statement that John forgot when
he was editing. Without that, it was falling through to the next
case, which had the same effect anyway.
(update_icon): Pass the text rectangle through from the icon
factory to the icon canvas item, using the new call instead of the
old arg interface approach.
* components/help/.cvsignore: Added entries for
.la and .lo files.
* components/help/Makefile.am:
* components/help/hyperbola-nav-index.c:
* components/help/hyperbola-nav-search.c:
* libnautilus/nautilus-directory-private.h:
* libnautilus/nautilus-directory.c:
* src/nautilus-bookmarklist.c:
Fixed flags for gnome-xml
includes. Someone pointed out that you are supposed to include
these as "#include <tree.h>", not "#include <gnome-xml/tree.h>" so
I fixed our uses to work that way.
* libnautilus/nautilus-directory.c:
(nautilus_directory_get_file_metadata_node): Fixed code that was
destroying something allocated by gnome-xml with g_free instead
of xmlFree.
* libnautilus/nautilus-file.c:
(nautilus_file_get_keywords), (nautilus_file_set_keywords):
Fixed storage leak where we were getting a property and not freeing it.
* libnautilus/nautilus-default-file-icon.h:
* libnautilus/nautilus-default-file-icon.c:
* libnautilus/nautilus-icon-factory.c:
(load_image_for_scaling): Got rid of the global that tells whether
the default icon has an alpha channel -- it's not hardwired TRUE.
2000-03-14 Jonathan Blandford <jrb@redhat.com>
* libnautilus/gnome-icon-container-dnd.c (drag_drop_cb): Add a
gtk_drag_finish to hopefully solve half the flying windows
problem. Needs more thought then this, though...
* libnautilus/nautilus-directory.c (nautilus_directory_get):
Fixed bug that caused a core dump when getting at the root
directory because all the '/' characters were stripped off
the URI.
* /src/file-manager/fm-directory-view.c:
* nautilus-widgets/nautilus-preferences.c:
Tiny formatting fixes.
* libnautilus/nautilus-string-list.h:
* libnautilus/nautilus-string-list.c:
A quick cleanup pass on the NautilusStringList class:
Changed uses of gchar to char, changed g_assert to g_return_if_fail
as appropriate. Fixed brace style to be emacs-friendly (open brace
on same line as if statement). Fixed spelling of delimiter.
Got rid of some unnecessary special cases for NULL and sped up
the _equal function be eliminating the redundant length check.
Changed the self-check so that it doesn't write a warning to the
log when it runs.
* libnautilus/nautilus-global-preferences.c,
* libnautilus/nautilus-global-preferences.h:
(nautilus_global_preferences_get_meta_view_iids) Add a table of
meta view iids and a function to retrieve them. This is a hack
until we have better runtime detection of components.
Add some better defaults for which meta views are shown. By
default none were shown. Undo a previous gnome_config default
hack. There is now a better fix in place in the prefs code.
* nautilus-widgets/nautilus-preferences.c:
(nautilus_preferences_make_gnome_config_string) A new function to
make a string as expected by gnome_config with a trailing default
value. Use this string to fetch the value of the preferences.
* src/Makefile.am,
src/ntl-prefs.c,
src/ntl-prefs.h,
src/nautilus-window-menus.c,
src/nautilus.h:
Retire ntl-prefs.c and ntl-prefs.h. Remove these 2 from build and
all references to them.
* src/ntl-app.c:
(nautilus_app_startup, nautilus_app_destroy) No need to call
retired ntl-prefs functions.
* src/ntl-uri-map.c:
(add_meta_view_iids_from_preferences): New function. Factor out
meta iid setup code into one place. Replace the static meta iid
setup code with something that looks in preferences to see which
meta views are enabled. Next step is to make the meta view
respond to pref changes.
* nautilus-widgets/nautilus-preferences.c:
(pref_hash_info_remove_callback) Properly remove the item from
the list so that we dont crash later trying to munge a NULL node.
* libnautilus/nautilus-global-preferences.h:
(NAUTILUS_PREFERENCES_USER_LEVEL) Make sure the user level
defaults to hacker.
*libnautilus/nautilus-lib-self-check-functions.h: Added string
table tests hooks.
*libnautilus/nautilus-string-list.c,
libnautilus/nautilus-string-list.h: New class to deal with lists
of strings in a type safe manner. Also added self tests for this
class.
* nautilus-widgets/nautilus-preferences.c:
(prefs_set_pref, nautilus_preferences_register_from_info,
nautilus_preferences_register_from_values): Make the preference
changes persistent.
*nautilus-widgets/nautilus-preferences-item.c,
nautilus-widgets/nautilus-preferences-item.h,
nautilus-widgets/nautilus-preferences.c,
nautilus-widgets/nautilus-preferences.h,
nautilus-widgets/test-nautilus-widgets.c:
Dont use GtkFunadamentalType, since we obviously wont support
all fundamantal gtk types as preferences. Use an enum instead.
Makes the preferences type whacking code exactly 14.85% more type
safe.
* libnautilus/nautilus-icons-view-icon-item.c
(nautilus_icons_view_icon_item_point):
Fixed typo that broke all hit testing except for rubber band
selection! (Sorry.)
* libnautilus/gnome-icon-container-dnd.c
(set_gnome_icon_list_selection, set_uri_list_selection),
libnautilus/gnome-icon-container-private.h,
libnautilus/gnome-icon-container.h,
libnautilus/gnome-icon-container.c
(gnome_icon_container_get_icon_uri,
gnome_icon_container_initialize_class, gnome_icon_container_new,
update_icon, gnome_icon_container_update,
gnome_icon_container_request_update),
src/file-manager/fm-directory-view-icons.c (create_icon_container,
get_icon_images_cb, get_icon_uri_cb, get_icon_text_cb,
get_icon_property_cb): Change code that used to use a separate
controller object to just use signals on the icon container
instead.
* libnautilus/nautilus-gtk-extensions.h,
libnautilus/nautilus-gtk-extensions.c,
src/file-manager/fm-directory-view.c: Add new signal marshal
functions as needed and changed the name of one of the old
functions.
* libnautilus/Makefile.am,
libnautilus/nautilus-icons-controller.h,
libnautilus/nautilus-icons-controller.c,
src/file-manager/Makefile.am,
src/file-manager/fm-icons-controller.h,
src/file-manager/fm-icons-controller.c: Removed the old controller
object, it was a bad idea.
* libnautilus/Makefile.am, libnautilus/gnome-icon-container-dnd.c
(set_gnome_icon_list_selection,
gnome_icon_container_dnd_begin_drag),
libnautilus/gnome-icon-container.c (icon_is_in_region,
start_stretching), libnautilus/nautilus-icons-view-icon-item.h,
libnautilus/nautilus-icons-view-icon-item.c (hit_stretch_handle,
hit_test_pixbuf, hit_test, nautilus_icons_view_icon_item_point,
nautilus_icons_view_icon_item_get_icon_world_rectangle,
nautilus_icons_view_icon_item_get_icon_rectangle,
nautilus_icons_view_icon_item_get_icon_window_rectangle,
nautilus_icons_view_icon_item_get_hit_stretch_handle,
hit_stretch_handle,
nautilus_icons_view_icon_item_hit_test_stretch_handles,
nautilus_icons_view_icon_item_hit_test_rectangle):
Fixed rubber banding to hit test with all the parts of the icon,
not just the icon pixbuf itself. Did this by changing all the
internal hit testing to use rects instead of points. At the same
time changed the external interface to always use world
coordinates for clarity.
* libnautilus/nautilus-directory.c (compare_file_with_name),
libnautilus/nautilus-file.c (nautilus_file_set_keywords): Fixed
some void * problems that upset newer versions of GCC but not the
older one that I'm using.
* libnautilus/nautilus-gtk-extensions.h,
libnautilus/nautilus-gtk-extensions.c: Formatting and include
statements fix up.
2000-03-10 Jonathan Blandford <jrb@redhat.com>
* libnautilus/gnome-icon-container.c (button_press_event): Avoid a
bug where we get stuck grabs when you double click.
* src/ntl-window.c, src/ntl-window.h: store zoom_control object in
the window.
* src/nautilus-zoomable-frame-svr.c: New file; implement CORBA
server for Nautilus::ZommableFrame interface.
* src/ntl-view-private.h: prototypes for shared stuff needed to make
this work.
* src/ntl-view.c: Attach a Nautilus::ZoomableFrame interface to
the Nautilus::ViewFrame.
* libnautilus/nautilus-gtk-extensions.h,
libnautilus/nautilus-gtk-extensions.c
(nautilus_gtk_marshal_NONE__DOUBLE): New function.
* libnautilus/gnome-icon-container.c (set_scroll_region):
It turns out that you aren't intended to reset the scroll region
once you have items in the canvas. We need to do that, so I had
to write some code that would update all the items when that happens.
* libnautilus/nautilus-icons-view-icon-item.c:
(recompute_bounding_box): Rewrote this to not assume that the
icon items are all top-level items.
(compute_text_rectangle, hit_test,
nautilus_icons_view_icon_item_bounds): Change hit testing so
it includes hits on the text. The rubberband still has to be
fixed so it doesn't have the same problem.
* libnautilus/nautilus-file.c: Improved a comment.
* RENAMING: Some more name changes.
2 small fixes: tweaked constants used for pre-lighting icons and
fixed bug in music view where track numbers were displayed as -1 if
they were not present in the id3 data; now they are blank.
* libnautilus/nautilus-zoomable.c
(impl_Nautilus_Zoomable__create): Pass the correct thing as the
servant to avoid crashing on instantiation.
(nautilus_zoomable_real_set_bonobo_control): ref and sink the
BonoboControl Gtk object.
(nautilus_zoomable_destroy): unref the control instead of
destroying.
* nautilus-icons-view-icon-item.c (emblem_layout_next,
nautilus_icons_view_icon_item_bounds):
Andy's check-in yesterday accidentally rolled out some changes
to this file. The changes include the typos that John and I had
fixed in emblem_layout_next and nautilus_icons_view_icon_item_bounds.
* nautilus-icons-view-icon-item.c:
As Andy was about to do anyway, I tightened up the emblem
positioning so they are closer to each other by changing the
hard-coded constant EMBLEM_SPACING.
* libnautilus/nautilus-directory-private.h,
libnautilus/nautilus-directory.c, libnautilus/nautilus-file.c
(nautilus_directory_find_file, compare_file_with_name,
nautilus_directory_get, nautilus_file_get): Fixed bugs relating to
multiple directory and file objects for the same entity. Stripped
trailing '/' characters in nautilus_directory_get and changed
nautilus_file_get to return already-existing files instead of
always creating new ones. Added self-checks to make sure this
works.
* libnautilus/nautilus-directory.c
(nautilus_directory_try_to_read_metafile): Fixed bug where
metafile reading would fail. The gnome-xml parser requires a null
character at the end of the file, even though the size is passed
in!
* libnautilus/nautilus-directory.c
(nautilus_directory_remove_write_metafile_idle,
nautilus_directory_finalize,
nautilus_directory_try_to_write_metafile,
nautilus_directory_request_write_metafile, ): Changed metafile
writing so it always happens at idle time.
* libnautilus/nautilus-directory.c
(nautilus_directory_try_to_read_metafile): Fixed bug where
metafile reading would fail. The gnome-xml parser requires a null
character at the end of the file, even though the size is passed
in!
* libnautilus/nautilus-lib-self-check-functions.h: Changed order
so lower-level tests come before higher-level ones.
* libnautilus/nautilus-string.h, libnautilus/nautilus-string.c:
Renamed functions:
nautilus_has_prefix -> nautilus_str_has_prefix
nautilus_strdup_prefix -> nautilus_str_get_prefix
nautilus_has_suffix -> nautilus_str_has_suffix
nautilus_strstrip -> nautilus_str_strip_chr
nautilus_string_to_int -> nautilus_str_to_int
nautilus_eat_string_to_int -> nautilus_eat_str_to_int
Changed nautilus_str_strip_chr not to modify in place.
Added nautilus_str_strip_trailing_chr.
* components/music/nautilus-music-view.c (is_mp3_file,
nautilus_music_view_update_from_uri),
libnautilus/nautilus-icon-factory.c
(nautilus_icon_factory_get_icon_for_file, make_thumbnail_path,
load_specific_image), libnautilus/nautilus-icons-view-icon-item.c
(draw_mini_text), src/ntl-index-panel.c (command_button_cb,
add_command_buttons), src/ntl-window-msgs.c
(nautilus_window_change_location_2),
src/file-manager-fm-directory-view-icons.c
(fm_directory_view_icons_compute_menu_item_info),
src/file-manager/fm-directory-view.c (compute_menu_item_info),
src/file-manager/fm-icons-controller.c
(fm_icons_controller_get_icon_property): Switched callers to use
new names for string calls.
* libnautilus/gnome-icon-container.c (destroy): Reformatting.
* components/help/converters/gnome-info2html2/main.c (main):
Fixed a warning.
* libnautilus/Makefile.am: Install libnautilus.h
* src/ntl-uri-map.c: Handle mapping of special schemes
(i.e. unknown to gnome-vfs). Currently just 'irc'.
which will cause it to have emblems attached to its icon.
* libnautilus/gnome-icon-container.h,
libnautilus/gnome-icon-container.c (gnome_icon_container_update,
gnome_icon_container_update_icon),
libnautilus/nautilus-directory-private.h,
libnautilus/nautilus-directory.c
(nautilus_directory_files_changed), libnautilus/nautilus-file.h,
libnautilus/nautilus-file.c (nautilus_file_changed),
src/file-manager/fm-directory-view.h,
src/file-manager/fm-directory-view.c,
src/file-manager/fm-directory-view-icons.c,
src/file-manager/fm-directory-view-list.c,: Add files_changed
machinery in so views will notice changes to a NautilusFile.
* libnautilus/nautilus-icon-factory.h,
libnautilus/nautilus-icon-factory.c
(nautilus_icon_factory_get_thumbnail_uri,
nautilus_icon_factor_get_icon_for_file, check_for_thumbnails),
libnautilus/nautilus-icons-controller.h,
libnautilus/nautilus-icons-controller.c,
(nautilus_icons_controller_update_icon),
src/file-manager/fm-icons-controller.c
(fm_icons_controller_update_icon): Use the files_changed machinery
instead of a special case in the icon controller to tell the view
about a new thumbnail.
* libnautilus/nautilus-icons-view-icon-item.c
(emblem_layout_next): Fixed typo that caused emblems to go down
one side of the icon instead of going around.
* libnautilus/nautilus-directory-private.h,
libnautilus/nautilus-directory.c
(nautilus_directory_get_file_metadata_node,
nautilus_directory_request_write_metafile),
libnautilus/nautilus-file.c (nautilus_file_set_keywords):
Implemented the set_keywords operation so we can change the
keywords for a file.
* src/file-manager/fm-icon-text-window.c
(create_icon_text_window): Fixed a prototype.
* src/file-manager/fm-properties-window.c (property_button_update,
property_button_toggled, create_properties_window,
fm_properties_window_get_or_create): Implement a first cut at a
properties window.
* components/music/nautilus-music-view.c,
components/notes/ntl-notes.c, libnautilus/Makefile.am,
libnautilus/nautilus-directory-private.h,
libnautilus/nautilus-directory.h,
libnautilus/nautilus-directory.c,
libnautilus/nautilus-file-private.h, libnautilus/nautilus-file.h,
libnautilus/nautilus-file.c, libnautilus/nautilus-icon-factory.h,
src/ntl-index-panel.c, src/file-manager/fm-directory-view.h:
Broke the file part of nautilus-directory.[ch] into
nautilus-file.[ch].
* libnautilus/nautilus-string.c (nautilus_strstrip): Added more
tests. Changed algorithm on strstrip so it's linear instead of
n^2.
* libnautilus/gnome-icon-container.c
(gnome_icon_container_initialize): Fixed font for "larger" zoom
level. Also made it assert if the font can't be loaded.
* components/help/hyperbola-nav-index.c (despace):
Fixed warning.
* libnautilus/gnome-icon-container-dnd.c,
libnautilus/nautilus-string.h: Whitespace.
* src/file-manager/Makefile.am,
src/file-manager/fm-directory-view.c,
src/file-manager/fm-properties-window.h,
src/file-manager/fm-properties-window.c: Added properties window
hook, but no window yet. The menu item still needs to be added to
the main menus as well as the context menus.
* src/file-manager/fm-directory-view.c,
src/file-manager/fm-directory-view-icons.c,
src/file-manager/fm-icon-text-window.h,
src/file-manager/fm-icon-text-window.c: A little cleanup. Shorter
names.
going directly to the file system.
* libnautilus/gnome-icon-container.h,
libnautilus/gnome-icon-container.c
(gnome_icon_container_clear_selected_items),
(gnome_icon_container_remove): Got rid of the call that removes
all the icons in the selection and replaced it with a call that
removes a specific icon.
* libnautilus/nautilus-directory.h,
libnautilus/nautilus-directory.c
(nautilus_directory_initialize_class), (nautilus_file_unref),
(nautilus_file_detach), (nautilus_file_free),
(nautilus_file_delete), (nautilus_file_is_gone): Implemented a
call to delete a file and emit the files_removed signal as needed.
* src/file-manager/fm-directory-view.h,
src/file-manager/fm-directory-view.c
(fm_directory_view_delete_selection),
(fm_directory_view_begin_adding_entries),
(fm_directory_view_add_entry),
(fm_directory_view_done_adding_entries), (display_pending_files),
(add_or_remove_files), (add_files_cb), (remove_files_cb),
(delete_one): Changed the delete implementation to call
nautilus_file_delete and got rid of the explicit call to
delete_selection. The views now will remove their entries in
response to the change in the model.
* src/file-manager/fm-directory-view-icons.c
(fm_directory_view_icons_remove_entry),
(fm_directory_view_icons_delete_selection),
src/file-manager/fm-directory-view-list.c
(fm_directory_view_list_remove_entry),
(fm_directory_view_list_delete_selection): Eliminated the
delete_selection function in favor of the remove_entry function.
implemented semi-transparent dragging by writing a make_semi_transparent
routine that "checkerboards" the alpha channel. Also, switched to
a sans-serif font for the text beneath icons.
* nautilus-icons-view-icon-item.c (nautilus_icons_view_icon_item_bounds):
Fixed a typo that was causing the text area to not be included in the
bounds of an icon item.
* libnautilus/nautilus-directory.h,
libnautilus/nautilus-directory.c (get_file_metadata_node),
(nautilus_directory_get_file_metadata),
(nautilus_file_get_keywords): Added nautilus_file_get_keywords,
which returns a GList of keywords.
* libnautilus/nautilus-icon-factory.c (add_size_to_image_name),
(get_themed_icon_file_path), (get_icon_file_path), (add_emblem),
(nautilus_icon_factory_get_emblem_icons_for_file): Changed icon
names to not include the extension and wired some extensions into
the icon-reading code. The old code wired the entire file name, so
this is a bit more flexible. Added code to return an emblem for
each keyword attached to a file as well as the symbolic link emblem.
* libnautilus/gnome-icon-container.c (update_icon): Handle NULL
pixbufs for emblems. This happens when a keyword is specified that
doesn't have a corresponding emblem icon. Add g_list_reverse call
to keep emblems in the correct order.
* src/file-manager/fm-directory-view-icons.c
(fm_directory_view_icons_merge_menus): Took out g_message left
over from Bonobo menu merge work.
* libnautilus/nautilus-glib-extensions.h,
libnautilus/nautilus-glib-extensions.c
(nautilus_g_list_free_deep): Added convenience function for
getting rid of a GList of things that can be freed with g_free.
* icons/Makefile.am, icons/certified.gif, icons/changed.gif,
icons/confidential.gif, icons/emblem-certified.gif,
icons/emblem-changed.gif, icons/emblem-confidential.gif,
icons/emblem-encrypted.gif, icons/emblem-important.gif,
icons/emblem-new.gif, icons/emblem-personal.gif,
icons/emblem-remote.gif, icons/emblem-symbolic-link.png,
icons/encrypted.gif, icons/i-symlink.png, icons/important.gif,
icons/new.gif, icons/personal.gif, icons/remote.gif:
Changed all emblem icons to have names that start with "emblem-".
Got emblems drawing.
* gnome-icon-container.c (gnome_icon_container_is_stretched),
(gnome_icon_container_unstretch): Fixed bug where Unstretch would do
all the icons, not just the selected ones.
* nautilus-icons-view-icon-item.c (draw_stretch_handles),
(emblem_layout_reset), (emblem_layout_next), (draw_pixbuf),
(nautilus_icons_view_icon_item_draw), (hit_test_pixbuf),
(hit_test), (nautilus_icons_view_icon_item_bounds): Added code to
draw emblems and take them into account for hit testing and bounds
calculation.
* gnome-icon-container.c (update_icon):
* nautilus-icons-view-icon-item.c (nautilus_icons_view_icon_item_draw):
Moved rule about which zoom levels can have text displayed out of the
canvas item class into the container. This is only one of many needed
cleanups to how the "text in an icon" is handled.
* libnautilus/gnome-icon-container.c
(gnome_icon_container_move_icon): Added missing code to get
stretching to work again. (Oops.)
(gnome_icon_container_is_stretched), (gnome_icon_container_unstretch):
Fixed the unstretch code so it will work on multiple icons.
* src/file-manager/fm-directory-view-icons.c
(fm_directory_view_icons_append_selection_context_menu_items):
Make menu item name plural when there are multiple icons to
unstretch.
* libnautilus/nautilus-icons-view-icon-item.c
(nautilus_icons_view_icon_item_draw): Draw a box around the item
when the stretch handles are visible. This looks better.
* libnautilus/nautilus-icons-view-icon-item.h: White space.
of the code. Even though we don't want to scale the two
dimensions separately at the moment, I figured it was better
to go in this direction than to remove all the separate X
and Y stuff that Seth Nickell added.
* libnautilus/gnome-icon-container-dnd.c
(gnome_icon_container_receive_dropped_icons):
* libnautilus/gnome-icon-container-private.h:
* libnautilus/gnome-icon-container.c (icon_get_actual_size),
(icon_new), (icon_get_size), (start_stretching), (update_icon),
(gnome_icon_container_add), (gnome_icon_container_is_stretched),
(gnome_icon_container_unstretch),
(gnome_icon_container_move_icon):
* libnautilus/gnome-icon-container.h:
Got rid of the old "scale", "xscale", and "yscale" and replaced
them with "scale_x" and "scale_y". Made the code always set the
scale factor through the gnome_icon_container_move_icon bottleneck
so the changes are all reported throught the icon_moved signal.
* src/file-manager/fm-directory-view-icons.c:
(add_icon_if_already_positioned),
(fm_directory_view_icons_icon_moved_cb):
Store only a single scale factor if the X and Y are both scaled
exactly the same (the normal case). Also, use a default for
the scale factor so we don't save 1.0 for every file.
* libnautilus/nautilus-gtk-extensions.h:
* libnautilus/nautilus-gtk-extensions.c:
My original change required an additional marshal function. I
decided to add it anyway even though I don't need it right now.
* libnautilus/nautilus/nautilus-bookmark.c
(nautilus_bookmark_get_pixmap_and_mask):
Changed to use the nautilus_icon_factory_get_pixbuf_for_file
convenience function which has a simpler interface.
* libnautilus/nautilus-icon-factory.h:
* libnautilus/nautilus-icon-factory.c:
Added separate X and Y scaling of icons for possible future
use; the convenience functions still use the same size in
both dimentions.
* components/music/.cvsignore:
New directory, new .cvsignore needed.
* RENAMING: Some more name change ideas.
added a nautilus_has_suffix routine and used it in a couple of places;
made sure all thumbnail's have the appropriate 'png' suffix;
made thumbnailing call ImageMagick for formats that gdk-pixbuf comes up
empty on.
added a music view component for displaying directories of mp3 files,
and also made a new mechanism for content view components to be
explicitly specified in the metadata for a directory
Nickell <snickell@stanford.edu>:
* libnautilus/gnome-icon-container.c, gnome-icon-container.h,
gnome-icon-container-dnd.c: Add xscale and yscale arguments to
"icon_moved" signal to allow more unified handling of geometry
changes.
* libnautilus/nautilus-metadata.h: Add definition of
ICON_VIEW_SCALE_METADATA_KEY.
* srf/file-manager/fm-directory-view-icons.c: Save the stretch
factor to the metafile when stretching and restore it when loading
the directory.
* src/ntl-uri-map.c (my_notify_when_ready): Make sure to
gnome_vfs_async_cancel our GnomeVFSAsyncHandle before setting it
to NULL, to avoid leaking gnome-vfs-slave processes.
* libnautilus/nautilus-directory.c (nautilus_directory_load_done):
When loading is complete, make sure to gnome_vfs_async_cancel the
handle before setting it NULL, to avoid leaking gnome-vfs-slave
processes.
* src/file-manager/fm-directory-view.c
(disconnect_model_handlers): if we have a NautilusDirectory in
use, make sure to call nautilus_directory_stop_monitoring on it to
avoid leaking gnome-vfs-slave processes.
* libnautilus/nautilus-icons-view-icon-item.c
(nautilus_icons_view_icon_item_set_emblems): Nautilus was getting
an assertion failure on startup, so I weakened the
assertion. Darin should look at my fix.
* idl/nautilus.idl: Added Nautilus::Zoomable and
Nautilus::ZoomableFrame interfaces.
* nautilus-zoomable.c, nautilus-zoomable.h: New files for the
NautilusZoomable class. This class is used to implement the
Nautilus::Zoomable interface on a nautilus view or other control.
* Makefile.am: Added nautilus.c and nautilus.h to the build.
* style-guide.html: Some minor updates to the style guide,
including rules about headers.
* libnautilus/nautilus-icon-factory.h,
libnautilus/nautilus-icon-factory.c:
(nautilus_icon_factory_get_emblem_icons_for_file),
(nautilus_scalable_icon_get), (nautilus_icon_factor_clear),
(nautilus_icon_factory_load_file),
(nautilus_gdk_pixbuf_composite_corner),
(nautilus_icon_factor_load_icon), (nautilus_scalable_icon_hash),
(nautilus_scalable_icon_equal),
(nautilus_icon_factory_get_icon_for_file), (load_specific_image):
Added interface for getting emblem icons for a file, and got rid
of the symbolic-link overlay that was previously built into the
icon.
* libnautilus/gnome-icon-container.c (update_icon):
Get pixbufs for all emblems and pass into the icon object.
* libnautilus/nautilus-icons-controller.c
(nautius_icons_controller_get_icon_image):
src/file-manager/fm-icons-controller.h,
src/file-manager/fm-icons-controller.c
(fm_icons_controller_get_icon_image): Return a list of emblem
images along with the main image.
* libnautilus/nautilus-icons-view-icon-item.h,
libnautilus/nautilus-icons-view-icon-item.c
(nautilus_icons_view_icon_item_set_emblems),
(nautilus_icons_view_icon_item_destroy): Keep a list of emblem
pixbufs in each icon. We don't draw them quite yet.
* libnautilus/gdk-extensions.h, libnautilus/gdk-extensions.c:
(nautilus_gdk_pixbuf_list_ref), (nautilus_gdk_pixbuf_list_unref),
(nautilus_gdk_pixbuf_list_free): Convenience functions for
manipulating lists of GdkPixbuf objects.
* libnautilus/nautilus-directory.h,
libnautilus/nautilus-directory.c: (nautilus_file_list_ref),
(nautilus_file_list_unref), (nautilus_file_list_free): Convenience
functions for manipulating lists of NautilusFile objects. Also got
rid of NautilusFileList typedef.
* libnautilus/nautilus-icon-factory.h,
libnautilus/nautilus-icon-factory.h:
(nautilus_scalable_icon_list_free): Convenience function for
manipulating lists of NautilusScalableIcon objects.
* libnautilus/nautilus-glib-extensions.h,
libnautilus/nautilus-glib-extensions.c: (nautilus_g_list_equal):
Function to compare two GLists to see if they are
identical. Particularly useful with lists of reference-counted
objects.
* src/file-manager/fm-directory-view-icons.c
(fm_directory_view_icons_destroy),
(add_icon_if_already_positioned),
(fm_directory_view_icons_append_selection_context_menu_items),
(display_icons_not_already_positioned),
(fm_direectory_view_icons_get_selection):
src/file-manager/fm-directory-view-list.c
(fm_directory_view_list_get_selection):
src/file-manager/fm-directory-view.c (display_selection_info),
(display_pending_files), (add_files_cb), (open_in_new_window_cb),
(fm_directory_view_real_append_selection_context_menu_items): Got
rid of use of NautilusFileList typedef, corrected ref. counting of
files in the lists by using new calls.
* src/nautilus-bookmarklist.c, src/nautilus-bookmarks-menu.c,
src/nautilus-index-tabs.c,
src/file-manager/fm-directory-view-icons.c,
src/file-manager/fm-directory-view.c,
src/file-manager/fm-icons-controller.c: A bit of reformatting.
the non-theme icon when you are zoomed in all the way.
* nautilus-icon-factory.c: (nautilus_icon_factory_load_file),
(add_size_to_image_name), (get_icon_file_path),
(nautilus_icon_factory_load_file),
(nautilus_icon_factory_load_icon), (load_specific_image): Changed
logic so the decision about whether to use a theme icon or the
default icon for each icon is decided based on the presence of the
non-sized version of the icon rather than the presence of the icon
for a particular size.
* nautilus-file-utilities.h, nautilus-file-utilities.c:
Cleaned up header and includes and changed ".gnomad" to
".nautilus". (At first I had added a nautilus_file_exists
function, but then I remembered the g_file_exists function in
gnome-utils.h.)
implemented text in icons feature, for eazel-style icons only
also, added multiple sizes of large gnome-style standard document
icons contributed by Kenneth Christiansen
* libnautilus/ntl-view-frame.c: Fixed crashes introduced in the
course of my reorganization - in one case I g_new()'d something
that should have been g_new0()'d, in another I forgot to
CORBA_exception_init().
sensible. (It now modifies the selection exactly as it would on a normal
left-click, and the context menu applies to the whole set of selected items.)
Note that nautilus is quite broken right now; I can't activate an icon or switch
to View as List without dying in Bonobo-land. I managed to test these changes
even so by tiptoeing around the problems.
* libnautilus/ntl-view-frame.c, libnautilus/ntl-view-frame.h:
Changed NautilusViewFrame to allow creation of `Nautilus::View'
objects that have additional interfaces while sharing the actual
control. This will allow, for instance, the creation of components
that are both a `Nautilus::View' and a `Bonobo::Embeddable'. The
basic changes are to require a `BonoboObject' with a
`Bonobo::Control' interface at construction time.
- Two creation functions are provided: `nautilus_view_frame_new',
which takes a GtkWidget, creates a new control that contains that
widget, and the constructs a NautilusViewFrame with that control,
and `nautilus_view_frame_new_from_control', which creates a
NautilusViewFrame that gets added as an additional interface to an
existing control.
- In the course of doing this it became clear that it would be
easier if NautilusViewFrame were changed to inherit from
BonoboObject rather than GtkBin, so this was done; as a result,
the nautilus_view_frame_get_bonobo_object call was removed, since
the view_frame _is_ a bonobo object. However, a
nautilus_view_frame_get_bonobo_control call was added as a
convenience, to allow other code to avoid having to
query_local_interface for the control object manually.
* libnautilus/ntl-meta-view-frame.c,
libnautilus/ntl-meta-view-frame.h,
libnautilus/ntl-content-view-frame.c,
libnautilus/ntl-content-view-frame.h: Analogous changes; mainly,
added `nautilus_meta_view_frame_new',
`nautilus_meta_view_frame_new_from_control',
`nautilus_content_view_frame_new' and
`nautilus_content_view_frame_new_from_control'.
* components/help/hyperbola-nav-index.c,
components/help/hyperbola-nav-tree.c,
components/history/ntl-history-view.c,
components/html/ntl-web-browser.c, components/notes/ntl-notes.c,
components/websearch/ntl-web-search.c, src/ntl-app.c,
src/file-manager/fm-directory-view.c: Fixed initialization and
object creation functions to deal with the above API change.
* gnome-icon-container.c: (set_scroll_region):
Set up the step_increment so the vertical and horizontal scroll
bars will scroll when you click on the arrows.
* src/file-manager/fm-directory-view.c:
(use_eazel_theme_icons_cb), (finish_adding_menu_item),
(add_menu_item), (add_check_menu_item),
(fm_directory_view_real_append_background_context_menu_items):
Hooked up the menu item for using the Eazel Theme Icons so people
can try out the icons that are tuned at different sizes.
* libnautilus/nautilus-icon-factory.h:
* libnautilus/nautilus-icon-factory.c,
(nautilus_icon_factory_get), (nautilus_icon_factory_new),
(nautilus_icon_factory_initialize),
(nautilus_icon_factory_initialize_class),
(nautilus_icon_factory_get_theme),
(nautilus_icon_factory_set_theme): Added a signal "theme_changed"
to the icon factory, and had to add a visible icon factory object
so clients can connect to the signal.
* libnautilus/gnome-icon-container.c,
(gnome_icon_container_initialize),
(gnome_icon_container_request_update_all): Update all icons when
the theme changes.
* docs/recommended-books.html: Added this since
style-guide.html refers to it.
So for example you can have an icon designed for the 96x96
size, which is called i-directory-96.png, and it will be
loaded instead of loading i-directory.png and scaling it.
* libnautilus/nautilus-icon-factory.c:
(nautilus_icon_factory_get_icon_name_for_regular_file),
(add_size_to_icon_name), (nautilus_icon_factory_load_icon),
(nautilus_icon_factory_create_image_for_item),
(get_larger_icon_size), (get_smaller_icon_size),
(get_next_icon_size_to_try), (load_specific_image),
(load_image_for_scaling), (load_image_scale_if_necessary),
(nautilus_icon_factory_mark_recently_used), (mark_recently_used),
(nautilus_icon_factory_get_pixbuf_for_icon),
(get_image_from_cache), (nautilus_icon_factory_scale): Changed the
icon factory so it will look for icons of multiple resolutions and
scale the nearest. Also made other improvements including sharing
a single fallback icon instead of making multiple ones, using the
"core-dump" icon for files named "core", adding some additional
g_return_if_fail.
* libnautilus/nautilus-icon-factory.c:
(self_test_next_icon_size_to_try),
(nautilus_self_check_icon_factory):
* libnautilus/nautilus-lib-self-check-functions.h:
The new code needed a bit of self-check code, so I added it.
* libnautilus/nautilus-directory.c:
(nautilus_directory_try_to_read_metafile),
(nautilus_directory_construct_alternate_metafile_uri):
Since "make check" was failing, I checked to see what was wrong.
The code that was respecting the new "valid_fields" part of
GnomeVFSFileInfo was looking at the wrong field (flags instead
of valid_fields), which caused all metafile reading to fail.
While debugging this, I noticed that the alternate metafiles
had particularly bad long names, so I fixed that too.
* libnautilus/nautilus-directory.c: (nautilus_file_ref):
* libnautilus/nautilus-glib-extensions.c:
(nautilus_strdup_strftime):
* libnautilus/nautilus-string.c: (nautilus_string_to_int):
Switched from using <limits.h> constants to the ones from
<glib.h>. I have no idea why I made this change. All hail
glib! C Standard be damned!
* fm-directory-view.c:
(use_eazel_theme_icons_cb), (add_menu_item),
(fm_directory_view_real_append_background_context_menu_items):
Started on a user interface to switch to the Eazel theme
icons so you can see the multiple-resolution icons, but
I wanted to check in, so I stopped before it was done.
* src/nautilus-index-title.c:
Reindented Andy's new code to match the emacs mode header.
* configure.in:
* icons/Makefile.am:
* icons/eazel/.cvsignore:
* icons/eazel/Makefile.am:
* icons/eazel/i-directory-24.png:
* icons/eazel/i-directory-36.png:
* icons/eazel/i-directory-72.png:
* icons/eazel/i-directory-96.png:
* icons/eazel/i-directory.png:
I needed some variable-size icons to demonstrate the multiple
resolution support in the icon factory, so I added a few
directory icons from gnomad. Since these don't match the other
icons, I made them part of an "eazel" icons theme.
* RENAMING: Some new name ideas.
* components/help/hyperbola-main.c: Fix the GOAD ID for help index.
* components/help/hyperbola.goad: Add help index.
* libnautilus/nautilus-directory.c: To avoid a warning in case
nautilus_directory_new fails, and speed things up, remove
unnecessary cast.
* libnautilus/nautilus-icon-factory.c: Add sanity checks to avoid segfaults.
* src/nautilus-index-title.c: Add sanity check, plus try to handle
case where nautilus_file_get() returns NULL.
* src/ntl-window.c, src/ntl-window-msgs.c: Notify the index panel
of a URI change when we notify everyone else, instead of doing it when
the user requests a change.
Stretched icons aren't yet persistent (the scale factor is not
saved in metadata), but that's not much more work.
* libnautilus/gnome-icon-container-private.h:
* libnautilus/gnome-icon-container.h:
* libnautilus/gnome-icon-container.c: (icon_new), (icon_position),
(icon_set_position), (icon_get_size), (icon_set_size),
(icon_toggle_selected), (icon_select), (icon_set_selected),
(button_press_event), (gnome_icon_container_begin_stretch),
(start_stretching), (gnome_icon_container_stretch),
(continue_stretching), (gnome_icon_container_end_stretch),
(end_stretching), (button_release_event), (motion_notify_event),
(handle_icon_button_press), (gnome_icon_container_clear),
(request_update_one), (update_icon), (get_first_selected_icon),
(gnome_icon_container_show_stretch_handles),
(gnome_icon_container_has_stretch_handles),
(gnome_icon_container_is_stretched),
(gnome_icon_container_unstretch), (compute_stretch),
(nautilus_self_check_compute_stretch),
(nautilus_self_check_gnome_icon_container):
* libnautilus/nautilus-icons-view-icon-item.h:
* libnautilus/nautilus-icons-view-icon-item.c:
(nautilus_icons_view_icon_item_draw),
(nautilus_icons_view_icon_item_point),
(nautilus_icons_view_icon_item_set_show_stretch_handles),
(nautilus_icons_view_icon_item_get_hit_stretch_handle):
* libnautilus/nautilus-lib-self-check-functions.h:
Added machinery for stretching icons.
* src/file-manager/fm-directory-view.h:
* src/file-manager/fm-directory-view.c:
(append_item_context_menu_items),
(fm_directory_view_real_append_item_context_menu_items),
(fm_directory_view_initialize_class), (create_item_context_menu):
Added machinery for views to have view-specific menu items for
icons as well as for the window as a whole.
* src/file-manager/fm-directory-view-icons.c:
(fm_directory_view_icons_initialize_class),
(fm_directory_view_icons_append_item_context_menu_items),
(show_stretch_handles_cb), (unstretch_item_cb):
Added menu items for stretching icons.
* libnautilus/gnome-icon-container.c: (start_rubberbanding):
Fixed bug that would result in two rubberband timeouts at
once if you did rubberbanding quickly.
* components/notes/.cvsignore: Andy's new component needs a
.cvsignore file for its generated pieces.
* libnautilus/nautilus-directory.c:
(nautilus_directory_try_to_read_metafile),
(nautilus_directory_read_metafile):
Simplified logic in metafile-reading functions and fixed a bug
where the vfs handle would be left open if certain categories
of errors occurred.
* libnautilus/nautilus-gtk-extensions.h:
Added a missing gtk_marshal function.
* libnautilus/nautilus-icon-factory.h:
* libnautilus/nautilus-icon-factory.c:
(nautilus_icon_size_for_zoom_level),
(nautilus_get_icon_size_for_zoom_level),
(nautilus_icon_factory_get_pixbuf_for_file),
(nautilus_icon_factory_get_pixmap_and_mask_for_file):
* src/nautilus-index-title.c: (nautilus_index_title_set_up_icon):
* src/nautilus-zoom-control.c: (set_zoom_level):
* src/file-manager/fm-directory-view-list.c:
(fm_directory_view_list_bump_zoom_level), (install_icon):
Made some API improvements for the icon factory. Added a missing
get_ to the name nautilus_get_icon_size_for_zoom_level and added
convenience functions for the most common uses of the factory.
* libnautilus/ntl-content-view-frame.c:
* libnautilus/ntl-meta-view-frame.c:
* libnautilus/ntl-view-frame.c:
Weaned all the files in libnautilus itself from using the
libnautilus.h include file. They instead include the parts that
they need. Also added some missing <config.h> includes.
* libnautilus/nautilus-directory.c: Pay attention to the
GnomeVFSFileInfo flags to determine whether to read the metafile.
* components/html/ntl-web-browser.c: Try to fall back to using
gnome-vfs if we can't load it via libwww. Sort of bad hack, but it
just might work.