Commit graph

508 commits

Author SHA1 Message Date
Darin Adler 78899d3907 Updated to reflect completed tasks.
* 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.
2000-05-25 21:32:33 +00:00
Gene Ragan 31890627ca *** empty log message *** 2000-05-25 02:14:50 +00:00
Darin Adler 346de1525e [removed] [removed]
* components/hardware/nautilus-hardware-view.c:
	(nautilus_hardware_view_initialize),
	(hardware_view_notify_location_change_callback):
	* components/hardware/nautilus-hardware-view.h:
	* components/help/hyperbola-nav-index.c:
	(hyperbola_navigation_index_select_row):
	* components/help/hyperbola-nav-search.c:
	(hyperbola_navigation_search_select_row),
	(hyperbola_navigation_search_new):
	* components/html/ntl-web-browser.c: (browser_url_load_done),
	(browser_vfs_callback), (browser_goto_url_real),
	(browser_goto_url), (browser_select_url), (browser_title_changed),
	(browser_notify_location_change), (make_obj):
	* components/loser/content/main.c: (loser_make_object):
	* components/loser/content/nautilus-content-loser.c:
	(nautilus_content_loser_initialize),
	(loser_notify_location_change_callback):
	* components/loser/content/nautilus-content-loser.h:
	* components/loser/sidebar/main.c: (loser_make_object):
	* components/loser/sidebar/nautilus-sidebar-loser.c:
	(nautilus_sidebar_loser_initialize),
	(loser_notify_location_change_callback):
	* components/mozilla/main.c: (mozilla_make_object):
	* components/mozilla/nautilus-mozilla-content-view.c:
	(nautilus_mozilla_content_view_initialize),
	(mozilla_content_view_request_progress_change),
	(mozilla_content_view_request_location_change),
	(mozilla_notify_location_change_callback),
	(mozilla_title_changed_callback), (mozilla_link_message_callback):
	* components/mozilla/nautilus-mozilla-content-view.h:
	* components/music/main.c: (music_view_make_object):
	* components/music/nautilus-music-view.c:
	(nautilus_music_view_initialize), (click_column_callback),
	(music_view_notify_location_change_callback),
	(nautilus_music_view_drag_data_received):
	* components/music/nautilus-music-view.h:
	* components/rpmview/main.c: (rpm_view_make_object):
	* components/rpmview/nautilus-rpm-view.c:
	(nautilus_rpm_view_initialize),
	(rpm_view_notify_location_change_callback):
	* components/rpmview/nautilus-rpm-view.h:
	* components/sample/main.c: (sample_make_object):
	* components/sample/nautilus-sample-content-view.c:
	(nautilus_sample_content_view_initialize),
	(sample_notify_location_change_callback):
	* components/sample/nautilus-sample-content-view.h:
	* components/services/startup/nautilus-view/main.c:
	(services_make_object):
	* components/services/startup/nautilus-view/nautilus-service-startup-view.c:
	(go_to_uri), (nautilus_service_startup_view_initialize),
	(service_main_notify_location_change_cb):
	* components/services/startup/nautilus-view/nautilus-service-startup-view.h:
	* libnautilus/Makefile.am:
	* libnautilus/libnautilus.h:
	* libnautilus/nautilus-content-view-frame.c: [removed]
	* libnautilus/nautilus-content-view-frame.h: [removed]
	* libnautilus/nautilus-view-component.idl:
	* libnautilus/nautilus-view-frame-private.h:
	* libnautilus/nautilus-view-frame.c:
	(impl_Nautilus_View_save_state), (impl_Nautilus_View_load_state),
	(impl_Nautilus_View_notify_location_change),
	(impl_Nautilus_View_show_properties),
	(impl_Nautilus_View_notify_selection_change),
	(impl_Nautilus_View_stop_location_change),
	(impl_Nautilus_View__destroy), (impl_Nautilus_View__create),
	(nautilus_view_initialize_class), (nautilus_view_initialize),
	(nautilus_view_new), (nautilus_view_new_from_bonobo_control),
	(get_view_frame), (nautilus_view_request_location_change),
	(nautilus_view_request_selection_change),
	(nautilus_view_request_status_change),
	(nautilus_view_request_progress_change),
	(nautilus_view_request_title_change),
	(nautilus_view_get_bonobo_control),
	(nautilus_view_get_main_window):
	* libnautilus/nautilus-view-frame.h:
	* src/Makefile.am:
	* src/file-manager/fm-directory-view.c: (get_bonobo_control),
	(fm_directory_view_initialize), (display_selection_info),
	(fm_directory_view_send_selection_change),
	(notify_location_change_callback), (stop_location_change_callback),
	(done_loading), (fm_directory_view_activate_file_internal),
	(finish_loading_uri):
	* src/file-manager/fm-directory-view.h:
	* src/ntl-app.c: (impl_Nautilus_Application_create_object):
	* src/ntl-content-view.c: [removed]
	* src/ntl-content-view.h: [removed]
	* src/ntl-uri-map.c: (make_oaf_query_with_known_mime_type),
	(make_oaf_query_with_uri_scheme_only):
	* src/ntl-view-frame-svr.c: (impl_Nautilus_ViewFrame__destroy),
	(impl_Nautilus_ViewFrame__create),
	(impl_Nautilus_ViewFrame__get_main_window),
	(impl_Nautilus_ViewFrame_request_location_change),
	(impl_Nautilus_ViewFrame_request_selection_change),
	(impl_Nautilus_ViewFrame_request_status_change),
	(impl_Nautilus_ViewFrame_request_progress_change),
	(impl_Nautilus_ViewFrame_request_title_change):
	* src/ntl-view-private.h:
	* src/ntl-view.c: (nautilus_view_frame_class_init),
	(nautilus_view_frame_set_arg), (nautilus_view_frame_get_arg),
	(nautilus_view_frame_request_location_change),
	(nautilus_view_frame_request_selection_change),
	(nautilus_view_frame_request_status_change),
	(nautilus_view_frame_request_progress_change),
	(nautilus_view_frame_request_title_change),
	(nautilus_view_frame_set_label), (nautilus_view_frame_activate):
	* src/ntl-view.h:
	* src/ntl-window-msgs.c: (nautilus_window_request_title_change),
	(nautilus_window_load_meta_view),
	(nautilus_window_request_location_change),
	(nautilus_window_load_content_view):
	* src/ntl-window-msgs.h:
	* src/ntl-window-private.h:
	* src/ntl-window.c:
	(nautilus_window_request_title_change_callback),
	(nautilus_window_connect_content_view),
	(nautilus_window_real_set_content_view):
	Got rid of ContentView and ContentViewFrame.
2000-05-25 01:49:32 +00:00
Darin Adler f6a5f321b9 [deleted] [deleted]
* libnautilus/nautilus-view-component.idl:
	* src/Makefile.am:
	* src/ntl-index-panel.c: (nautilus_index_panel_add_meta_view):
	* src/ntl-meta-view.c: [deleted]
	* src/ntl-meta-view.h: [deleted]
	* src/ntl-view.c: (nautilus_view_frame_handle_client_destroy_2),
	(nautilus_view_frame_set_active_errors),
	(nautilus_view_frame_get_label), (nautilus_view_frame_set_label):
	* src/ntl-view.h:
	* src/ntl-window-msgs.c: (nautilus_window_load_meta_view),
	(nautilus_window_update_state):
	* src/ntl-window.c:
	Removed Nautilus::MetaViewFrame and all the related classes.
