1. 18 May, 2000 1 commit
    • Darin Adler's avatar
      Change format to make popt "pop" out more. · 7e7fc3ec
      Darin Adler authored
      	* 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.
      7e7fc3ec
  2. 17 May, 2000 2 commits
    • Gene Z. Ragan's avatar
      CVS: · 19159e79
      Gene Z. Ragan authored
      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.
      19159e79
    • Pavel Cisler's avatar
      Fixed a crash when using Tab and Shift-Tab in an empty folder, caused by · 9380bb65
      Pavel Cisler authored
      2000-05-16  Pavel Cisler  <pavel@eazel.com>
      
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(select_previous_or_next_name):
      	Fixed a crash when using Tab and Shift-Tab in an empty folder,
      	caused by an uninitialized variable.
      9380bb65
  3. 16 May, 2000 2 commits
    • Darin Adler's avatar
      Quick cleanup pass on FIXMEs. · 6281f2ee
      Darin Adler authored
      	* check-FIXME.pl: Added the count of FIXMEs with bug numbers
      	as well as the count of FIXMEs without.
      
      	* components/services/trilobite/lib/helixcode-utils.c:
      	(xml_get_value), (prune_xml), (check_for_root_user),
      	(check_for_redhat), (determine_redhat_version),
      	(determine_mandrake_version), (determine_turbolinux_version),
      	(determine_suse_version), (determine_debian_version),
      	(determine_distribution_type), (get_distribution_name):
      	A tiny bit of cleanup on these functions. There was some really
      	bad code in here, including code that compared strings with ==.
      	Also a lot of code that does open and then no close, for no
      	good reason, so I added the close.
      
      	* libnautilus-extensions/nautilus-file.c: (rename_callback),
      	(nautilus_file_get_mapped_uri):
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(nautilus_icon_container_update_icon):
      	* libnautilus-extensions/nautilus-icon-dnd.c:
      	(confirm_switch_to_manual_layout), (nautilus_icon_dnd_begin_drag):
      	* src/file-manager/fm-icon-view.c: (update_layout_menus),
      	(sort_callback), (manual_layout_callback):
      	* src/ntl-view.c: (nautilus_view_destroy_client):
      	Added bug numbers to some FIXMEs.
      6281f2ee
    • Darin Adler's avatar
      Moved metafile code into its own source file. Also worked on making it all · 42b69946
      Darin Adler authored
      	* libnautilus-extensions/Makefile.am:
      	* libnautilus-extensions/nautilus-directory-metafile.c:
      	(get_metadata_from_node), (get_metadata_list_from_node),
      	(create_metafile_root), (nautilus_directory_get_metadata),
      	(nautilus_directory_get_metadata_list),
      	(nautilus_directory_get_boolean_metadata),
      	(nautilus_directory_set_boolean_metadata),
      	(nautilus_directory_get_integer_metadata),
      	(nautilus_directory_set_integer_metadata),
      	(nautilus_directory_get_file_metadata_node),
      	(nautilus_directory_get_file_metadata),
      	(nautilus_directory_get_file_metadata_list), (real_set_metadata),
      	(real_set_metadata_list), (metadata_key_new),
      	(metadata_key_destroy), (metadata_key_hash),
      	(metadata_key_hash_equal), (metadata_value_new),
      	(metadata_value_new_list), (metadata_value_destroy),
      	(metadata_value_equal), (set_metadata_in_metafile),
      	(set_metadata_eat_parameters),
      	(free_metadata_changes_hash_table_entry),
      	(destroy_metadata_changes_hash_table),
      	(nautilus_directory_metafile_destroy),
      	(nautilus_directory_set_metadata),
      	(nautilus_directory_set_file_metadata),
      	(nautilus_directory_set_file_metadata_list):
      	* libnautilus-extensions/nautilus-directory-metafile.h:
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory.c:
      	(nautilus_directory_destroy):
      	* libnautilus-extensions/nautilus-file.c:
      	Moved metafile code into its own source file. Also worked on making
      	it all bottleneck so we can store it before we read in a metafile.
      
      	* src/file-manager/fm-list-view.c: (select_matching_name_callback):
      	* libnautilus-extensions/nautilus-glib-extensions.h:
      	Added nautilus_boolean_bit for use in bit fields where gboolean
      	results in a signed bitfield.
      	* libnautilus-extensions/nautilus-glib-extensions.c:
      	(nautilus_g_list_copy), (nautilus_g_str_list_equal),
      	(nautilus_g_str_list_copy): Added functions for dealing with a
      	list of C strings. Also got rid of const GList *. For GList we
      	don't use const because the functions in <glib.h> don't.
      	(nautilus_g_ptr_array_new_from_list), (nautilus_g_ptr_array_sort),
      	(nautilus_g_ptr_array_search): Renamed the new functions and types
      	to more closely match the standard. For example, the types must
      	have a Nautilus prefix.
      
      	* src/ntl-window.h:
      	* libnautilus-extensions/nautilus-icon-private.h:
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(icon_set_selected), (rubberband_select):
      	Switched to use the nautilus_boolean_bit type.
      
      	* components/html/glibwww-callbacks.c:
      	Moved <config.h> include down to fix some warnings.
      42b69946
  4. 15 May, 2000 1 commit
    • Darin Adler's avatar
      A long time ago I removed the parameter from the bounds_changed signal of · 154efff4
      Darin Adler authored
      	* libnautilus-extensions/nautilus-icon-canvas-item.c:
      	(nautilus_icon_canvas_item_initialize_class),
      	(nautilus_icon_canvas_item_update), (gnome_icon_underline_text):
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(bounds_changed_callback):
      	A long time ago I removed the parameter from the bounds_changed
      	signal of the canvas item and did a half-assed job. This made
      	it crash a lot for martin. Finished the job.
      154efff4
  5. 13 May, 2000 1 commit
  6. 11 May, 2000 1 commit
    • Gene Z. Ragan's avatar
      Change makefiles to link against libnautilus. This is so calls to the undo · bc22620f
      Gene Z. Ragan authored
      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>
      bc22620f
  7. 10 May, 2000 2 commits
    • Darin Adler's avatar
      Added a Layout menu with a separate item for Manual Layout and for each · df6a8969
      Darin Adler authored
      	* fm-icon-view.c: (update_layout_menus), (sort_callback),
      	(manual_layout_callback), (fm_icon_view_merge_menus),
      	(update_one_menu_item), (fm_icon_view_update_menus),
      	(icon_container_compare_icons_callback), (get_icon_text_callback),
      	(text_attribute_names_changed_callback),
      	(fm_icon_view_initialize_class), (fm_icon_view_initialize): Added
      	a Layout menu with a separate item for Manual Layout and for each
      	kind of auto-layout sort.
      
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(idle_handler): Reinstated the call to relayout. It broke looking
      	at a sorted folder the first time.
      
      	Tons of gratuitous whitespace reformatting. I'm so sorry, but
      	I was listening to a talk by rms.
      df6a8969
    • Darin Adler's avatar
      Ignore the generated files in this new directory. · b6258ecd
      Darin Adler authored
      	* components/services/trilobite/src/.cvsignore:
      	Ignore the generated files in this new directory.
      
      	* libnautilus-extensions/nautilus-gnome-extensions.h:
      	* libnautilus-extensions/nautilus-gnome-extensions.c:
      	(convert_varargs_to_name_array), (nautilus_simple_dialog):
      	Moved simple-dialog function from dfos. It just calls
      	gnome_dialog with the right options.
      
      	* libnautilus-extensions/nautilus-gtk-extensions.h:
      	Added another marshal function.
      
      	* libnautilus-extensions/nautilus-icon-container.h:
      	* libnautilus-extensions/nautilus-icon-private.h:
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(reload_icon_positions), (nautilus_icon_container_move_icon),
      	(nautilus_icon_container_initialize_class),
      	(nautilus_icon_container_add),
      	(nautilus_icon_container_request_update_all),
      	(nautilus_icon_container_set_auto_layout),
      	(nautilus_icon_container_freeze_icon_positions),
      	(nautilus_icon_container_sort),
      	(nautilus_icon_container_start_renaming_selected_item):
      	Reorganized signals. Added NautilusIconPosition to simplify
      	the interface for signals that deal with icon position. Removed the
      	now-unused icon_text_edit_occurred signal. Added the layout_changed
      	signal. Added nautilus_icon_container_sort function. Moved some code
      	out of the "omit self check" conditional.
      
      	* libnautilus-extensions/nautilus-icon-dnd.c:
      	(confirm_switch_to_manual_layout), (handle_local_move): Added code
      	that switches to manual layout if you move an icon within the window
      	and it's on auto layout.
      
      	* src/file-manager/dfos-xfer.h:
      	* src/file-manager/dfos-xfer.c: (handle_xfer_vfs_error),
      	(handle_xfer_overwrite), (dfos_xfer): Switch code to use the new
      	nautilus_simple_dialog instead of file_operation_alert, which I
      	removed from here.
      
      	* src/file-manager/fm-icon-view.c:
      	(get_stored_icon_position_callback), (update_layout_menus),
      	(fm_icon_view_begin_loading), (auto_layout_callback),
      	(manual_layout_callback), (layout_changed_callback),
      	(fm_icon_view_merge_menus), (icon_position_changed_callback),
      	(create_icon_container):
      	Added workaround for Bonobo bug where it calls the radio menu item
      	callback that was making it always use auto layout. Converted to use
      	the updated signal parameters. Added a signal handler to update the
      	layout menu to match the layout when the layout is changed elsewhere.
      b6258ecd
  8. 09 May, 2000 2 commits
    • Darin Adler's avatar
      Eliminated code that ref's files when they are the target of the · e7aa2e75
      Darin Adler authored
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(nautilus_directory_call_when_ready_internal),
      	(nautilus_directory_cancel_callback_internal),
      	(directory_count_callback), (nautilus_async_destroying_file),
      	(start_getting_directory_counts), (top_left_read_done),
      	(start_getting_top_lefts):
      	Eliminated code that ref's files when they are the target of the
      	call_when_ready list or the current file being read for top left
      	text or the current directory being counted. Instead, cancel the
      	I/O when the file is destroyed (we already had the hook).
      
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(lacks_top_left),
      	* libnautilus-extensions/nautilus-file-private.h:
      	* libnautilus-extensions/nautilus-file.c:
      	(nautilus_file_contains_text), (nautilus_file_get_top_left_text):
      	Change top left text reading to only read text files and other
      	regular files with unknown type.
      
      	* libnautilus-extensions/nautilus-gtk-extensions.c:
      	(nautilus_gtk_marshal_NONE__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER):
      	* libnautilus-extensions/nautilus-gtk-extensions.h:
      	Needed a new marshal function.
      
      	* libnautilus-extensions/nautilus-icon-container.h:
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(resort_and_clear), (auto_position_icon), (relayout):
      	Changed around to share more code.
      	(reload_icon_positions): Call to reload icon positions when you
      	switch from auto to manual layout.
      	(idle_handler): Get rid of relayout on idle.
      	(nautilus_icon_container_move_icon): Renamed icon_changed to
      	icon_position_changed.
      	(rubberband_select): Fixed bug where rubberband would never deselect.
      	(nautilus_icon_container_initialize_class): Add a new signal called
      	get_stored_icon_position and also renamed the icon_changed signal to
      	icon_position_changed.
      	(nautilus_icon_container_update_icon): Changed back the
      	get_icon_images interface to return NautilusScaledIcon objects
      	instead of actual pixbufs. This is made possible by the change to
      	include the embedded text as one of the parameters when creating
      	a NautilusScaledIcon.
      	(nautilus_icon_container_add): Merged the two flavors of add and
      	removed the extra parameters. Now the icon position and scale comes
      	from a callback (via signal).
      	(nautilus_icon_container_set_selection): Use a hash table (fixes
      	Bugzilla bug 613).
      	(nautilus_icon_container_select_list_unselect_others): Use a hash
      	table.
      	(nautilus_icon_container_set_auto_layout): Reload the previous
      	icon positions and "freeze" them (store them) when switching from
      	automatic layout to manual.
      	(nautilus_icon_container_freeze_icon_positions): Public function
      	to store all the icon psoitions. For use later with the dialog that
      	you get when you drag an icon.
      	* src/file-manager/fm-icon-view.c:
      	(get_stored_icon_position_callback): Support new interface for
      	getting the icon position. Also used setlocale so metadata always
      	uses a locale-independent format for floating point numbers.
      	(fm_icon_view_add_file), (fm_icon_view_done_adding_files):
      	New simplified interface for adding icons.
      	(auto_layout_callback), (manual_layout_callback): Fixed a bug where
      	we'd always switch to auto layout on startup. It's actually a bug
      	in Bonobo where new radio menu items get callbacks right away.
      	(icon_position_changed_callback): Used setlocale so metadata always
      	uses a locale-independent format for floating point numbers.
      	(get_icon_images_callback): Changed for new simpler embedded text
      	API. Moved the actual pixbuf stuff back into NautilusIconContainer.
      	(create_icon_container): New get_stored_icon_position callback and
      	renamed icon_position_changed callback.
      
      	* libnautilus-extensions/nautilus-icon-dnd.c: (handle_local_move),
      	(handle_nonlocal_move),
      	(nautilus_icon_container_receive_dropped_icons):
      	Restructured the drag code a little bit to make it easy to add the
      	dialog that you get when you drag an icon within an auto-layed-out
      	window (that I will add soon).
      
      	* libnautilus-extensions/nautilus-icon-factory.h:
      	* libnautilus-extensions/nautilus-icon-factory.c:
      	(nautilus_scalable_icon_get), (nautilus_scalable_icon_unref),
      	(nautilus_scalable_icon_hash), (nautilus_scalable_icon_equal),
      	(nautilus_icon_factory_get_icon_for_file),
      	(nautilus_icon_factory_get_emblem_icon_by_name),
      	(nautilus_icon_factory_get_emblem_icons_for_file),
      	(get_image_from_cache),
      	(nautilus_icon_factory_get_pixbuf_for_icon),
      	(nautilus_icon_factory_get_pixbuf_for_file), (embed_text),
      	(load_image_with_embedded_text):
      	* src/file-manager/fm-list-view.c:
      	(fm_list_view_get_emblem_pixbufs_for_file):
      	* src/file-manager/fm-properties-window.c:
      	(create_image_widget_for_emblem):
      	* src/nautilus-index-title.c: (nautilus_index_title_update_info):
      	Even though John talked me out of it, I talked myself back into it.
      	Redid the embedded text so it's done entirely inside the icon
      	factory. This keeps the interface simple.
      
      	* libnautilus-extensions/nautilus-icon-private.h: Add a missing
      	newline.
      e7aa2e75
    • Pavel Cisler's avatar
      libnautilus-extensions/nautilus-list.c Fix 296 - properly set the default · 4f7ae827
      Pavel Cisler authored
      2000-05-08  Pavel Cisler  <pavel@eazel.com>
      
      	* libnautilus-extensions/nautilus-list.c
      	* libnautilus-extensions/nautilus-icon-container.c
      	(realize), (unrealize), (nautilus_list_realize),
      	(nautilus_list_unrealize),
      	(nautilus_icon_container_initialize_class),
      	(nautilus_list_initialize_class),
      	(nautilus_list_realize),
      	(nautilus_list_unrealize):
      	Fix 296 - properly set the default focus to the icon and
      	list views so that keyboard navigation works right away.
      	Properly defocus the icon and list view when switching
      	between the two views.
      
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(keyboard_arrow_key), (keyboard_right), (keyboard_left),
      	(keyboard_down), (keyboard_up):
      	Properly handle the first keyboard arrow press when we have no selection
      	yet. To do this pass in a new empty_start predicate.
      
      	* libnautilus-extensions/nautilus-icon-container.c
      	* libnautilus-extensions/nautilus-list.c
      	(nautilus_list_initialize),
      	(select_row_from_mouse),
      	(nautilus_list_keyboard_navigation_key_press),
      	(nautilus_list_key_press):
      	Properly handle the first keyboard arrow press when we have no selection
      	yet (this will only start working when 454 gets fixed).
      	Make it so that the keyboard focus gets collapsed with the selection
      	when selecting an item with a mouse.
      4f7ae827
  9. 08 May, 2000 2 commits
    • Gene Z. Ragan's avatar
      Fixed bug introduced by Pavel's new super cool keyboard icon selection · cb20febd
      Gene Z. Ragan authored
      2000-05-08  Gene Z. Ragan  <gzr@eazel.com>
      
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(key_press_event):
      	Fixed bug introduced by Pavel's new super cool keyboard icon
      	selection feature.  An icon in renaming mode no longer received
      	keyboard events.  A check is now made to see if the icon container
      	is in renaming mode before processing event for icon selection.
      cb20febd
    • Pavel's avatar
      Support for icon selection by typing the item's name. Initialize and flush · f000eb08
      Pavel authored
      2000-05-08  Pavel  <pavel@eazel.com>
      
      	* libnautilus-extensions/nautilus-icon-container.c:
      	* libnautilus-extensions/nautilus-icon-private.h:
      	(match_best_name), (select_matching_name), (destroy),
      	(button_press_event), (nautilus_icon_container_almost_drag),
      	(nautilus_icon_container_flush_typeselect_state),
      	(nautilus_icon_container_handle_typeahead), (key_press_event),
      	(nautilus_icon_container_initialize):
      	Support for icon selection by typing the item's name. Initialize
      	and flush the new typeselect state properly. Rework key_press_event
      	a little bit to make it easier to call the inherited key_press call
      	when we did not handle the keyboard event ourselves.
      
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(select_previous_or_next_name), (compare_icons_by_name),
      	(build_sorted_icon_list):
      	Support for selecting next/previous icon alphabetically using
      	Tab and Shift-Tab.
      
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(find_best_icon), (find_best_selected_icon), (leftmost_in_top_row),
      	(rightmost_in_bottom_row), (same_row_right_side_leftmost),
      	(same_row_left_side_rightmost), (same_column_above_lowest),
      	(same_column_below_highest), (keyboard_home), (keyboard_end),
      	(keyboard_arrow_key):
      	Add data parameter to find_best_icon and find_best_selected_icon
      	to allow using more complicated match predicates.
      
      	* libnautilus-extensions/nautilus-glib-extensions.c:
      	* libnautilus-extensions/nautilus-glib-extensions.h:
      	(nautilus_g_list_copy):
      	Add a list shallow copy utility call.
      
      	* libnautilus-extensions/nautilus-glib-extensions.c:
      	* libnautilus-extensions/nautilus-glib-extensions.h:
      	(nautilus_get_system_time), (nautilus_self_check_glib_extensions)
      	Add a utility call to get the system time in microseconds.
      
      	* libnautilus-extensions/nautilus-icon-canvas-item.c:
      	Fix a typo.
      
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(nautilus_icon_container_start_renaming_selected_item):
      	Fix white space.
      f000eb08
  10. 05 May, 2000 1 commit
    • Darin Adler's avatar
      Moved the "embedded text" feature into the icon factory and · 33910528
      Darin Adler authored
      	NautilusFile.
      
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(metafile_read_close), (nautilus_metafile_read_cancel),
      	(metafile_read_failed), (metafile_read_complete),
      	(metafile_read_callback), (metafile_read_some),
      	(metafile_read_open_callback), (metafile_read_start),
      	(nautilus_directory_request_read_metafile), (metafile_write_done),
      	(metafile_write_failed), (metafile_write_callback),
      	(metafile_write_create_callback), (nautilus_metafile_write_start),
      	(metafile_write), (lacks_top_left), (wants_top_left),
      	(has_problem), (select_needy_file), (count_lines),
      	(top_left_read_done), (top_left_read_failed),
      	(top_left_read_complete), (top_left_read_close),
      	(top_left_read_callback), (top_left_read_some),
      	(top_left_open_callback), (start_getting_top_lefts),
      	(state_changed):
      	Added code to read top lefts of files in the background.
      	Restructured things to accomodate this new code nicely with
      	a minimum of copy and paste (there still was plenty of copy
      	and paste so there's room for improvement).
      
      	* libnautilus-extensions/nautilus-directory.c:
      	(nautilus_directory_destroy):
      	Name changes from above required revising some asserts.
      
      	* libnautilus-extensions/nautilus-file-private.h:
      	* libnautilus-extensions/nautilus-file.c:
      	(nautilus_file_get_top_left_text): Now it returns something
      	besides just NULL.
      	(nautilus_extract_top_left_text): Function that remembers only
      	the part of the top left text that we want to keep around.
      
      	* libnautilus-extensions/nautilus-gtk-extensions.h:
      	* libnautilus-extensions/nautilus-gtk-extensions.c:
      	(nautilus_gtk_marshal_NONE__POINTER_POINTER_POINTER),
      	(nautilus_gtk_marshal_POINTER__POINTER_INT_INT_POINTER_POINTER):
      	Needed some new marshal functions.
      
      	* libnautilus-extensions/nautilus-icon-canvas-item.h:
      	* libnautilus-extensions/nautilus-icon-canvas-item.c:
      	(nautilus_icon_canvas_item_initialize_class),
      	(nautilus_icon_canvas_item_destroy),
      	(nautilus_icon_canvas_item_set_arg),
      	(nautilus_icon_canvas_item_get_arg),
      	(nautilus_icon_canvas_item_get_image),
      	(nautilus_icon_canvas_item_set_image),
      	(nautilus_icon_canvas_item_draw):
      	Removed the old embedded text support. It came with a whole lot
      	of baggage, also removed.
      
      	* libnautilus-extensions/nautilus-icon-container.h:
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(nautilus_icon_container_update_icon): Moved pixbuf computing code
      	into the FMIconView class. We might decide later to move it back
      	again, but for now the embedded text makes it easier to do it
      	this way.
      	(nautilus_icon_container_initialize_class): Merged
      	get_icon_editable_text and get_icon_additional_text back into
      	a single signal that gets both.
      
      	* libnautilus-extensions/nautilus-icon-dnd.c:
      	(nautilus_icon_dnd_begin_drag): Updated for change in icon factory
      	API.
      
      	* src/file-manager/fm-directory-view.c: (finish_loading_uri):
      	Ask for top-left text attribute for all directories.
      
      	* src/file-manager/fm-icon-view.c: (get_icon_images_callback):
      	Moved pixbuf computing code into the FMIconView class. We might
      	decide later to move it back again, but for now the embedded text
      	makes it easier to do it this way.
      	(get_icon_text_callback): Merged get_icon_editable_text and
      	get_icon_additional_text back into a single signal that gets both.
      33910528
  11. 04 May, 2000 1 commit
    • Darin Adler's avatar
      Some more instructions and cleanup. Removed one gratuitous renaming we · e0e2e07e
      Darin Adler authored
      	* HACKING: Some more instructions and cleanup.
      	* RENAMING: Removed one gratuitous renaming we won't do.
      
      	* components/html/ntl-web-browser.c:
      	Removed stray "#include <config.h>" that I added by accident.
      
      	* components/hardware/main.c: (main):
      	* components/help/hyperbola-main.c: (main):
      	* components/html/ntl-web-browser.c: (main):
      	* components/music/main.c: (main):
      	* components/notes/ntl-notes.c: (main):
      	* components/rpmview/main.c: (main):
      	* components/websearch/ntl-web-search.c: (main):
      	* src/file-manager/gnome-desktop.c (main):
      	* src/ntl-main.c (main):
      	Added ifdefs so you don't get warnings when building with
      	localization turned off. Ugly, but needed I think.
      
      	* components/help/converters/gnome-db2html2/gdb3html.c:
      	(ulink_start_element), (start_element):
      	* components/help/converters/gnome-db2html2/sect-elements.c:
      	(sect_sect_start_element), (sect_sect_end_element),
      	(sect_title_start_element), (sect_xref_start_element),
      	(sect_graphic_start_element), (sect_get_infobox_logo):
      	* components/help/converters/gnome-db2html2/sect-preparse.c:
      	(sect_preparse_sect_start_element),
      	(sect_preparse_title_characters):
      	* components/help/converters/gnome-db2html2/toc-elements.c:
      	(toc_sect_start_element), (toc_title_start_element):
      	* components/help/converters/gnome-info2html2/html.c:
      	(write_node_link_html):
      	* components/help/hyperbola-filefmt.c: (tree_key_compare):
      	* components/help/hyperbola-nav-index.c: (start_element),
      	(end_element), (hyperbola_navigation_index_new):
      	* components/html/ntl-web-browser.c: (browser_submit):
      	Replaced all uses of strcasecmp with g_strcasecmp.
      	Why? Because Michael Meeks said so and that's good enough
      	for me (in this case :-).
      
      	* components/music/nautilus-music-view.c:
      	(nautilus_music_view_update_from_uri):
      	* libnautilus-extensions/nautilus-file.c:
      	(nautilus_file_get_mime_type_as_string_attribute),
      	(nautilus_file_get_mime_type):
      	* libnautilus-extensions/nautilus-icon-factory.c:
      	(nautilus_icon_factory_get_icon_name_for_regular_file):
      	* src/file-manager/fm-icon-view.c (get_icon_property_callback):
      	* src/ntl-index-panel.c (nautilus_index_panel_update_buttons):
      	* src/ntl-uri-map.c (file_list_to_mime_type_hash_table):
      	Changed get_mime_type to be like all other text functions and
      	return a strdup'd string. John said it was a good idea.
      
      	* libnautilus-extensions/nautilus-file-private.h:
      	* libnautilus-extensions/nautilus-directory-async.c:
      	(metafile_read_callback), (metafile_read_some),
      	(set_up_request_by_file_attributes),
      	(nautilus_directory_monitor_add_internal),
      	(directory_list_get_next_position), (directory_load_callback),
      	(ready_callback_call),
      	(nautilus_directory_call_when_ready_internal),
      	(wants_directory_count), (has_problem),
      	(ready_callback_is_satisfied), (is_anyone_monitoring_file_list),
      	(is_anyone_waiting_for_metafile), (is_wanted), (select_needy_file),
      	(start_getting_directory_counts):
      	Reorganize to get ready for adding code to read the top left text.
      
      	* libnautilus-extensions/nautilus-file-attributes.h:
      	Added name for the "top left text" attribute.
      
      	* libnautilus-extensions/nautilus-file.h:
      	* libnautilus-extensions/nautilus-file.c:
      	(nautilus_file_get_top_left_text):
      	Added call to get the top left text.
      
      	* libnautilus-extensions/nautilus-icon-canvas-item.c:
      	(draw_embedded_text): Tiny format tweak.
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(nautilus_icon_container_update_icon): Tiny format tweak.
      
      	* libnautilus-extensions/nautilus-icon-factory.h:
      	* libnautilus-extensions/nautilus-icon-factory.c:
      	(nautilus_icon_factory_get_pixbuf_for_file),
      	(nautilus_icon_factory_get_pixmap_and_mask_for_file),
      	(nautilus_icon_factory_embed_text),
      	(nautilus_icon_factory_embed_file_text):
      	Added support for embedded text. Not completely deployed yet.
      e0e2e07e
  12. 03 May, 2000 1 commit
    • Gene Z. Ragan's avatar
      libnautilus-extensions/nautilus-entry.c Refined undo support. · 1f47ad6c
      Gene Z. Ragan authored
      2000-05-03  Gene Z. Ragan <gzr@eazel.com>
      
      	* libnautilus-extensions/nautilus-entry.c
      	* libnautilus-extensions/nautilus-entry.h:
      	Refined undo support.
      	(nautilus_entry_enable_undo_key):
      	New function to set internal handling of ctl-z for undo.
      
      	* libnautilus-extensions/nautilus-icon-container.c
      	(hide_rename_widget):
      	Removed deletion of undo transaction.  This is now handled
      	by the owner of the widget.
      
      	* libnautilus-extensions/nautilus-undo-manager.c
      	(nautilus_undo_manager_unregister_object):
      	New function to unregister a GtkObject form the undo manager.
      	Any transaction that contains the object is removed from the
      	undo and redo lists.  This should be called for any object that
      	is no longer available for user interaction.
      
      	* libnautilus-extensions/nautilus-undo-transaction.c
      	(nautilus_undo_transaction_contains_object):
      	Function added to support nautilus_undo_manager_unregister_object()
      	call in the undo manager.  Each NautilusUndoable in a transaction
      	is checked for the object to be removed.
      
      	* src/file-manager/fm-icon-view.c:
      	* src/file-manager/fm-properties-window.c
      	(create_properties_window):
      	Added call to unregister rename widget form undo manager.
      
      	* src/nautilus-bookmarks-window.c
      	Added undo support for entry widgets.
      
      	* src/nautilus-location-bar.c
      	Changed to support modified undo manager APIs.
      1f47ad6c
  13. 02 May, 2000 3 commits
    • Pavel Cisler's avatar
      Get rid of FIXME 623 - the problem was already fixed, I just forgot to · dc4cfde6
      Pavel Cisler authored
      2000-05-02  Pavel Cisler  <pavel@eazel.com>
      
      	* libnautilus-extensions/nautilus-icon-container.c
      	(motion_notify_event):
      	Get rid of FIXME 623 - the problem was already fixed, I just
      	forgot to remove the FIXME.
      
      	* src/file-manager/dfos-xfer.c (handle_xfer_ok):
      	Fix FIXME 676 - the particular switch case doesn't need any
      	handling, took it out.
      
      	* libnautilus-extensions/nautilus-list-column-title.c
      	(nautilus_list_column_title_paint),
      	(nautilus_list_column_title_leave),
      	(nautilus_list_column_title_button_press),
      	(nautilus_list_column_title_button_release):
      	Fix bug 423 - Double-clicking Header boundary in List View
      	fails assertion.
      	Fix a column press tracking bug Gene found - the coulumn would
      	stay pressed if you tracked out of the column and let go of the
      	mouse button - made it so that when tracking a column press the
      	cursor gets grabbed.
      	Fix FIXME 618 - used offscreen bitmap draws instead of invalidates
      	during the different mouse tracking state changes.
      
      	* file-manager/fm-directory-view.c:
      	Added comments to some #if 0 code that I left behind and will use
      	later.
      dc4cfde6
    • Darin Adler's avatar
      Got rid of the old maximum size hack and use the new maximum size · 25223173
      Darin Adler authored
      	* libnautilus-extensions/nautilus-icon-container.c (icon_new),
      	(nautilus_icon_container_update_icon):
      	Got rid of the old maximum size hack and use the new maximum size
      	parameter instead.
      
      	* src/nautilus-index-title.c (nautilus_index_title_update_icon):
      	Took out maximum size hack and use the maximum size parameter
      	instead.
      
      	* libnautilus-extensions/nautilus-icon-factory.c
      	(str_has_svg_suffix), (nautilus_icon_factory_get_icon_for_file),
      	(load_specific_image): Renamed suffix_is_scalable to
      	str_has_svg_suffix to make it clearer what it does.
      25223173
    • Darin Adler's avatar
      Added -print as suggested by Morten Welinder <terra@diku.dk>. Added -print · b350e0b3
      Darin Adler authored
      	* check-FIXME.pl: Added -print as suggested by Morten Welinder
      	<terra@diku.dk>.
      	* check-config-h.pl: Added -print and fixed broken message as
      	suggested by Morten Welinder <terra@diku.dk>.
      
      	* libnautilus-extensions/nautilus-icon-factory.h:
      	* libnautilus-extensions/nautilus-icon-factory.c
      	(suffix_is_scalable): Simpler implementation.
      	(get_themed_icon_file_path): Look for size-specific version of
      	even .svg files. Although not so useful, it's not ridiculous to do so.
      	(nautilus_icon_factory_get_icon_for_file): Fixed the twisted logic to
      	be less twisted. Also changed the ".svg" extension check to use the
      	common function suffix_is_scalable.
      	(load_specific_image): Untwist logic here too, and note in the FIXME
      	that both the .svg library and gdk-pixbuf are limiting us to file:
      	URIs, although the gdk-pixbuf case is fixable without redoing the
      	library by just using our utility functions.
      	(load_image_for_scaling): Update for new size request structure which
      	contains maximum sizes as well as nominal ones.
      	(scale_image_and_rectangle), (revise_scale_factors_if_too_big),
      	(scale_image_down_if_too_big): New helper functions for scaling.
      	(load_image_scale_if_necessary): Take the maximum size into account.
      	(get_image_from_cache): Use new size request structure and take the
      	maximum size into account.
      	(nautilus_icon_factory_get_pixbuf_for_icon): Changed to take maximum
      	size parameters and pass them in to the underlying function.
      	(icon_cache_key_hash): Include the maximum size in the hash.
      	(icon_cache_key_equal): Check the maximum size too.
      	(nautilus_icon_factory_get_pixbuf_for_file): Pass new max. size
      	parameters to the nautilus_icon_factory_get_pixbuf_for_icon
      	function.
      
      	* libnautilus-extensions/nautilus-icon-container.c
      	(nautilus_icon_container_update_icon): Pass new max. size
      	parameters to the nautilus_icon_factory_get_pixbuf_for_icon
      	function.
      
      	* src/file-manager/fm-list-view.c
      	(fm_list_view_get_emblem_pixbufs_for_file): Pass new max. size
      	parameters to the nautilus_icon_factory_get_pixbuf_for_icon
      	function.
      b350e0b3
  14. 28 Apr, 2000 1 commit
    • Gene Z. Ragan's avatar
      libnautilus-extensions/nautilus-undoable.c · 3ada85db
      Gene Z. Ragan authored
      2000-04-27  Gene Z. Ragan  <gzr@eazel.com>
      
      	* libnautilus-extensions/nautilus-undoable.c
      	* libnautilus-extensions/nautilus-undoable.h
      	* libnautilus-extensions/nautilus-undo-manager.c
      	* libnautilus-extensions/nautilus-undo-manager.h
      	* libnautilus-extensions/nautilus-undo-transaction.c
      	* libnautilus-extensions/nautilus-undo-transaction.h
      	* libnautilus-extensions/nautilus-undo-manager-private.h
      	Added architecture for undo mechanism.
      	NautilusUndoManager maintains undo and redo queues of NautilusUndoTransactions
      	as well as maintaining various state information pertinant to the user interface.
      	NautilusUndoTransaction contains a transaction name and a list of NautilusUndoables.
      	NautilusUndoable is a object that contains a pointer to an object and a GData object.
      	The GData object contains named data that can be added and retrieved during an undo/
      	redo operation.  The NautilusUndoable also emits signals to the object that enables it
      	to perform the undo and redo operations.  I will write up more complete documents when the
      	code has matured.
      
      	* libnautilus-extensions/nautilus-icon-container.c
      	* libnautilus-extensions/nautilus-icon-container.h
      	* src/file-manager/fm-icon-view.c
      	Removed obsolete undo functions and callbacks.  These were invalidated
      	by the new undo mechanism.
      
      	* src/ntl-main.c
      	Added call to nautilus_undo_manager_initialize_global_manager() in main.
      	This call initializes a Nautilus global undo manager.
      	Also fixed some minor coding style issues.
      
      	* nautilus-window-menus.c
      	edit_menu_undo_callback():
      	Added callback to handle selection of Undo item form edit menu.  Callback
      	checks with Undo Manager for a current undo transaction and asks manager to
      	perform an undo if there is one.
      3ada85db
  15. 26 Apr, 2000 2 commits
  16. 22 Apr, 2000 1 commit
    • Gene Z. Ragan's avatar
      libnautilus-extensions/nautilus-icon-canvas-item.c Return value of · aa0ef3fd
      Gene Z. Ragan authored
      2000-04-21  Gene Z. Ragan  <gzr@eazel.com>
      	* libnautilus-extensions/nautilus-icon-canvas-item.c
      	* libnautilus-extensions/nautilus-icon-canvas-item.h
      	(nautilus_icon_canvas_item_get_max_text_width):
      	Return value of MAX_TEXT_WIDTH constant.  Used is positoning the rename
      	text widget.
      
      	* libnautilus-extensions/nautilus-icon-container.c
      	Added signal "icon_text_edit_occurred" called when the text rename widget
      	recieves some sort of edit, such as a keyboard entry.
      	(rename_text_dirty):  Returns boolean indicating edit state of
      	text in rename widget.  Used in undo operation.
      	(text_edited_callback):  Signal callback called when NautilusIconTextItem
      	text is edited.
      	(nautilus_icon_container_start_renaming_selected_item):  Fixed positioning
      	code to address bug #543
      	(nautilus_icon_container_undo_renaming_selected_item):  Added simple undo
      	code.  This needs to be replaced with a global undo system.
      
      	* libnautilus-extensions/nautilus-icon-text-item.c
      	(iti_paint_text):  Fixed drawing of i-beam to address bug #506
      	(iti_event): Added keyboard handling for simple undo
      	(nautilus_icon_text_item_get_margins):  Returns values of MARGIN_X and
      	MARGIN_X constants.  Used when positioning text item in canvas.
      
      	* src/file-manager/fm-directory-view.c
      	Moved menu item title constants to header file.  This is needed so
      	FMIconView can get menu position paths when placing items in the
      	bonobo and contect menus.  Renamed the constants to be specific to
      	FMDirectoryView.
      	(fm_directory_view_get_context_menu_index):  Added function to return
      	index of requested menu item.
      
      	* src/file-manager/fm-icon-view.c
      	(fm_icon_view_icon_text_edit_callback):  Callback that connect to
      	NautilusIconContainer signal.
      	(undo_rename_icon_callback): Added simple undo functionality.
      	(insert_one_context_menu_item): Added function to insert context menu
      	add a specific index.
      	Fixed bug #499, Rename menu in bad place in context menu.
      aa0ef3fd
  17. 21 Apr, 2000 1 commit
    • Darin Adler's avatar
      Fixed a typo that was causing the history view to fail. · ef2dc9ef
      Darin Adler authored
      	* components/history/ntl-history-view.c
      	(hyperbola_navigation_history_notify_location_change):
      	Fixed a typo that was causing the history view to fail.
      
      	* components/music/nautilus-music-view.c
      	(nautilus_music_view_initialize_class),
      	(nautilus_music_view_initialize), (setup_title_font),
      	(nautilus_music_view_realize):
      	Changed to use new nautilus_gtk_widget_set_font_by_name
      	and got rid of the old realize hack.
      
      	* components/rpmview/nautilus-rpm-view.c
      	(nautilus_rpm_view_initialize):
      	Added a FIXME about how it's bad to hard-wire a font.
      
      	* components/services/startup/nautilus-service-startup-view.c
      	(setup_title_font), (setup_form_title),
      	(nautilus_service_startup_view_initialize),
      	(nautilus_service_startup_view_realize),
      	(nautilus_service_startup_view_load_uri):
      	Changed to use new nautilus_gtk_widget_set_font_by_name
      	and got rid of the old realize hack.
      
      	* libnautilus-extensions/nautilus-gtk-extensions.h:
      	* libnautilus-extensions/nautilus-gtk-extensions.c
      	(nautilus_gtk_style_set_font): Made public.
      	(nautilus_gtk_widget_set_font): Added comments and checks on
      	the parameters.
      
      	* libnautilus-extensions/nautilus-icon-container.c (relayout),
      	(idle_handler), (nautilus_icon_container_move_icon),
      	(world_width_changed), (end_stretching), (button_release_event),
      	(handle_icon_button_press), (nautilus_icon_container_add_auto),
      	(nautilus_icon_container_remove),
      	(nautilus_icon_container_set_auto_layout):
      	Some tweaks for auto-layout mode. Made it work better with
      	stretching by not laying out the currently-stretched icon,
      	simplified the code a bit, and made it relayout when an icon
      	is removed.
      
      	* src/file-manager/fm-directory-view.c (compute_menu_item_info),
      	(fm_directory_view_real_merge_menus):
      	Got rid of the "..." from "Delete...". On Macintosh, at least,
      	the "..." is only used when the dialog is something that adds
      	parameters to the command, not when it's just a confirmation.
      
      	* src/nautilus-index-title.c (update_font),
      	(nautilus_index_title_update_label),
      	(nautilus_index_title_update_info):
      	Changed to use new nautilus_gtk_widget_set_font and
      	nautilus_gtk_widget_set_font_by_name.
      
      	* src/ntl-index-panel.c (nautilus_index_panel_remove_meta_view):
      	Made the index panel do *slightly* better when a meta view
      	fails to load.
      
      	* components/help/hyperbola-main.c (main):
      	Fixed a warning.
      ef2dc9ef
  18. 19 Apr, 2000 4 commits
    • John Sullivan's avatar
      New function, extracted from size_allocate. (size_allocate): Call · f1614ccd
      John Sullivan authored
      	* libnautilus-extensions/nautilus-icon-container.c:
      	(world_width_changed): New function, extracted from size_allocate.
      	(size_allocate): Call world-width-changed.
      	(nautilus_icon_container_set_zoom_level): Call world_width_changed.
      	This makes zooming relayout when in auto-layout mode.
      
      	* src/nautilus-window-menus.c:
      	(append_bookmark_to_menu): Added line where bookmark is set in
      	BookmarkHolder. This had been accidentally deleted, breaking all
      	bookmarks.
      f1614ccd
    • Ramiro Estrugo's avatar
      Simplify be removing all arguments from callbacks save for the user data. · 4e36d31d
      Ramiro Estrugo authored
      * nautilus-widgets/nautilus-preferences.c,
        nautilus-widgets/nautilus-preferences.h:
      
        Simplify be removing all arguments from callbacks save for the
        user data.
      
        (nautilus_preferences_add_string_callback): Rename to
        nautilus_preferences_add_callback since string preferences are the
        default.
      
        * libnautilus-extensions/nautilus-global-preferences.c:
        (user_level_changed_callback): Simplify a bit.  Update for new
        simple preference callbacks.
      
        libnautilus-extensions/nautilus-icon-container.c,
        libnautilus-extensions/nautilus-icon-factory.c,
        libnautilus-extensions/nautilus-list.c: Update for new simple
        preference callbacks.
      
      * src/file-manager/fm-directory-view.c,
        src/file-manager/fm-icon-view.c: Update for new simple
        preference callbacks.
      
        src/file-manager/fm-icon-text-window.c: Update for new
        simple preference callbacks and removed unecessary usage of
        icon_view_text_attribute_changed_callback. Use
        synch_menus_with_preference directly instead.
      4e36d31d
    • Darin Adler's avatar
      First cut at the auto-layout feature. It just does a lot of re-laying · 93f86130
      Darin Adler authored
      	* libnautilus-extensions/nautilus-icon-container.c:
      	* libnautilus-extensions/nautilus-icon-container.h:
      	(compare_icons), (idle_handler), (nautilus_icon_container_move_icon),
      	(size_allocate), (nautilus_icon_container_initialize_class),
      	(nautilus_icon_container_set_auto_layout):
      	First cut at the auto-layout feature. It just does a lot of
      	re-laying things out.
      
      	* libnautilus-extensions/nautilus-icon-container.h:
      	* libnautilus-extensions/nautilus-list.h:
      	Added interfaces for telling whether to use single-click mode or
      	not. A first step in moving preferences code out of here and
      	into the file-manager classes.
      
      	* libnautilus-extensions/fm-icon-view.c:
      	(create_icon_container), (icon_container_compare_icons_callback):
      	Provide a sorting order for the auto-layout mode.
      
      	* librsvg/test-rsvg.c:
      	Rolled out the change to work with the old popt that Pavel
      	accidentally checked as Gene in when he was helping me.
      93f86130
    • Gene Z. Ragan's avatar
      *libnautilus-extensions/nautilus-icon-canvas-item.c · da18a3bb
      Gene Z. Ragan authored
      
      2000-04-18  Gene Z. Ragan <gzr@eazel.com>
      
      	*libnautilus-extensions/nautilus-icon-canvas-item.c
      	*libnautilus-extensions/nautilus-icon-canvas-item.h
      	Renamed several public functions to use proper nomenclature.
      	An example would be changing nautilus_icon_canvas_get_editable_text_bounds
      	to nautilus_icon_canvas_item_get_editable_text_bounds.  A few of
      	these misnaming were in my last submission.
      
      	*libnautilus-extensions/nautilus-icon-container.c
      	*libnautilus-extensions/nautilus-icon-container.h
      	Renamed nautilus_icon_container_show_rename_widget to
      	nautilus_icon_container_start_renaming_selected_item
      
      	*libnautilus-extensions/nautilus-icon-text-item.c
      	Fixed the following bugs:
      	487 Trying to rename an icon to empty string should revert to original
      	498 Renaming text field looks silly when empty
      	500 text-editng box too narrow when renaming files with short names
      	508 Icon text appears and disappears incorrectly when zooming
      da18a3bb
  19. 18 Apr, 2000 2 commits
    • Ramiro Estrugo's avatar
      Hook up click policy preference. Bug 374. · 41c02775
      Ramiro Estrugo authored
      41c02775
    • Darin Adler's avatar
      Added commands for Auto vs. Manual layout, but the guts behind · 6a3930e9
      Darin Adler authored
      	them is not yet implemented.
      
      	Did some cleanup on the new renaming code.
      
      	* nautilus-glib-extensions.c:
      	* nautilus-glib-extensions.h:
      	Added nautilus_g_list_exactly_one_item and
      	nautilus_g_list_more_than_one_item. These are more-efficient
      	versions of g_list_length (x) == 1 and g_list_length (x) > 1.
      
      	* nautilus-icon-canvas-item.c:
      	(draw_or_measure_label_text): Add a line break between the
      	editable text and the additional text.
      	(nautilus_icon_canvas_get_text_bounds),
      	(nautilus_icon_canvas_get_editable_text_bounds),
      	(nautilus_icon_canvas_get_editable_text),
      	(nautilus_icon_canvas_set_renaming):
      	Replaced g_assert with g_return_if_fail calls, and added the
      	complete set of g_return_if_fail.
      	(nautilus_icon_canvas_set_renaming): Don't update the item
      	unless the renaming state has actually changed.
      
      	* nautilus-icon-canvas-item.h: Fixed formatting.
      
      	* nautilus-icon-container.c:
      	* nautilus-icon-container.h:
      	Added nautilus_icon_container_set_auto_layout and
      	nautilus_icon_container_is_auto_layout. For now they are
      	placeholders that just modify a boolean.
      
      	* nautilus-icon-private.h:
      	Added the auto_layout boolean.
      
      	* nautilus-icon-text-item.c:
      	* nautilus-icon-text-item.h:
      	Just some formatting and other minor cleanup.
      
      	* nautilus-metadata.h:
      	Added NAUTILUS_METADATA_KEY_ICON_VIEW_AUTO_LAYOUT.
      
      	* nautilus-location-bar.c (drag_data_received_cb): Use the new
      	nautilus_g_list_more_than_one_item function.
      
      	* fm-directory-view.c (bonobo_menu_open_cb), (open_cb): Use the
      	new nautilus_g_list_exactly_one_item.
      
      	* fm-icon-text-window.c (attribute_names_string_is_good),
      	(set_preference_string), (synch_menus_with_preference),
      	(preference_changed_callback),
      	(changed_attributes_option_menu_cb): Got rid of the hard-coded
      	first item "name" which is no longer needed.  Also changed to
      	handle bad data in the preferences.
      
      	* fm-icon-view.c (fm_icon_view_initialize_class): Updated since
      	there's no "name" item needed any more.
      	(fm_icon_view_compute_menu_item_info): Merged MENU_PATH_RENAME
      	with MENU_RENAME_TEXT and simplified the logic.
      	(fm_icon_view_append_selection_context_menu_items): Merged
      	MENU_PATH_RENAME with MENU_RENAME_TEXT.
      	(update_layout_menus), (auto_layout_callback),
      	(manual_layout_callback), (fm_icon_view_merge_menus): Added menu
      	items for auto layout and for manual layout.
      	(fm_icon_view_begin_loading): Load setting for auto layout from
      	metadata.
      	(fm_icon_view_get_icon_text_attribute_names): Changed to get rid
      	of the "name" first item from the list of text attributes.
      	(get_icon_editable_text_callback): Simplified since the editable text
      	is always the icon name. Also got rid of copied and pasted code that's
      	no longer needed for this case.
      	(get_icon_additional_text_callback): Got rid of special case for name,
      	since the name is no longer treated as an attribute.
      6a3930e9
  20. 17 Apr, 2000 1 commit
    • Gene Z. Ragan's avatar
      Added functionality to allow files to be renamed in icov view. This · e1827af4
      Gene Z. Ragan authored
      
      
      2000-04-18  Gene Z. Ragan <gzr@eazel.com>
      	Added functionality to allow files to be renamed in icov view.  This feature is
      	available by either context click on the icon or selecting a single file and 			choosing "Rename" form the File menu.
      
      	* libnautilus-extensions/nautilus-icon-text-item.c
      	* libnautilus-extensions/nautilus-icon-text-item.h: New files.
      	This is an editable icon text item used in the renaming feature.
      	It is based on GnomeIconTextItem but modified to fix bugs in the
      	original code and add extended functionality need by nautilus.  If
      	thse changes were rolled into the current GnomeIconTextItem, it would
      	break gmc.
      
      	* libnautilus-extensions/Makefile.am
      	Modified file so that the two new files listed above would properly
      	be included in generated makefiles.
      
      	* libnautilus-extensions/nautilus-icon-canvas-item.c
      	Split text class variable into two variables, editable_text and
      	additonal_text.  editable_text refers to attributes that the user can change
      	via rename in place.  additional_text is any other text that the user cannot
      	edit via the rename in place feature.  Added a boolean flag, is_renaming, to
      	check against during various operations that effect the renaming feature.
      	Removed ARG_TEXT argument ID and replaced with ARG_EDITABLE_TEXT and
      	ARG_ADDITIONAL_TEXT.
      	(nautilus_icon_canvas_item_initialize_class):  Function now check for both
      	ARG_EDITABLE_TEXT and ARG_ADDITIONAL_TEXT.  Removed check for ARG_TEXT.
      	(nautilus_icon_canvas_item_destroy):  Both editable_text and
      	additonal_text are freed.
      	(nautilus_icon_canvas_item_set_arg):  Removed ARG_TEXT and added
      	handling of ARG_EDITABLE_TEXT and ARG_ADDITIONAL_TEXT.
      	(nautilus_icon_canvas_item_get_arg): Removed ARG_TEXT and added
      	handling of ARG_EDITABLE_TEXT and ARG_ADDITIONAL_TEXT.
      	(draw_or_measure_label_text):  Modified function to not draw the label
      	icon text if we are renaming in place.
      	(draw_or_measure_label_text):  Function now combines editable and additional
      	text when performing the measuring operation.
      	(compute_editable_text_rectangle):  Added function to compute bounds of
      	editable text.  This is used to determine size and placement of editable
      	text item when in renaming mode.
      	(nautilus_icon_canvas_get_text_bounds):  Public API to get bounds of
      	icon label text.
      	(nautilus_icon_canvas_get_editable_text_bounds): Public API to get bounds of
      	editable icon label text.
      	(hit_test_pixbuf): Added check against is_renaming flag.
      	(nautilus_icon_canvas_get_editable_text):  Public API to get editable text string.
      	(nautilus_icon_canvas_item_set_renaming):  Public API to toggle is_renaming flag.
      
      	* libnautilus-extensions/nautilus-icon-canvas-item.h
      	Added public API prototypes to functions described above.
      
      	* libnautilus-extensions/nautilus-icon-container.c
      	Added GET_ICON_EDITABLE_TEXT and GET_ICON_ADDITONAL_TEXT signals.
      	Removed GET_ICON_TEXT signal.  Added ICON_TEXT_CHANGED signal.
      	(icon_toggle_selected):  Renaming mode is now exited when a selection/deselection occurs.
      	(key_press_event):  GDK_Return ends rename mode and attempts to accept modification.  GDK_Escpae
      	ends rename mode and reverts modification to original.
      	(nautilus_icon_container_initialize_class):  icon_text_changed, get_icon_editable_text and
      	get_icon_additional_text signals are registered.
      	(editing_started): New function.  Called when an edit begins.  Inits class member variables
      	for edit mode.
      	(editing_stopped): New function.  Called when edit ends.  Cleans up edit mode.
      	(nautilus_icon_container_initialize): rename_widget and original_text private variables
      	are set to NULL.
      	(icon_toggle_selected):  Added call to end_renaming_mode.
      	(nautilus_icon_container_update_icon):  Added emitting of GET_ICON_EDITABLE_TEXT and
      	GET_ICON_ADDITIONAL_TEXT signals.  Updated gnome_canvas_item_set to use new arguments defined
      	in nautilus-icon-text-item.
      	(nautilus_icon_container_show_rename_widget):  New function.  Creates and displays renaming_widget.
      	Creates cached copy of original editable text for later compare, connects signals and enters
      	renaming mode.
      	(end_renaming_mode): New function.  Cleans up and end renaiming mode.
      	(hide_rename_widget):  Called by end_renaming_mode to hide and free renaming_widget.
      
      	* libnautilus-extensions/nautilus-icon-container.h
      	Added prototypes for public functions described above.
      
      	* libnautilus-extensions/nautilus-icon-private.h
      	Added boolean for renaming.  Added a NautilusIconTextItem variable for the renaiming widget.
      
      	* src/file-manager/fm-icon-view.c
      	Added defines MENU_PATH_RENAME. Added a char * to hold original editable text for a later compare.
      	Removed get_icon_text_callback and added get_icon_editable_text_callback and
      	get_icon_additonal_text_callback.  These return the editable and additonal text of the icon view.
      	(rename_icon_callback):  Added callback that attempts to rename the NautilusFile the icon view
      	represents.  Action in not taken if there has been no change to the editable text.  If the operation
      	fails, the user is notified.
      	(fm_icon_view_append_selection_context_menu_items):  Added Rename menu item.
      	(append_bonobo_menu_item):  Added Rename menu item and callback.
      	(update_bonobo_menu_item):  Added senesitivity check for the Rename item.  It is
      	enabled only if a single item is selected.
      	(fm_icon_view_icon_text_changed_callback):  Added function to attempt to change the filename
      	to the new text.  Notify user if operation fails.
      	(get_icon_editable_text_callback): This callback returns the text items that areeditable by
      	the user using the "Rename" command.  In the case of FMIconView, this
      	would be the attribute with the name "name".
      	(get_icon_additional_text_callback): This callback returns the text items that are not
      	editable by the user using the "Rename" command.
      e1827af4
  21. 14 Apr, 2000 1 commit
    • Darin Adler's avatar
      Fixed a bug my changes to GNOME VFS exposed. The callback couldn't handle · 74748cdc
      Darin Adler authored
      	* 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.
      74748cdc
  22. 12 Apr, 2000 1 commit
  23. 11 Apr, 2000 3 commits
  24. 05 Apr, 2000 1 commit
    • Maciej Stachowiak's avatar
      Make selection persistent across content view changes (task 105). · 491e5af1
      Maciej Stachowiak authored
      	* 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.
      491e5af1
  25. 04 Apr, 2000 1 commit
    • Darin Adler's avatar
      First cut at tiled background images. · 276a5a10
      Darin Adler authored
      
      	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.
      276a5a10
  26. 31 Mar, 2000 1 commit