1. 20 May, 2000 2 commits
    • Ettore Perazzoli's avatar
    • Maciej Stachowiak's avatar
      Fix bugzilla tasks #599 (hex number is bad default for meta view · cf21c9ee
      Maciej Stachowiak authored
      	names) and #631 (nead oaf query to determine metaviews).
      	* libnautilus-extensions/nautilus-view-identifier.h,
      	(nautilus_view_identifier_new, get_lang_list,
      	nautilus_view_identifier_free): Moved NautilusViewIdentifier code
      	here from ntl-uri-map.[ch].
      	(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
      	(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
      	* 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,
      	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_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_set_content_view, nautilus_window_add_meta_view,
      	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,
      	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_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/history/ntl-history-view.oafinfo: Updated to include
      	latest Nautilus attributes.
  2. 19 May, 2000 1 commit
    • John Sullivan's avatar
      Finished task 598 (Command button layout should account · 68aacef7
      John Sullivan authored
      	for window height)
      	* libnautilus-extensions/nautilus-keep-last-vertical-box.h,
      	* libnautilus-extensions/nautilus-keep-last-vertical-box.c:
      	New files, subclass of GtkVBox that truncates contents to
      	fit, except last item which is always kept. (GtkVBox in the
      	same situation just merrily places its child widgets outside
      	of its allocation.)
      	* libnautilus-extensions/Makefile.am: Build the new files.
      	* src/ntl-index-panel.c:
      	(make_button_box): Use NautilusKeepLastVerticalBox so only
      	as many command buttons appear as fit, and the "Open with ..."
      	button always appears; also embed this box in a GtkHBox to
      	get horizontal sizing the way we want it.
      	(add_command_buttons): Add (not yet active) "Open with ..."
      	(nautilus_index_panel_update_buttons): Throw away the
      	GtkHBox containing the button box instead of the button
      	box itself.
  3. 16 May, 2000 1 commit
    • 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_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),
      	* libnautilus-extensions/nautilus-directory-metafile.h:
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory.c:
      	* 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.
  4. 12 May, 2000 1 commit
    • Darin Adler's avatar
      Removed the fsextension IDL, which was a work in progress that no one is · 055c1e52
      Darin Adler authored
      	* 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),
      	(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.
  5. 11 May, 2000 2 commits
    • 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>
    • Gene Z. Ragan's avatar
      *libnautilus/nautilus-undo-manager-component.idl · a0691399
      Gene Z. Ragan authored
      2000-05-10  Gene Z. Ragan  <gzr@eazel.com>
      	Moved files to libnautilus so IDL comiplation would work properly
      	and at the suggestion of mjs.
      	Removed undo files.
      	Added undo files.
      	Additional fixes so a clean build would occuer properly.
  6. 06 May, 2000 1 commit
    • Gene Z. Ragan's avatar
      New IDL file describing CORBA interface to the undo manager. · 3324b79c
      Gene Z. Ragan authored
      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:
      	CORBA/Bonobo functions to access undo manager features.
      	* libnautilus-extensions/nautilus-undo-manager.h:
      	* src/file-manager/fm-list-view.c
      	(fm_list_view_merge_menus), (fm_list_view_update_menus),
      	Began the task of
      	* src/ntl-main.c
      	Removed intialization of undo manager from main,
      	* src/ntl-app.c
      	Moved initialization of undo manager. A reference to the undo manager
      	is saved for easy access from components.
  7. 28 Apr, 2000 2 commits
    • Ramiro Estrugo's avatar
      Add missing .h files to SOURCES. · cdf5affc
      Ramiro Estrugo authored
    • 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
      	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.
  8. 27 Apr, 2000 1 commit
  9. 26 Apr, 2000 2 commits
  10. 25 Apr, 2000 1 commit
    • Darin Adler's avatar
      Spacing tweak. · b8a4a282
      Darin Adler authored
      	* components/music/nautilus-music-view.c
      	(nautilus_music_view_update_from_uri): Spacing tweak.
      	* libnautilus-extensions/Makefile.am:
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory.c:
      	* libnautilus-extensions/nautilus-directory-async.c:
      	* libnautilus-extensions/nautilus-file.c:
      	Moved half of nautilus-directory.c into a new file as a first step
      	in cleaning up the state machine a bit.
  11. 19 Apr, 2000 1 commit
    • Maciej Stachowiak's avatar
      OAF conversion. You must now build bonobo and gnome-vfs with --enable-oaf · f6e6b471
      Maciej Stachowiak authored
      	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/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/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/websearch/ntl-web-search.c: Convert to OAF; use OAFIIDs
      	and oaf intialization functions.
      	* src/nautilus.oafinfo, components/help/hyperbola.oafinfo,
      	components/mozilla/nautilus-mozilla-content-view.oafinfo: New OAF
      	activation records.
      	* src/nautilus.goad, components/help/hyperbola.goad,
      	components/mozilla/nautilus-mozilla-content-view.goad: Removed.
  12. 18 Apr, 2000 2 commits
    • Andy Hertzfeld's avatar
      better abstraction for new, xml-based link files, plus added some objects · 9f1eccb9
      Andy Hertzfeld authored
             better abstraction for new, xml-based link files, plus added
             some objects for the novice home directory
    • Pavel Cisler's avatar
      This checkin requires new gnome-vfs. · a49e9119
      Pavel Cisler authored
      2000-04-17  Pavel Cisler  <pavel@eazel.com>
      	This checkin requires new gnome-vfs.
      	Plumbing for making copied/moved/deleted files show up update
      	in their respective new locations.
      	* libnautilus-extensions/nautilus-file-changes-queue.h
      	* libnautilus-extensions/nautilus-file-changes-queue.c
      	* libnautilus-extensions/Makefile.am
      	Shared queue used by the copy engine to send update notification
      	requests to NautilusDirectory during file copy/move/delete operations.
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory.c:
      	Stub calls that will be hooked up to the NautilusDirectory
      	notification calls to dispatch the notification updates.
      	* src/file-manager/dfos-xfer.c:
      	New callback that gets called in the async copy engine context
      	and produces change entries stuffing them into the file changes
      	* src/file-manager/dfos-xfer.c:
      	Added calls to the new nautilus_file_changes_consume_changes
      	from the progress update callback. This callback is called in
      	the user interface context and consumes the change entries
      	from the file changes queue, sending them in chunks to be
      	dispatched by to the individual Nautilus directory objects.
      	* src/file-manager/dfos-xfer.c:
      	Updated to use new progress enum values.
      	* src/file-manager/dfos-xfer.c:
      	Renamed from sync_xfer_callback.
      	* src/file-manager/dfos-xfer.c:
      	Pass in new sync_xfer_callback parameters.
  13. 17 Apr, 2000 2 commits
    • 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
      	(nautilus_icon_canvas_item_initialize_class):  Function now check for both
      	(nautilus_icon_canvas_item_destroy):  Both editable_text and
      	additonal_text are freed.
      	(nautilus_icon_canvas_item_set_arg):  Removed ARG_TEXT and added
      	(nautilus_icon_canvas_item_get_arg): Removed ARG_TEXT and added
      	(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
      	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.
    • John Sullivan's avatar
      Fixed bugs, mostly related to editable text fields. · c4002e6e
      John Sullivan authored
      	* README: Made the contents of this file slightly helpful.
      	* data/mime/nautilus.keys: Added an obscure MIME type that
      	someone reported running into.
      	* libnautilus-extensions/nautilus-entry.h,
      	* libnautilus-extensions/nautilus-entry.c: New files. Define a
      	subclass of GtkEntry (one-line text editing field) that fixes
      	bugs and adds convenience functions.
      	(nautilus_entry_key_press): Override key_press handler to treat
      	the keypad Enter key the same as the other Enter key (in GtkEntry
      	it inserts a "/r" into the text).
      	(nautilus_entry_select_all): Select all text, and move the text
      	cursor position to the end.
      	(nautilus_entry_select_all_at_idle): Same, but do it at the next
      	idle opportunity. Useful since nautilus_entry_select_all won't
      	work right if called in a key_press signal handler.
      	* libnautilus-extensions/Makefile.am: Build these two new files.
      	* src/file-manager/fm-properties-window.c:
      	(name_field_activate): New function, updates file name and
      	selects all text.
      	(create_properties_window): Make name_field be a NautilusEntry.
      	This fixes half of bug 433 (Enter keys don't work properly in
      	properties window). Also attach to "activate" signal and update
      	name change then. This fixes other half of bug 433. Also start
      	with name field selected & focused. This fixes bug 432 (properties
      	window should appear with name text selected).
      	(name_field_update_to_match_file): Only update the displayed text
      	if the new name coming in is different. This was needed to make
      	select-all-on-activate work.
      	(name_field_done_editing): Don't accept empty string as name;
      	silently revert back to original name.
      	* src/nautilus-bookmarks-window.c:
      	(create_bookmarks_window): Change name & uri text fields to
      	NautilusEntry; this causes keypad Enter key to behave like other
      	Enter key. Also connect to focus_in and activate signals.
      	(update_bookmark_from_text): New function, extracted from
      	(on_text_field_focus_out_event): Deselect all text after updating
      	(on_text_field_focus_in_event): New function, select all text.
      	(name_or_uri_field_activate): New function, update bookmark and
      	select all text.
      	* src/nautilus-location-bar.c:
      	(nautilus_location_bar_initialize): Use NautilusEntry instead of
      	GtkEntry. This makes keypad Enter act like other Enter in uri-entry
      	* src/ntl-window-msgs.c:
      	(nautilus_window_end_location_change_callback): Make "Nautilus can't
      	handle this type of file" message mention (human-readable version of)
      	file type.
  14. 14 Apr, 2000 3 commits
    • Darin Adler's avatar
      Finished task 174 (Use deferred calculation to compute directory counts). · 01a32030
      Darin Adler authored
      	Finished task 174 (Use deferred calculation to compute directory
      	* libnautilus-extensions/Makefile.am:
      	* libnautilus-extensions/nautilus-file-attributes.h:
      	Added a header file for names of file attributes.
      	* libnautilus-extensions/nautilus-directory-private.h:
      	* libnautilus-extensions/nautilus-directory.c:
      	* libnautilus-extensions/nautilus-directory.h:
      	* libnautilus-extensions/nautilus-file-private.h:
      	* libnautilus-extensions/nautilus-file.c:
      	* libnautilus-extensions/nautilus-file.h:
      	Added background computation of the "directory item count"
      	attribute. This is serving as a test case for the API for
      	requesting additional information.
      	* src/file-manager/fm-directory-view.c:
      	(display_selection_info): Changed to use the new interface that
      	can sometimes return "I don't know" for the number of items in
      	a particular directory.
      	(stop_load), (done_loading), (display_pending_files),
      	(fm_directory_view_stop): Fixed a mistake in the old code where
      	we stopped monitoring once the files were discovered. We need to
      	keep monitoring.
      	(finish_loading_uri): Pass in an attribute that we want to monitor:
    • Ramiro Estrugo's avatar
      Split libnautilus into two pieces. · 09b3bf22
      Ramiro Estrugo authored
      libnautilus now only contains the view interfaces needed by nautilus
      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.
    • Ramiro Estrugo's avatar
  15. 05 Apr, 2000 1 commit
    • Darin Adler's avatar
      Improved the background handling code so more is shared. · e4d81832
      Darin Adler authored
      	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
      	(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
      	(nautilus_directory_set_metadata): Emit the "metadata_changed"
      	* libnautilus/nautilus-file.c:
      	(nautilus_file_ref), (nautilus_file_unref): Made these
      	functions quietly do nothing for NULL. This simplifies life for
      	* 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:
      	* src/nautilus-index-title.c: (nautilus_index_title_update_info):
      	* src/ntl-index-panel: (nautilus_index_panel_update_info),
      	* src/ntl-uri-map.c: (set_initial_content_iid),
      	* 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),
      	* 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),
      	* 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.
  16. 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.
      	(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_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.
  17. 25 Mar, 2000 1 commit
  18. 22 Mar, 2000 1 commit
    • Darin Adler's avatar
      Did some of the items from RENAMING. · 1764f212
      Darin Adler authored
      	* 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.
  19. 17 Mar, 2000 1 commit
    • Pavel Cisler's avatar
      First pass on making list column resizing live. · 53aa5a63
      Pavel Cisler authored
      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
  20. 16 Mar, 2000 3 commits
    • Darin Adler's avatar
      Did some of the renamings that were queued in RENAMING. · 8efa4d71
      Darin Adler authored
      	* 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.
    • John Sullivan's avatar
    • Darin Adler's avatar
      Tell people about the gnome-xml branch. · ee495dba
      Darin Adler authored
      	* 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.
  21. 15 Mar, 2000 1 commit
    • Darin Adler's avatar
      A quick cleanup of how we use gnome-xml. · b84f3f1d
      Darin Adler authored
      	* libnautilus/Makefile.am:
      	* libnautilus/nautilus-xml-extensions.c:
      	* libnautilus/nautilus-xml-extensions.h:
      	Added some new gnome-xml helper functions.
      	* libnautilus/nautilus-directory.c:
      	* libnautilus/nautilus-file.c:
      	* libnautilus/nautilus-icon-factory.c:
      	* src/nautilus-bookmarklist.c:
      	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
      	* src/nautilus-bookmarklist.c:
      	General cleanup.
  22. 12 Mar, 2000 2 commits
  23. 11 Mar, 2000 1 commit
    • Darin Adler's avatar
      Fixed typo that broke all hit testing except for rubber band selection! · 374870d5
      Darin Adler authored
      	* libnautilus/nautilus-icons-view-icon-item.c
      	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),
      	gnome_icon_container_initialize_class, gnome_icon_container_new,
      	update_icon, gnome_icon_container_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
      	* libnautilus/nautilus-gtk-extensions.h,
      	src/file-manager/fm-directory-view.c: Add new signal marshal
      	functions as needed and changed the name of one of the old
      	* libnautilus/Makefile.am,
      	src/file-manager/fm-icons-controller.c: Removed the old controller
      	object, it was a bad idea.
  24. 10 Mar, 2000 1 commit
    • Darin Adler's avatar
      Fixed rubber banding to hit test with all the parts of the icon, not just · bddcc07d
      Darin Adler authored
      	* libnautilus/Makefile.am, libnautilus/gnome-icon-container-dnd.c
      	  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,
      	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.
  25. 09 Mar, 2000 1 commit
  26. 08 Mar, 2000 1 commit
    • Darin Adler's avatar
      Broke the file part of nautilus-directory.[ch] into nautilus-file.[ch]. · 6ba4e1e5
      Darin Adler authored
      	* components/music/nautilus-music-view.c,
      	components/notes/ntl-notes.c, libnautilus/Makefile.am,
      	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
      	* libnautilus/nautilus-string.c (nautilus_strstrip): Added more
      	tests. Changed algorithm on strstrip so it's linear instead of
      	* 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-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-icon-text-window.c: A little cleanup. Shorter
  27. 03 Mar, 2000 1 commit
    • Jonathan Blandford's avatar
      added libpng to Makefile.am · d5c646e8
      Jonathan Blandford authored
      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.
  28. 24 Feb, 2000 1 commit
    • Maciej Stachowiak's avatar
      Added Nautilus::Zoomable and Nautilus::ZoomableFrame interfaces. New files · 839744da
      Maciej Stachowiak authored
      	* 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.
  29. 18 Feb, 2000 1 commit