2000-05-24 22:51:49 +00:00
Gene Ragan 1aedbe5892 *** empty log message *** 2000-05-24 22:49:39 +00:00
Gene Ragan ca8660c9bc *** empty log message *** 2000-05-24 22:48:16 +00:00
Darin Adler 70659f5565 [deleted] [deleted]
* 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-24 22:16:01 +00:00
Darin Adler 3f2b83b1a0 Moved to make clear that popt must build first.
* HACKING: Moved to make clear that popt must build first.

	* RENAMING: Added some new file renamings.

	* src/nautilus-zoomable-frame-svr.c:
	* src/nautilus.h: [removed]
	* src/ntl-app.c:
	* src/ntl-main.c:
	* src/ntl-meta-view.c:
	* src/ntl-types.h: [removed]
	* src/ntl-uri-map.c:
	* src/ntl-view-bonobo-control.c:
	* src/ntl-view-bonobo-subdoc.c:
	* src/ntl-view-frame-svr.c:
	* src/ntl-view-nautilus.c:
	* src/ntl-view-private.h:
	* src/ntl-view.c:
	* src/ntl-window-msgs.c:
	* src/ntl-window-state.c:
	* src/ntl-window.c:
	Got rid of "nautilus.h" and "ntl-types.h".

	* libnautilus/nautilus-undo-context.c:
	(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),
	(destroy):
	* libnautilus/nautilus-undo-manager.c:
	(impl_Nautilus_Undo_Manager__destroy),
	(impl_Nautilus_Undo_Manager__create),
	(impl_Nautilus_Undo_Manager__append),
	(impl_Nautilus_Undo_Manager__forget),
	(impl_Nautilus_Undo_Manager__undo), (nautilus_undo_manager_new),
	(nautilus_undo_manager_initialize),
	(nautilus_undo_manager_initialize_class),
	(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),
	(destroy), (nautilus_undo_manager_enable_redo),
	(nautilus_undo_manager_set_queue_depth), (free_undo_manager_list):
	Various code cleanups. Specifically, get rid of unused
	bonobo_object and rename gtk_object to bonobo_object.
	Get rid of some yucky function pointer casts.

	* src/ntl-app.c: (nautilus_app_init):
	Got rid of bogus extra ref.

	* libnautilus-extensions/nautilus-program-chooser.c:
	(nautilus_program_chooser_new): Reindent part just to annoy John.
	* libnautilus-extensions/nautilus-program-choosing.c:
	(nautilus_launch_application): Newline at end of file (ugh).

	* src/ntl-index-panel.c: (add_command_buttons): Format tweaking.
2000-05-24 21:12:50 +00:00
Gene Z. Ragan 539ae559db Added call to CORBA_Object_duplicate(). This fixed an explosive bug.
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.
2000-05-24 01:03:51 +00:00
Darin Adler 9970b3cb16 Some cleanup of the undo code, including a first cut of the
* 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 21:47:19 +00:00
Darin Adler 8ce35298c3 The ViewFrame <-> View renaming.
We still have to rename the files.

	* RENAMING: Put in explicit cases for file name renaming.

	* src/Makefile.am:
	* src/nautilus-desktop-window.c:
	* src/nautilus-desktop-window.h:
	Added placeholders. I'll be putting code in here soon.

	* src/ntl-app.c: (display_prototype_caveat):
	Changed to use nautilus_simple_dialog again since otherwise it
	comes up behind the main window. Perhaps someone will resolve
	that issue and change it back.

	* libnautilus-extensions/nautilus-gnome-extensions.h:
	* libnautilus-extensions/nautilus-gnome-extensions.c:
	(nautilus_warning_dialog), (nautilus_warning_dialog_parented):
	Added centered version of the warning dialog as well, since
	Eskil was using gnome_warning_dialog in a case where he really
	wanted lines wrapped.

	* components/loser/.cvsignore:
	* components/loser/content/.cvsignore:
	* components/loser/sidebar/.cvsignore:
	Ignore some generated files.

	* components/hardware/main.c: (hardware_view_make_object):
	* components/hardware/nautilus-hardware-view.c:
	(nautilus_hardware_view_initialize),
	(nautilus_hardware_view_destroy),
	(nautilus_hardware_view_get_nautilus_view),
	(hardware_view_notify_location_change_callback):
	* components/hardware/nautilus-hardware-view.h:
	* components/help/hyperbola-nav-index.c:
	(hyperbola_navigation_index_select_row),
	(hyperbola_navigation_index_new):
	* components/help/hyperbola-nav-search.c:
	(hyperbola_navigation_search_select_row),
	(hyperbola_navigation_search_new):
	* components/help/hyperbola-nav-tree.c:
	(hyperbola_navigation_tree_new),
	(hyperbola_navigation_tree_notify_location_change),
	(hyperbola_navigation_tree_select_row):
	* components/history/ntl-history-view.c:
	(hyperbola_navigation_history_notify_location_change),
	(hyperbola_navigation_history_select_row), (make_obj):
	* components/html/ntl-web-browser.c: (browser_url_load_done),
	(browser_vfs_callback), (browser_goto_url_real),
	(browser_goto_url), (browser_select_url), (browser_title_changed),
	(browser_notify_location_change), (make_obj):
	* components/loser/content/main.c: (loser_make_object):
	* components/loser/content/nautilus-content-loser.c:
	(nautilus_content_loser_initialize),
	(nautilus_content_loser_destroy),
	(nautilus_content_loser_get_nautilus_view),
	(nautilus_content_loser_load_uri),
	(loser_notify_location_change_callback), (bonobo_loser_callback):
	* components/loser/content/nautilus-content-loser.h:
	* components/loser/sidebar/main.c: (loser_make_object):
	* components/loser/sidebar/nautilus-sidebar-loser.c:
	(nautilus_sidebar_loser_initialize),
	(nautilus_sidebar_loser_destroy),
	(nautilus_sidebar_loser_get_nautilus_view),
	(loser_notify_location_change_callback):
	* components/loser/sidebar/nautilus-sidebar-loser.h:
	* components/music/main.c: (music_view_make_object):
	* components/music/nautilus-music-view.c:
	(nautilus_music_view_initialize), (nautilus_music_view_destroy),
	(nautilus_music_view_get_nautilus_view),
	(music_view_notify_location_change_callback):
	* components/music/nautilus-music-view.h:
	* components/notes/ntl-notes.c: (notes_notify_location_change),
	(make_notes_view):
	* components/rpmview/main.c: (rpm_view_make_object):
	* components/rpmview/nautilus-rpm-view.c:
	(nautilus_rpm_view_initialize), (nautilus_rpm_view_destroy),
	(nautilus_rpm_view_get_nautilus_view),
	(rpm_view_notify_location_change_callback):
	* components/rpmview/nautilus-rpm-view.h:
	* components/sample/main.c: (sample_make_object):
	* components/sample/nautilus-sample-content-view.c:
	(nautilus_sample_content_view_initialize),
	(nautilus_sample_content_view_destroy),
	(nautilus_sample_content_view_get_nautilus_view),
	(sample_notify_location_change_callback):
	* components/sample/nautilus-sample-content-view.h:
	* components/services/startup/nautilus-view/main.c:
	(services_make_object):
	* components/services/startup/nautilus-view/nautilus-service-startup-view.c:
	(go_to_uri), (nautilus_service_startup_view_initialize),
	(nautilus_service_startup_view_get_nautilus_view),
	(service_main_notify_location_change_cb):
	* components/services/startup/nautilus-view/nautilus-service-startup-view.h:
	* components/websearch/ntl-web-search.c:
	(web_search_notify_location_change), (do_search), (make_obj):
	* libnautilus/nautilus-clipboard.c:
	(nautilus_clipboard_info_set_view),
	(nautilus_clipboard_info_get_view),
	(nautilus_clipboard_info_get_bonobo_control):
	* libnautilus/nautilus-clipboard.h:
	* src/file-manager/fm-directory-view.c:
	(bonobo_menu_move_to_trash_callback), (get_bonobo_control),
	(fm_directory_view_initialize), (display_selection_info),
	(fm_directory_view_send_selection_change),
	(notify_location_change_callback),
	(notify_selection_change_callback),
	(stop_location_change_callback), (done_loading),
	(fm_directory_view_get_nautilus_view),
	(fm_directory_view_activate_file_internal), (finish_loading_uri):
	* src/file-manager/fm-directory-view.h:
	Updated for new libnautilus where the NautilusViewFrame
	classes are now named NautilusView.

	* libnautilus/nautilus-content-view-frame.c:
	(nautilus_content_view_initialize), (nautilus_content_view_new),
	(nautilus_content_view_new_from_bonobo_control),
	(nautilus_content_view_destroy),
	(nautilus_content_view_initialize_class),
	(nautilus_content_view_request_title_change):
	* libnautilus/nautilus-content-view-frame.h:
	* libnautilus/nautilus-meta-view-frame.c:
	(nautilus_meta_view_initialize), (nautilus_meta_view_new),
	(nautilus_meta_view_new_from_bonobo_control),
	(nautilus_meta_view_destroy),
	(nautilus_meta_view_initialize_class):
	* libnautilus/nautilus-meta-view-frame.h:
	Changed Nautilus*ViewFrame classes to Nautilus*View. This is
	something we had in RENAMING for some time, and it's consistent
	with Bonobo's naming of BonoboControl and BonoboControlFrame.
	Also changed interfaces to use actual BonoboControl * instead of
	using BonobObject * and query_interface.

	* libnautilus/nautilus-undo-manager.c:
	(nautilus_undo_setup_bonobo_control):
	* libnautilus/nautilus-undo-manager.h:
	Changed the BonoboControl parameter to actually be of type
	BonoboControl * instead of BonoboObject *.

	* libnautilus/nautilus-view-frame-private.h:
	* libnautilus/nautilus-view-frame.c:
	(impl_Nautilus_View_save_state), (impl_Nautilus_View_load_state),
	(impl_Nautilus_View_notify_location_change),
	(impl_Nautilus_View_show_properties),
	(impl_Nautilus_View_notify_selection_change),
	(impl_Nautilus_View_stop_location_change),
	(impl_Nautilus_View__destroy), (impl_Nautilus_View__create),
	(nautilus_view_initialize_class), (nautilus_view_set_arg),
	(nautilus_view_get_arg), (nautilus_view_initialize),
	(nautilus_view_new), (nautilus_view_new_from_bonobo_control),
	(nautilus_view_destroy), (nautilus_view_ensure_view_frame),
	(nautilus_view_request_location_change),
	(nautilus_view_request_selection_change),
	(nautilus_view_request_status_change),
	(nautilus_view_request_progress_change),
	(nautilus_view_get_bonobo_control),
	(nautilus_view_get_main_window),
	(nautilus_view_real_set_bonobo_control):
	* libnautilus/nautilus-view-frame.h:
	* libnautilus/nautilus-zoomable.c:
	(impl_Nautilus_Zoomable__get_zoom_level),
	(impl_Nautilus_Zoomable__set_zoom_level),
	(impl_Nautilus_Zoomable__get_min_zoom_level),
	(impl_Nautilus_Zoomable__get_max_zoom_level),
	(impl_Nautilus_Zoomable__get_is_continuous),
	(impl_Nautilus_Zoomable_zoom_in),
	(impl_Nautilus_Zoomable_zoom_out),
	(impl_Nautilus_Zoomable_zoom_to_fit),
	(impl_Nautilus_Zoomable__destroy),
	(impl_Nautilus_Zoomable__create), (marshal_NONE__DOUBLE),
	(nautilus_zoomable_initialize_class), (nautilus_zoomable_set_arg),
	(nautilus_zoomable_get_arg), (nautilus_zoomable_initialize),
	(nautilus_zoomable_new),
	(nautilus_zoomable_new_from_bonobo_control),
	(nautilus_zoomable_destroy),
	(nautilus_zoomable_ensure_zoomable_frame),
	(nautilus_zoomable_set_zoom_level),
	(nautilus_zoomable_get_bonobo_control),
	(nautilus_zoomable_real_set_bonobo_control):
	* libnautilus/nautilus-zoomable.h:
	* src/nautilus-zoomable-frame-svr.c:
	(impl_Nautilus_ZoomableFrame__destroy),
	(impl_Nautilus_ZoomableFrame__create),
	(impl_Nautilus_ZoomableFrame_notify_zoom_level):
	* src/ntl-app.c: (impl_Nautilus_Application_create_object),
	* src/ntl-content-view.c:
	(impl_Nautilus_ContentViewFrame_request_title_change),
	(nautilus_content_view_frame_get_type),
	(nautilus_content_view_frame_class_init),
	(nautilus_content_view_frame_init),
	(nautilus_content_view_frame_set_active),
	(nautilus_content_view_frame_request_title_change):
	* src/ntl-content-view.h:
	* src/ntl-index-panel.c: (nautilus_index_panel_add_meta_view),
	(nautilus_index_panel_remove_meta_view):
	* src/ntl-index-panel.h:
	* src/ntl-meta-view.c: (nautilus_meta_view_frame_initialize_class),
	(nautilus_meta_view_frame_initialize),
	(nautilus_meta_view_frame_set_label),
	(nautilus_meta_view_frame_get_label):
	* src/ntl-meta-view.h:
	* src/ntl-view-bonobo-control.c: (destroy_bonobo_control_view),
	(nautilus_view_frame_activate_uri),
	(bonobo_control_try_load_client),
	(bonobo_control_notify_location_change):
	* src/ntl-view-bonobo-subdoc.c: (destroy_bonobo_subdoc_view),
	(bonobo_subdoc_notify_location_change),
	(bonobo_subdoc_try_load_client):
	* src/ntl-view-frame-svr.c: (impl_Nautilus_ViewFrame__destroy),
	(impl_Nautilus_ViewFrame__create),
	(impl_Nautilus_ViewFrame_request_location_change),
	(impl_Nautilus_ViewFrame_request_selection_change),
	(impl_Nautilus_ViewFrame_request_status_change),
	(impl_Nautilus_ViewFrame_request_progress_change):
	* src/ntl-view-nautilus.c: (nautilus_view_try_load_client),
	(destroy_nautilus_view), (nv_show_properties), (nv_save_state),
	(nv_load_state), (nv_notify_location_change),
	(nv_notify_selection_change), (nv_stop_location_change):
	* src/ntl-view-private.h:
	* src/ntl-view.c: (nautilus_view_frame_get_type),
	(nautilus_view_frame_class_init), (nautilus_view_frame_set_arg),
	(nautilus_view_frame_get_arg), (nautilus_view_frame_init),
	(nautilus_view_frame_destroy_client),
	(nautilus_view_frame_destroy), (nautilus_view_frame_constructed),
	(nautilus_view_frame_construct_arg_set),
	(nautilus_view_frame_size_request),
	(nautilus_view_frame_size_allocate),
	(nautilus_view_frame_handle_client_destroy),
	(nautilus_view_frame_handle_client_destroy_2),
	(nautilus_view_frame_load_client),
	(nautilus_view_frame_notify_location_change),
	(nautilus_view_frame_notify_selection_change),
	(nautilus_view_frame_load_state), (nautilus_view_frame_save_state),
	(nautilus_view_frame_show_properties),
	(nautilus_view_frame_stop_location_change),
	(nautilus_view_frame_is_zoomable),
	(nautilus_view_frame_get_zoom_level),
	(nautilus_view_frame_set_zoom_level),
	(nautilus_view_frame_get_min_zoom_level),
	(nautilus_view_frame_get_max_zoom_level),
	(nautilus_view_frame_get_is_continuous),
	(nautilus_view_frame_zoom_in), (nautilus_view_frame_zoom_out),
	(nautilus_view_frame_zoom_to_fit), (nautilus_view_frame_get_iid),
	(nautilus_view_frame_get_client_objref),
	(nautilus_view_frame_get_objref),
	(nautilus_view_frame_request_location_change),
	(nautilus_view_frame_request_selection_change),
	(nautilus_view_frame_request_status_change),
	(nautilus_view_frame_request_progress_change),
	(nautilus_view_frame_notify_zoom_level), (check_object),
	(nautilus_view_frame_set_active_errors):
	* src/ntl-view.h:
	* src/ntl-window-msgs.c: (nautilus_window_notify_selection_change),
	(nautilus_window_request_selection_change),
	(nautilus_window_request_status_change),
	(nautilus_window_request_progress_change),
	(nautilus_window_request_title_change),
	(nautilus_window_update_internals), (nautilus_window_update_view),
	(nautilus_window_view_destroyed), (nautilus_window_load_meta_view),
	(nautilus_window_request_location_change),
	(nautilus_window_load_content_view),
	(nautilus_window_update_state), (nautilus_window_set_state_info),
	(nautilus_window_begin_location_change):
	* src/ntl-window-msgs.h:
	* src/ntl-window-private.h:
	* src/ntl-window.c: (zoom_in_cb), (zoom_out_cb),
	(nautilus_window_set_arg), (nautilus_window_send_show_properties),
	(view_menu_switch_views_callback),
	(nautilus_window_set_content_view),
	(nautilus_window_add_meta_view),
	(nautilus_window_remove_meta_view_real),
	(nautilus_window_remove_meta_view),
	(nautilus_window_request_location_change_cb),
	(nautilus_window_request_selection_change_cb),
	(nautilus_window_request_status_change_cb),
	(nautilus_window_request_progress_change_cb),
	(nautilus_window_request_title_change_callback),
	(nautilus_window_connect_view),
	(nautilus_window_connect_content_view),
	(nautilus_window_real_set_content_view):
	* src/ntl-window.h:
	Changed Nautilus*View classes to Nautilus*ViewFrame. This is
	something we had in RENAMING for some time, and it's consistent
	with Bonobo's naming of BonoboControl and BonoboControlFrame.
	Also changed interfaces to use actual BonoboControl * instead of
	using BonoboObject * and query_interface.
2000-05-23 20:13:57 +00:00
Gene Z. Ragan f469d19b6b Additonal work on making the undo context CORBA object.
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
2000-05-23 18:48:11 +00:00
Darin Adler 503b5255e1 Implemented Reload for directory views.
* 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.
2000-05-23 01:04:57 +00:00
Ettore Perazzoli 154367ab8b Fix compilation with builddir != srcdir. 2000-05-20 18:43:42 +00:00
Maciej Stachowiak cf21c9eef1 Fix bugzilla tasks #599 (hex number is bad default for meta view
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-20 02:49:36 +00:00
Gene Z. Ragan ec4c139c8a GTK and CORBA object that acts as interface to an undo manager.
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 23:56:10 +00:00
Darin Adler f3df1c2b67 File name changes.
* components/services/trilobite/sample/command-line/.cvsignore:
	* components/services/trilobite/sample/service/.cvsignore:
	File name changes.

	* libnautilus-extensions/nautilus-directory.c:
	(nautilus_directory_file_monitor_add),
	(nautilus_self_check_directory):
	* libnautilus-extensions/nautilus-directory.h:
	* src/file-manager/fm-directory-view.c: (finish_loading_uri):
	Added reload interface.

	* libnautilus/nautilus-undoable.c: (nautilus_undo_register),
	(undo_atom_destroy), (undo_atom_destroy_notify_cover),
	(undo_atom_destroy_g_func_cover), (save_callback),
	(restore_callback), (nautilus_undo_register_full),
	(nautilus_undo_unregister), (nautilus_undo):
	* libnautilus/nautilus-undoable.h:
	Implemented new simplified Undo API.

	* libnautilus-extensions/nautilus-entry.c:
	(nautilus_entry_initialize), (nautilus_entry_destroy),
	(nautilus_entry_key_press), (nautilus_entry_changed),
	(register_edit_undo), (update_undo_text),
	(restore_from_undo_snapshot_callback),
	(nautilus_entry_enable_undo):
	* libnautilus-extensions/nautilus-icon-container.c:
	(hide_rename_widget):
	* libnautilus-extensions/nautilus-icon-text-item.c: (iti_event),
	(register_rename_undo), (restore_from_undo_snapshot_callback):
	* src/nautilus-bookmarks-window.c: (on_window_delete_event):
	* src/nautilus-location-bar.c: (destroy):
	Use new simplified Undo API.

	* libnautilus/nautilus-undo-manager.h:
	Remove UNDO_MANAGER_NAME, which is no longer used.

	* src/file-manager/fm-icon-view.c:
	(icon_position_changed_callback): Fixed a bad g_free that was
	cause seg faults when you resized an icon.
2000-05-19 21:38:54 +00:00
Gene Z. Ragan 71a5435f1b More undo framework work. Still incomplete.
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
2000-05-19 17:06:15 +00:00
Darin Adler c49ece8a7c Eskil showed me how to fix these so they'd work when orbit-idl was not in
* 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.
2000-05-18 23:33:52 +00:00
Darin Adler 7e7fc3ecf2 Change format to make popt "pop" out more.
* 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-18 22:31:58 +00:00
Gene Z. Ragan 19159e79b3 CVS:
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.
2000-05-17 23:54:25 +00:00
Eskil Heyn Olsen fd2cb2e9b2 This is way people should use a highlighting editor so you wouldn't have
* 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.
2000-05-13 00:31:31 +00:00
Darin Adler 055c1e5229 Removed the fsextension IDL, which was a work in progress that no one is
* 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-12 01:11:15 +00:00
Gene Z. Ragan bc22620f48 Change makefiles to link against libnautilus. This is so calls to the undo
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-11 10:35:55 +00:00
Gene Z. Ragan a06913992e *libnautilus/nautilus-undo-manager-component.idl
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.
2000-05-11 07:30:45 +00:00
Gene Ragan 7cc11cb109 *** empty log message *** 2000-05-11 01:46:36 +00:00
John Sullivan 1f69f69228 Added #define for path of Nautilus's toolbar so components can use Bonobo
* 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.
2000-05-11 01:42:23 +00:00
Ramiro Estrugo c0ed560ddd Reference the view on set_view_frame() and unreference on
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.
2000-05-09 00:40:23 +00:00
Maciej Stachowiak 0599c6bcdf Fix bugzilla.eazel.com task 479:
* 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-07 20:10:15 +00:00
Gene Z. Ragan 3324b79c1b New IDL file describing CORBA interface to the undo manager.
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-06 01:29:55 +00:00
Kjartan Maraas b781be751c Shhh 2000-05-03 20:58:57 +00:00
Kjartan Maraas 88de979cd2 Cosmetic change. Added -DGNOMELOCALEDIR to $INCLUDES. Added calls to
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.
2000-05-02 11:13:03 +00:00
Maciej Stachowiak 30499d5778 Remove FIXME comment for #681; everything wrong with this file seems to be
* libnautilus/nautilus-zoomable.c: Remove FIXME comment for #681;
	everything wrong with this file seems to be separately recorded.
2000-05-01 17:56:57 +00:00
John Sullivan 604acdd1e3 Fixed bug 660 (Need to publish menu positions for components to use)
* 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.
2000-04-28 02:37:14 +00:00
Ramiro Estrugo 0a71b310b6 More 'make dist' fixes. Let automake know about private headers
so that the dist tarball will contain them.
2000-04-27 13:18:46 +00:00
John Sullivan 3199885e39 More FIXME-to-bug work.
* 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-27 00:18:32 +00:00
Rebecca Schulman 54aeb2838a Fixed bug #99: Implemented copy, paste, clear, and cut for text Added new
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)
2000-04-27 00:08:02 +00:00
Ian McKellar d402738c3a Fixes to allow Nautilus to build on my system:
librsvg/test-rsvg.c: (fix compile warning)
  main(int argc, const char **argv) -> main(int argc, char **argv)
*/Makefile.am: (make orbit-idl look in the right place for idl)
	orbit-idl `gnome-config.... -> orbit-idl -I${datadir}/idl `gnome-config...
2000-04-26 09:00:04 +00:00
Ettore Perazzoli 007823d4bf Fix compilation with srcdir != builddir (again). 2000-04-25 04:42:24 +00:00
Maciej Stachowiak f6e6b47110 OAF conversion. You must now build bonobo and gnome-vfs with --enable-oaf
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.
2000-04-19 13:11:41 +00:00
Ramiro Estrugo 09b3bf22bc Split libnautilus into two pieces.
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.
2000-04-14 15:16:44 +00:00
Ramiro Estrugo 3ff2e64090 Include the new <nautilus-view-component.h> instead of <nautilus.h> 2000-04-14 11:01:26 +00:00
Ramiro Estrugo a487908561 Move nautilus view component interface definition into libnautilus. 2000-04-14 04:06:52 +00:00
Andy Hertzfeld c599d12496 added Raph's scalable vector icons machinery
added Raph's scalable vector icons machinery
2000-04-14 01:33:35 +00:00
Darin Adler 74748cdc3a Fixed a bug my changes to GNOME VFS exposed. The callback couldn't handle
* 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.
2000-04-14 01:19:53 +00:00
Darin Adler b1aa23268d Updated for new GNOME VFS.
* 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.
2000-04-13 18:24:23 +00:00
Andy Hertzfeld d7f2206f66 improved title for non-vfs uris, used Gene's routine to escape http
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
2000-04-13 06:05:11 +00:00
Andy Hertzfeld b6b126593e added framework for using custom images to reflect highlight state; used
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)
2000-04-12 21:32:24 +00:00
Darin Adler baebdb1ad1 This is a new Perl script for searching for FIXME in the code. It reports
* 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-12 20:34:37 +00:00
Pavel Cisler 8ecf5b4898 Fix a problem where drag actions did't update properly when dragging
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.
2000-04-12 18:33:04 +00:00
Darin Adler 08d18d6542 Handle case where directory is NULL which is needed for URIs that
Nautilus understands but GNOME VFS does not.
2000-04-12 00:25:14 +00:00
John Sullivan f96591d2e3 Addressed most of task 148 (Better type-as-string for
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).
2000-04-12 00:05:23 +00:00
Darin Adler 682bcce228 Finished task 226 (Read metadata asynchronously instead of
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 22:22:48 +00:00
Gene Z. Ragan 2ac3c5dac5 components/sample/nautilus-sample-content-view.c Added icon data to
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 22:16:24 +00:00
Darin Adler 91a060146b Update for new GdkPixbuf. gnome-print must be built before bonobo. 2000-04-11 15:11:19 +00:00
Pavel Cisler 339ac05b02 Drop target highlighting. Add new call to determine if a drop target can
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-11 10:09:28 +00:00
Pavel Cisler d879994075 Nasty hack to allow drag&drop actions to respond to modifier keys and the
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.
2000-04-11 02:39:07 +00:00
Darin Adler 080683794f Finished changing all callers that use metadata to use it in a way
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.
2000-04-10 22:45:36 +00:00
John Sullivan f193a5adc6 Fixed bug 377 (clipping emblems in list view looks bad
and loses information)

	* libnautilus/nautilus-list.c:
	(draw_row): Made it draw the ellipsis character if there's
	not enough room to show all emblems.
2000-04-10 18:13:00 +00:00
John Sullivan 4d1df7f321 Reworked selection such that the SELECTION_CHANGED signal is emitted only
* 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.
2000-04-10 16:40:40 +00:00
Andy Hertzfeld f0d7912998 save token from service, pass it back in header of subsequent request;
save token from service, pass it back in header of subsequent
       request; fixed recursive thumbnail bug; make snapshot frame for
       thumbnails.
2000-04-10 07:04:09 +00:00
John Sullivan f27fcab0c8 Finished task 307 (keyboard navigation in list view should
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.
2000-04-10 00:04:14 +00:00
Andy Hertzfeld b39c3637ef The text below an icon is now underlined when the icon is pre-lit
The text below an icon is now underlined when the icon is pre-lit
2000-04-08 01:59:16 +00:00
John Sullivan 949566269c Fixed bug Andy pointed out where list view "links" could
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.
2000-04-08 01:05:59 +00:00
Andy Hertzfeld e68159f311 pointed service code at Jonathan's prototype server - registration is now
pointed service code at Jonathan's prototype server - registration is
	now working.  Also, implemented simple drag highliting, by treating it
	exactly like selection highliting
2000-04-07 20:31:42 +00:00
John Sullivan cb19a9692f Finished task 376 (Resolve list-view single-click behavior)
* 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.
2000-04-07 01:10:13 +00:00
Darin Adler 1ae3a2426a Added the hooks needed to make metafile reading asynchronous.
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.
2000-04-06 23:39:11 +00:00
Darin Adler 50206e4a00 Fixed code that was trying to disconnect the handler from the new
* 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.
2000-04-06 22:18:09 +00:00
John Sullivan 5f2f9cb986 Some cleanups from the file-renaming checkin I did
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.
2000-04-06 00:15:58 +00:00
Darin Adler e4d81832b7 Improved the background handling code so more is shared.
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.
2000-04-05 21:15:56 +00:00
John Sullivan c7c50ad520 Fixed bug in Ramiro's recent checkin that broke booting
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.
2000-04-05 18:54:04 +00:00
Darin Adler 459883de53 Removed some unnecessary \n from g_errors.
* 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.
2000-04-05 17:16:31 +00:00
Ramiro Estrugo ee95ca88c4 Preferences work. Make preference registration implicit. Update code that
required preferences to be explicitly registered before using them.
2000-04-05 15:13:44 +00:00
Maciej Stachowiak 491e5af160 Make selection persistent across content view changes (task 105).
* 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.
2000-04-05 02:32:15 +00:00
Darin Adler cd9618f0c6 Finished task 54 (Set background image by drag/drop).
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.
2000-04-05 01:28:31 +00:00
John Sullivan dc703c8ba1 Renaming a file from its Set Properties dialog now works, though
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.
2000-04-05 00:23:58 +00:00
Darin Adler 276a5a1001 First cut at tiled background images.
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.
2000-04-04 01:00:13 +00:00
Darin Adler 2fe15f1645 Fix the build. Changes in GtkHtml and Bonobo required us
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-04-03 18:27:22 +00:00
Pavel Cisler 227b517d02 Disable copy as a drag&drop operation for now. The current copy engine
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.
2000-03-31 21:26:39 +00:00
Darin Adler a1f24785d1 Fixed a bug that Pavel reported where he got a crash in
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.
2000-03-31 20:29:46 +00:00
John Sullivan 16acc134d8 Show icon emblems in list view. 2000-03-31 04:13:34 +00:00
Darin Adler 1fb5a14a58 Finished task 62 (Set custom icon by drag/drop on index panel)
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.
2000-03-31 01:59:36 +00:00
Darin Adler 4c8d9b0be9 Added convenience functions so people don't have to be constantly reminded
* 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-30 20:12:34 +00:00
Andy Hertzfeld f95b953215 made the selection rectangle have a semi transparent light blue fill
made the selection rectangle have a semi transparent light blue fill
	color; also tweaked the selection darkening to be a little lighter
2000-03-30 19:30:54 +00:00
Pavel Cisler 1c93ed15f6 More copy/move operations. Fixes a problem I introduced earlier where drop
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.
2000-03-30 19:20:38 +00:00
Maciej Stachowiak 4f01fe3665 Connect to the "destroy" signal of the view_frame rather than the sample
* 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.
2000-03-30 18:25:36 +00:00
Pavel Cisler 713828f46e Started on copy/move operations
2000-03-28  Pavel Cisler  <pavel@eazel.com>

	Started on copy/move operations
2000-03-29 05:02:05 +00:00
Darin Adler 39d18967c5 Preparing for support for background images.
* 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.
2000-03-29 02:02:45 +00:00
John Sullivan 66d503d189 Removed notify_title_change call and removed initial_title parameter of
notify_location_change call.
2000-03-29 01:56:03 +00:00
John Sullivan 5da770ab1c Switch the behavior of the Control key for keyboard navigation back the way it
is supposed to be.
2000-03-28 19:29:13 +00:00
John Sullivan 79a454c795 Add initial_title parameter to notify_location_change signal and all its
handlers. This completes the change that I did part of last night.
2000-03-28 15:54:36 +00:00
John Sullivan a2d26f63d6 Gave content views the ability to specify the user-displayed title for a
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.
2000-03-28 06:05:26 +00:00
Andy Hertzfeld 6179a76438 made it treat pre-lighting and selection darkening independently, so both
made it treat pre-lighting and selection darkening independently, so
       both properties can be visually reflected simultaneously.
2000-03-28 01:54:17 +00:00
Andy Hertzfeld 6c6fad82f9 changed how selection emboldening works, also, clean-ups and bug fixes in
changed how selection emboldening works,
       also, clean-ups and bug fixes in the graphic effects
2000-03-28 01:30:14 +00:00
Ramiro Estrugo f1fbd3790e Removed the ETTORE user level easter egg and bullet proofed the
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.
2000-03-26 21:55:58 +00:00
Andy Hertzfeld 50735a65b9 improved selection highlighting by darkening the icon and emboldening the
improved selection highlighting by darkening the icon and emboldening
	the font
2000-03-26 05:20:55 +00:00
Andy Hertzfeld eecee1352e moved pixbuf manipulation routines into
moved pixbuf manipulation routines into
      libnautilus/nautilus-graphic-effects
2000-03-25 00:36:57 +00:00
Darin Adler 433efe122f Fixed bug 334 (Need proper hit detection when hit-testing icons.
* 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.
2000-03-22 19:36:44 +00:00
John Sullivan 212ed01c76 Emit SELECTION_CHANGED signal after changing selection via keyboard. 2000-03-22 01:39:57 +00:00
Pavel Cisler f713422616 Fixed an annoying bug that would sometimes cause the drag&drop feedback to
2000-03-21  Pavel Cisler  <pavel@eazel.com>

	Fixed an annoying bug that would sometimes cause the drag&drop feedback
	to come up delayed.
2000-03-22 00:45:56 +00:00
Darin Adler 1764f21218 Did some of the items from RENAMING.
* libnautilus/Makefile.am:
	* libnautilus/gnome-icon-container-dnd.c:
	* libnautilus/gnome-icon-container-dnd.h:
	* libnautilus/gnome-icon-container-grid.c:
	* libnautilus/gnome-icon-container-grid.h:
	* libnautilus/gnome-icon-container-private.h:
	* libnautilus/gnome-icon-container.c:
	* libnautilus/gnome-icon-container.h:
	* libnautilus/gtkflist.c:
	* libnautilus/gtkflist.h:
	* 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-grid.c:
	* libnautilus/nautilus-icon-grid.h:
	* libnautilus/nautilus-icon-private.h:
	* libnautilus/nautilus-icons-view-icon-item.c:
	* libnautilus/nautilus-icons-view-icon-item.h:
	* libnautilus/nautilus-lib-self-check-functions.h:
	* libnautilus/nautilus-list-column-title.c:
	* libnautilus/nautilus-list.c:
	* libnautilus/nautilus-list.h:
	* src/file-manager/Makefile.am:
	* src/file-manager/fm-directory-view-icons.c:
	* src/file-manager/fm-directory-view-icons.h:
	* src/file-manager/fm-directory-view-list.c:
	* src/file-manager/fm-directory-view-list.h:
	* src/file-manager/fm-icon-view.c:
	* src/file-manager/fm-icon-view.h:
	* src/file-manager/fm-list-view.c:
	* src/file-manager/fm-list-view.h:
	* src/ntl-app.c:
	Did these RENAMING entries:
	  FMDirectoryViewIcons -> FMIconView
	  FMDirectoryViewList  -> FMListView
	  GnomeIconContainer -> NautilusIconContainer
	  GnomeIconContainerIcon -> NautilusIcon
	  NautilusIconsViewIconItem -> NautilusIconCanvasItem

	* RENAMING: Marked the renaming done.
2000-03-22 00:29:07 +00:00
Darin Adler f09362cb59 Fixed arrow keys and worked on the icon grid.
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-21 23:18:01 +00:00
Pavel Cisler ec8d277e18 Center the sort order indicators inside a title better. Make the column
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.
2000-03-21 03:19:17 +00:00
Pavel Cisler a4b40782db Use an offscreen bitmap to draw the column title during column resizing
2000-03-20  Pavel Cisler  <pavel@eazel.com>

	Use an offscreen bitmap to draw the column title during column resizing
	and column prelighting.
2000-03-21 02:40:52 +00:00
Darin Adler 857e8fa26b Fixed the "tall line of icons" bug.
* 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.
2000-03-18 00:46:16 +00:00
Darin Adler e8fcc82dff Simplified the grid a bit and did some redesign. The grid now takes into
* 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.
2000-03-17 23:03:39 +00:00
Elliot Lee bf66a469cc #include <string.h>
#include <string.h>
2000-03-17 22:40:55 +00:00
Pavel Cisler aa98d924c7 Fix some bugs that John kindly uncovered.
2000-03-17  Pavel Cisler  <pavel@eazel.com>

	Fix some bugs that John kindly uncovered.
2000-03-17 19:19:40 +00:00
Pavel Cisler 53aa5a6308 First pass on making list column resizing live.
2000-03-16  Pavel Cisler  <pavel@eazel.com>

	First pass on making list column resizing live.

	* libnautilus/Makefile.am
	* libnautilus/nautilus-list-column-title.c
	* libnautilus/nautilus-list-column-title.h
	* libnautilus/gtkflist.h
	* libnautilus/gtkflist.c
	* manager/fm-directory-view-list.c
	* libnautilus/nautilus-gdk-extensions.c
	* libnautilus/nautilus-gdk-extensions.h
2000-03-17 04:46:16 +00:00
Darin Adler 8efa4d71d7 Did some of the renamings that were queued in RENAMING.
* libnautilus/Makefile.am:
	* libnautilus/gdk-extensions.c:
	* libnautilus/gdk-extensions.h:
	* libnautilus/nautilus-gdk-extensions.c:
	* libnautilus/nautilus-gdk-extensions.h:
	* libnautilus/gnome-icon-container.c:
	* libnautilus/nautilus-background.c:
	* libnautilus/nautilus-icons-view-icon-item.c:
	Renamed gdk-extensions to add the nautilus- prefix and changed
	all includers.

	* src/Makefile.am:
	* src/explorer-location-bar.c:
	* src/explorer-location-bar.h:
	* src/nautilus-location-bar.c:
	* src/nautilus-location-bar.h:
	* src/ntl-window-msgs.c:
	* src/ntl-window.c:
	Renamed ExplorerLocationBar to NautilusLocationBar.

	* src/Makefile.am:
	* src/nautilus-bookmarklist.c:
	* src/nautilus-bookmarklist.h:
	* src/nautilus-bookmark-list.c:
	* src/nautilus-bookmark-list.h:
	* src/nautilus-bookmarks-window.c:
	* src/nautilus-bookmarks-window.h:
	* src/nautilus-window-menus.c:
	Renamed NautilusBookmarklist to NautilusBookmarkList.

	* RENAMING: Marked items done and added some new ones.

	* nautilus-widgets/nautilus-preferences-item.c:
	* nautilus-widgets/nautilus-preferences.c:
	* nautilus-widgets/test-nautilus-widgets.c:
	* libnautilus/nautilus-icon-factory.c:
	* src/file-manager/fm-directory-view-icons.c:
	* src/file-manager/fm-directory-view.c:
	* src/file-manager/fm-icon-text-window.c:
	Cleaned up the interface to NautilusPreferences a bit.
2000-03-16 21:10:42 +00:00
John Sullivan 3ffd225184 Fixes for a couple of preferences bugs. 2000-03-16 20:10:13 +00:00
John Sullivan c821dce685 Moved a couple of utility functions into the right libnautilus homes. 2000-03-16 18:16:58 +00:00
John Sullivan 0437a094a6 Make icon theme changes persist by using preferences mechanism. 2000-03-16 17:13:49 +00:00
Darin Adler ee495dba40 Tell people about the gnome-xml branch.
* 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.
2000-03-16 00:31:18 +00:00
John Sullivan 4df4c1e1ea Used preferences mechanism for text under icons and
open-in-new-window-when-clicked.
2000-03-15 21:13:57 +00:00
Darin Adler b84f3f1d7d A quick cleanup of how we use gnome-xml.
* 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.
2000-03-15 16:46:51 +00:00
Darin Adler bdf3c6c136 Added additional data to icons so they can specify where the
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-15 00:31:49 +00:00
John Sullivan ea7cd874d3 Made directories start up using the same view they were last displayed with. 2000-03-14 21:56:24 +00:00
John Sullivan f499337913 Fixed bug where selection-dependent menu items (e.g. "Open in New Window")
didn't update after deleting selected items.
2000-03-14 19:33:20 +00:00
Jonathan Blandford 87179b7dca Add a gtk_drag_finish to hopefully solve half the flying windows problem.
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...
2000-03-14 18:58:56 +00:00
John Sullivan 92dc45caa1 Fixed two-popup-menus-at-once bug. 2000-03-14 17:50:59 +00:00
John Sullivan 98916dd8ca Improvements & bug fixes to keyboard navigation in file manager. 2000-03-14 05:55:03 +00:00
Darin Adler ec73da2452 Fixed bug that caused a core dump when getting at the root directory
* 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.
2000-03-13 22:48:12 +00:00
Darin Adler fe7c58d2d1 A quick cleanup pass on the NautilusStringList class: Changed uses of
* 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.
2000-03-13 16:41:09 +00:00
Ramiro Estrugo e58c19a4b3 libnautilus/nautilus-global-preferences.c, Add a table of meta view iids
* 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.
2000-03-13 01:37:44 +00:00
Ramiro Estrugo 358ad2c9ca Properly remove the item from the list so that we dont crash later trying
* 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.
2000-03-12 22:47:05 +00:00
Ramiro Estrugo 7398417988 Call clear() from free() instead of duplicating the work. 2000-03-12 21:20:04 +00:00
Ramiro Estrugo 29bb801957 *libnautilus/Makefile.am: Added nautilus_string_table
*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.
2000-03-12 21:16:43 +00:00
Ramiro Estrugo b657b1fef3 Make the preference changes persistent.
* 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.
2000-03-12 21:13:41 +00:00
Ramiro Estrugo e7477fb6ef (nautilus_user_top_directory): New function. Used to obtain
the user's "top" directory.  The top directory is an alternative
home place for naive users.
2000-03-12 17:56:46 +00:00
Ramiro Estrugo 42550b2c43 Use better names for the global preferences macros.
New method for removing callbacks.
Filter files according to the user level.
Add/Remove a preferences callback to keep track of user level changes.
2000-03-12 16:53:35 +00:00
Ramiro Estrugo 63c6d54af8 Moved global preferences to libnautilus. 2000-03-12 12:58:20 +00:00
Darin Adler 374870d5ab Fixed typo that broke all hit testing except for rubber band selection!
* 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.
2000-03-11 00:46:40 +00:00
Darin Adler bddcc07d4b Fixed rubber banding to hit test with all the parts of the icon, not just
* 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 22:47:48 +00:00
Jonathan Blandford d21681ac5d Avoid a bug where we get stuck grabs when you double click.
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.
2000-03-10 21:19:06 +00:00
Maciej Stachowiak c81f075c88 store zoom_control object in the window.
* 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.
2000-03-10 15:32:03 +00:00
Darin Adler 5f4af6f1ea It turns out that you aren't intended to reset the scroll region once you
* 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.
2000-03-10 03:20:54 +00:00
John Sullivan 30433daf59 Fixed mistake in recent bug fix. 2000-03-10 02:44:52 +00:00
John Sullivan 0d911a35c0 Fixed storage leak in nautilus_file_list_unref, and added some more self checks. 2000-03-10 01:38:10 +00:00
Andy Hertzfeld 5515799d9f 2 small fixes: tweaked constants used for pre-lighting icons and fixed bug
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.
2000-03-10 00:53:01 +00:00
Maciej Stachowiak 7d9696ef0f Pass the correct thing as the servant to avoid crashing on instantiation.
* 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.
2000-03-10 00:46:31 +00:00
Darin Adler bcf419e81d Andy's check-in yesterday accidentally rolled out some changes to this
* 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.
2000-03-09 21:09:20 +00:00
Darin Adler 8656eb9d85 Fixed bugs relating to multiple directory and file objects for the same
* 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.
2000-03-09 20:34:50 +00:00
John Sullivan cb99884c95 Changed decision of when to draw mini-text on an icon to
be based on icon size rather than zoom level, so it works
        more sensibly with stretched icons.
2000-03-09 20:23:50 +00:00
John Sullivan a589b69aed A few bug fixes and memory leak fixes. 2000-03-09 19:48:13 +00:00
Elliot Lee f86e85ad8e Install libnautilus.h Handle mapping of special schemes (i.e. unknown to
* 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'.
2000-03-09 17:43:39 +00:00
John Sullivan 5dd9c624d5 Fixed bug where icon factory was making a thumbnail for a single file multiple
times.
2000-03-09 03:16:17 +00:00
Andy Hertzfeld d015748e01 drag for relatively small icons due to performance limitations
drag for relatively small icons due to performance limitations
2000-03-09 03:09:37 +00:00
Darin Adler 13f23bd385 You can now use Set Properties to attach keywords to a file,
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.
2000-03-09 02:38:16 +00:00
John Sullivan 98a347d925 Fixed icon bounds bug, and hid keyboard-selection rectangle unless it diverges
from regular selection.
2000-03-09 00:42:54 +00:00
Darin Adler 6ba4e1e5e3 Broke the file part of nautilus-directory.[ch] into nautilus-file.[ch].
* 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.
2000-03-08 21:16:21 +00:00
Ramiro Estrugo 1bd60d6f60 Added macros to check, assert and invoke class methods for a given GtkOject. 2000-03-08 18:16:26 +00:00
Darin Adler f026b4a2ce Reimplemented the delete command to use NautilusFile instead of
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.
2000-03-08 02:32:00 +00:00
Andy Hertzfeld 6c09e03e87 implemented semi-transparent dragging by writing a make_semi_transparent
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.
2000-03-08 02:03:03 +00:00
Darin Adler 96954f0b46 Fixed a typo that was causing the text area to not be included in the
* 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.
2000-03-07 20:08:16 +00:00
Darin Adler 8a960c5ea6 Added nautilus_file_get_keywords, which returns a GList of keywords.
* 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-".
2000-03-07 20:04:24 +00:00
John Sullivan bc4cb175a7 Lots of work to use Bonobo menu merging. The file manager now merges various
items into the window's menubar, which has been slightly tweaked also.
2000-03-07 02:52:07 +00:00
Darin Adler 4019aa50d4 Fixed bug in Unstretch I just introduced.
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.
2000-03-07 01:10:04 +00:00
Darin Adler 6da20678f6 Added missing code to get stretching to work again. (Oops.)
* 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.
2000-03-06 22:09:29 +00:00
Darin Adler 2d3c87e1df Added the concept of separate X and Y scale factors to more
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.
2000-03-06 21:21:15 +00:00
Andy Hertzfeld 3f9cedbede added a nautilus_has_suffix routine and used it in a couple of places;
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.
2000-03-06 03:28:36 +00:00
Andy Hertzfeld abb888bc67 added a music view component for displaying directories of mp3 files, and
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
2000-03-06 00:22:44 +00:00
Jonathan Blandford d5c646e815 added libpng to Makefile.am
2000-03-03  Jonathan Blandford  <jrb@redhat.com>

	* libnautilus/Makefile.am (libnautilus_la_LDFLAGS): added libpng
	to Makefile.am

	* configure.in: added autoconf check for png.
2000-03-03 23:52:55 +00:00
Maciej Stachowiak 86c1779810 Don't bomb on a zero-length metafile.
* libnautilus/nautilus-directory.c
	(nautilus_directory_try_to_read_metafile): Don't bomb on a
	zero-length metafile.
2000-03-03 12:01:40 +00:00
Maciej Stachowiak 742ae8748d Icon stretching is now persistent in the metafile, patch from Seth
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.
2000-03-03 11:53:48 +00:00
Andy Hertzfeld 1086c411dd changed thumbnailing code to use gdk-pixbuf to make the thumbnails and
changed thumbnailing code to use gdk-pixbuf to make the thumbnails and
       libpng to save them.
2000-03-03 03:22:10 +00:00
Andy Hertzfeld dae237b696 fixed bugs in thumbnail stuff by quoting parameters to the scaling command
fixed bugs in thumbnail stuff by quoting parameters to the scaling
	command and handling a NULL controller better.
2000-03-02 05:10:45 +00:00
Andy Hertzfeld 618ca4bc4a implemented automatic thumbnail creation for large images
implemented automatic thumbnail creation for large images
2000-03-02 03:13:00 +00:00
Andy Hertzfeld 53c804e28f made the return key activate all selected icons
made the return key activate all selected icons
2000-02-25 22:11:29 +00:00
Andy Hertzfeld 4b0232a0b0 pin icons to specified size, at least initially, currently set to 80
pin icons to specified size, at least initially, currently set to 80 pixels
2000-02-25 09:40:28 +00:00
Maciej Stachowiak d51f25f92b Make sure to gnome_vfs_async_cancel our GnomeVFSAsyncHandle before setting
* 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.
2000-02-25 05:07:22 +00:00
John Sullivan 267410d373 Improve the error message framework and the specific error messages when a file
can't be displayed.
2000-02-25 00:55:54 +00:00
Andy Hertzfeld d793b7dc57 implemented delete context menu item. It's still not removing entries from
implemented delete context menu item.  It's still not removing entries from
	the model but it otherwise mostly there.
2000-02-24 21:35:51 +00:00
Maciej Stachowiak 1f887dce94 Nautilus was getting an assertion failure on startup, so I weakened the
* 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.
2000-02-24 07:09:32 +00:00
Maciej Stachowiak 839744dac3 Added Nautilus::Zoomable and Nautilus::ZoomableFrame interfaces. New files
* 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.
2000-02-24 04:02:44 +00:00
Darin Adler 4f2240f04d Some of the underlying work to prepare for emblems on the icons.
* 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.
2000-02-24 00:54:57 +00:00
John Sullivan 26fc2ec616 Improved the status text that appears in the file manager after changing the
selection (now accounts for directories and other files separately).
2000-02-22 21:53:25 +00:00
Elliot Lee e344e86ba8 include string.h to avoid warnings
* libnautilus/nautilus-file-utilities.c: include string.h to avoid warnings
2000-02-22 21:29:54 +00:00
Darin Adler 655a582d2e Fixed bug where the Eazel-theme icon for the document reverts to
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.)
2000-02-22 19:51:09 +00:00
Andy Hertzfeld c407acb457 hi-res versions of the standard gnome folder icon, contributed by Kenneth
hi-res versions of the standard gnome folder icon, contributed by
       Kenneth Christiansen
2000-02-22 19:40:41 +00:00
Andy Hertzfeld a12301dbaf implemented text in icons feature, for eazel-style icons only also, added
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
2000-02-22 10:09:59 +00:00
Maciej Stachowiak 192e04921a Fixed crashes introduced in the course of my reorganization - in one case
* 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().
2000-02-22 01:49:16 +00:00
John Sullivan 6f858ac912 Made right-click context-menu selection behavior in the file manager more
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.
2000-02-21 21:34:19 +00:00
Maciej Stachowiak 3d43e3d019 Don't include <gtk/gtkbin.h>; do include <gtk/gtkwidget.h>.
* libnautilus/ntl-view-frame.h: Don't include <gtk/gtkbin.h>; do
	include <gtk/gtkwidget.h>.
2000-02-21 12:30:30 +00:00
Maciej Stachowiak 615368e3e7 Moved fields from object struct to separate private struct.
* libnautilus/ntl-view-frame.c, libnautilus/ntl-view-frame.h:
        Moved fields from object struct to separate private struct.
2000-02-20 02:53:02 +00:00
Maciej Stachowiak 53c5e06a43 Changed NautilusViewFrame to allow creation of `Nautilus::View' objects
* 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.
2000-02-20 01:29:39 +00:00
Darin Adler 02ed5fb6b3 Set up the step_increment so the vertical and horizontal scroll bars will
* 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.
2000-02-18 23:06:45 +00:00
Darin Adler ff1efb492d Hooked up the menu item for using the Eazel Theme Icons so people can try
* 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.
2000-02-18 22:29:44 +00:00
John Sullivan 0653c1cccc Made bookmarks display just file/directory name (instead of path) by default;
made history items appear in Go menu.
2000-02-18 17:53:21 +00:00
Andy Hertzfeld aa3046861f more work on index panel command buttons
more work on index panel command buttons
2000-02-18 08:14:00 +00:00
Andy Hertzfeld 1fd49af141 implemented command buttons based on mime-types in the index panel
implemented command buttons based on mime-types in the index panel
2000-02-18 02:51:41 +00:00
Darin Adler 3bce71a502 Hand tuned icons for multiple resolutions.
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.
2000-02-18 01:17:30 +00:00
John Sullivan 7171baf7d2 Change empty directory string from "empty" to "0 items". 2000-02-17 00:26:10 +00:00
Elliot Lee d9ed7d4863 Fix the GOAD ID for help index. Add help index. To avoid a warning in case
* 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.
2000-02-17 00:24:25 +00:00
Darin Adler 9b94323cc3 Added icon stretching and did some cleanups.
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.
2000-02-16 19:43:10 +00:00
Elliot Lee 0189d027a6 Pay attention to the GnomeVFSFileInfo flags to determine whether to read
* 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.
2000-02-16 00:59:55 +00:00
Ramiro Estrugo 943a049757 Added displacement offset for popup menus, so that the first item does'nt
get triggered right away.
2000-02-15 20:46:14 +00:00
John Sullivan b9e12ae6ac Moved NautilusBookmark from src/ to libnautilus/, in anticipation of using it in
History metaview.
2000-02-15 19:46:52 +00:00
Andy Hertzfeld 99c33f4baf fixed notes component by initializing gnome-vfs, changed metadata type to
fixed notes component by initializing gnome-vfs, changed metadata
       type to keep it separate from panel notes
2000-02-15 08:00:41 +00:00
John Sullivan 21586bbcfb First checkin for right-click menus on the Back and Forward buttons. They work,
but there are a few finishing touches outstanding.
2000-02-15 01:13:52 +00:00