1. 21 Jan, 2000 2 commits
    • Elliot Lee's avatar
      Allocate an extra byte in the buffer, for safety's sake. Fix back/fwd · dfc585b3
      Elliot Lee authored
      
      
      * libnautilus/nautilus-directory.c: Allocate an extra byte in the
        buffer, for safety's sake.
      * src/ntl-window-msgs.c: Fix back/fwd buttons.
      dfc585b3
    • Darin Adler's avatar
      Fixed double free that was causing lots of nasty errors in the file · 97ce483d
      Darin Adler authored
      	* src/file-manager/fm-directory-view.c:
      	(fm_directory_view_activate_entry):
      	Fixed double free that was causing lots of nasty errors in
      	the file manager.
      	(fm_directory_view_load_uri):
      	Made the old directory hang around a bit longer when loading
      	a new uri.
      	(display_selection_info):
      	(fm_directory_view_send_selection_change):
      	(display_selection_info_idle_cb):
      	Fixed a storage leak and broke out the selection change into
      	its own function instead of mixing it with the status line.
      	Also made the selection actually use URIs instead of just
      	names for the selected items.
      
      	* libnautilus/nautilus-directory.h:
      	libnautilus/nautilus-directory.c:
      	(nautilus_file_get_uri):
      	Added this function that gets a URI (rather than just a
      	leaf name).
      
      	* libnautilus/nautilus-directory.c:
      	(nautilus_directory_finalize):
      	(nautilus_self_check_directory):
      	Added more self checks and fixed a bug where a metadata
      	change would get lost if you delete the directory too soon
      	after making the change.
      97ce483d
  2. 20 Jan, 2000 2 commits
    • Darin Adler's avatar
      Store icon positions as "x,y" in ICON_POSITION instead of · f804c9ac
      Darin Adler authored
      	storing ICON_X and ICON_Y.
      
      	Take first step in moving the directory view to use the opaque
      	NautilusDirectory and NautilusFile instead of using gnome-vfs
      	directly. This will separate the controller from the model:
      	FMDirectoryView is a controller and NautilusDirectory a model.
      
      	* src/file-manager/fm-directory-view-icons.c:
      	(add_to_icon_container):
      	(fm_directory_view_icons_icon_moved_cb):
      	Store icons positions as "x,y" in ICON_POSITION instead of storing
      	separate numbers in ICON_X and ICON_Y.
      
      	* libnautilus/nautilus-directory.h:
      	libnautilus/nautilus-directory.c:
      	(nautilus_directory_get_uri):
      	Added a new call needed to replace fm_directory_view_get_uri.
      	(nautilus_directory_get_file_metadata):
      	(nautilus_directory_set_file_metadata):
      	(nautilus_file_get_metadata):
      	(nautilus_file_set_metadata):
      	Moved the calls for getting and setting file metadata into the
      	file objects.
      	(nautilus_directory_new_file):
      	(nautilus_file_get_info):
      	Added temporary interfaces for the current situation where we're
      	dealing with both NautilusFile and GnomeVFSFileInfo objects at
      	once.
      	(nautilus_directory_finalize):
      	Detach and unref all the files when the directory is destroyed.
      	(nautilus_file_unref):
      	(nautilus_file_get_name):
      	Implemented these functions now that we are using them.
      
      	* src/file-manager/fm-directory-view.h:
      	src/file-manager/fm-directory-view.c:
      	(fm_directory_view_add_entry):
      	(fm_directory_view_activate_entry):
      	(display_selection_info):
      	(fm_directory_view_get_selection):
      	src/file-manager/fm-directory-view-icons.c:
      	(add_to_icon_container):
      	(fm_directory_view_icons_icon_moved_cb):
      	(dm_directory_view_icons_add_entry):
      	(fm_directory_view_icons_get_selection):
      	(icon_container_activate_cb):
      	src/file-manager/fm-directory-view-list.c:
      	(add_to_flist):
      	(fm_directory_view_list_add_entry):
      	Change all the code to work with NautilusFile instead of
      	GnomeVFSFileInfo, except for the parts of FMDirectoryView dealing
      	with the directory_list.
      
      	* src/file-manager/fm-directory-view.h:
      	src/file-manager/fm-directory-view.c:
      	(nautilus_file_date_as_string):
      	(nautilus_file_size_as_string):
      	(nautilus_file_type_as_string):
      	libnautilus/nautilus-directory.h:
      	libnautilus/nautilus-directory.c:
      	(nautilus_file_get_date_as_string):
      	(nautilus_file_get_size_as_string):
      	(nautilus_file_get_type_as_string):
      	Moved and renamed these functions and made them work on
      	NautilusFile objects.
      f804c9ac
    • Darin Adler's avatar
      390272a3
  3. 19 Jan, 2000 3 commits
    • Darin Adler's avatar
      Icon positions are now written out when you drag an icon, · 771cbf47
      Darin Adler authored
      	and read in when you visit a directory. But the code then
      	immediately re-lays out the icons, so the position is lost!
      
      	* src/file-manager/fm-directory-view-icons.c:
      	(fm_directory_view_icons_icon_moved_cb):
      	(fm_directory_view_icons_initialize): (add_container_icon): Save
      	icon position when an icon is moved. Get icon position when an
      	icon is first created.
      
      	* libnautilus/nautilus-directory.c:
      	(nautilus_directory_get_metadata_from_node):
      	(nautilus_directory_get_metadata):
      	(nautilus_directory_create_metafile_tree_root):
      	(nautilus_directory_get_metadata):
      	(nautilus_directory_set_metadata):
      	(nautilus_directory_get_file_metadata):
      	(nautilus_directory_set_file_metadata): Added the routines to get
      	and set metadata for individual files.
      
      	* libnautilus/nautilus-string.h: libnautilus/nautilus-string.c:
      	(nautilus_eat_strcmp): (nautilus_string_to_int):
      	(nautilus_eat_string_to_int): Made new string functions that free
      	the existing strings, and a function to convert an int to a
      	string.
      
      	* libnautilus/gnome-icon-container.h:
      	libnautilus/gnome-icon-container.c: (move_icon): (class_init):
      	(handle_icon_button_press): Added context_click_background and
      	icon_moved signals, and renamed context_click to
      	context_click_icon.
      
      	* configure.in: Turned -Wunused back on. I had to turn -W off,
      	but I think it's worth it.
      771cbf47
    • Darin Adler's avatar
      After Andy explained his change to me, I realized that it would always · edb4ab4e
      Darin Adler authored
      	* libnautilus/nautilus-directory.c: (nautilus_directory_finalize):
      	(nautilus_directory_try_to_read_metafile):
      	(nautilus_directory_read_metafile):
      	(nautilus_directory_try_to_write_metafile):
      	(nautilus_directory_write_metafile):
      	(nautilus_directory_construct_alternate_metafile_uri):
      	(nautilus_directory_new): After Andy explained his change to me, I
      	realized that it would always write the metafile in the alternate
      	place if there was no pre-existing metafile. So I changed the
      	logic. The new rule is: read the metafile from the alternate
      	location first. If we find it there, write it back
      	there. Otherwise, try to write in the directory itself. If that
      	fails, write it in the alternate location instead.
      
      	* libnautilus/nautilus-directory.c:
      	(nautilus_directory_get_metadata): Allow get_metadata on a NULL
      	NautilusDirectory and return NULL for data.
      edb4ab4e
    • Darin Adler's avatar
      Allow changing the background of the icon view by dropping colors · 4dc286da
      Darin Adler authored
      	on the icon view.
      
      	* libnautilus/gnome-icon-container-dnd.h:
      	libnautilus/gnome-icon-container-dnd.c:
      	(gnome_icon_container_position_shadow): (drag_data_received_cb):
      	(gnome_icon_container_ensure_drag_data): (drag_motion_cb):
      	(drag_drop_cb): (gnome_icon_container_receive_dropped_icons):
      	(gnome_icon_container_free_drag_data): (drag_leave_cb): Added
      	support for receiving dropped colors to change the background of a
      	GnomeIconContainer.
      
      	* src/file-manager/fm-directory-view-icons.c:
      	(fm_directory_view_icons_initialize_class):
      	(fm_directory_view_icons_clear):
      	(fm_directory_view_icons_background_changed_cb): Added code to
      	load and save the background color from metadata.
      
      	* libnautilus/gdk-extensions.c: (nautilus_gradient_new): Changed
      	nautilus_gradient_new to handle NULLs in the same way that the
      	rest of the gradient functions do instead of NULL being an illegal
      	input value.
      
      	* src/file-manager/fm-directory-view.h:
      	src/file-manager/fm-directory-view.c:
      	(fm_directory_view_initialize): (fm_directory_view_destroy):
      	(fm_directory_view_get_model): (fm_directory_view_load_uri): Added
      	a NautilusDirectory object to each directory view, accessed by
      	subclasses with a call to fm_directory_view_get_model.
      
      	* libnautilus/nautilus-gtk-extensions.h:
      	libnautilus/nautilus-gtk-extensions.c:
      	(gnome_icon_container_dropped_icon_feedback):
      	(nautilus_gdk_selection_data_copy_deep): Added deep versions of
      	these GtkSelectionData functions.
      
      	* libnautilus/nautilus-gtk-macros.h:
      	(NAUTILUS_DEFINE_GET_TYPE_FUNCTION):
      	(NAUTILUS_DEFINE_CLASS_BOILERPLATE): Added definition and
      	initialization of the parent_class global to
      	NAUTILUS_DEFINE_GET_TYPE_FUNCTION and renamed it to
      	NAUTILUS_DEFINE_CLASS_BOILERPLATE.
      
      	* libnautilus/nautilus-background-canvas-group:
      	(nautilus_background_canvas_group_initialize_class):
      	libnautilus/nautilus-background.c:
      	(nautilus_background_initialize_class):
      	libnautilus/nautilus-directory.c:
      	(nautilus_directory_initialize_class): src/ntl-index-panel.c:
      	(nautilus_index_panel_initialize_class):
      	src/file-manager/fm-directory-view-icons.c:
      	(fm_directory_view_icons_initialize_class):
      	src/file-manager/fm-directory-view-list.c:
      	(fm_directory_view_list_initialize_class):
      	src/file-manager/fm-directory-view.c:
      	(fm_directory_view_initialize_class): Take advantage of the new
      	NAUTILUS_DEFINE_CLASS_BOILERPLATE and get rid of existing code to
      	set up parent_class.
      
      	* libnautilus/gnome-icon-container-dnd.h:
      	libnautilus/gnome-icon-container-dnd.c:
      	libnautilus/gnome-icon-container-layout.h:
      	libnautilus/gnome-icon-container-layout.c:
      	libnautilus/gnome-icon-container.c: Minimized includes.
      4dc286da
  4. 18 Jan, 2000 4 commits
    • Andy Hertzfeld's avatar
      made reading metafile from directory where we don't have write permissions · b0e9bb20
      Andy Hertzfeld authored
      
      
      	made reading metafile from directory where we don't have write
      	permissions work properly by looking in the common place on any error,
      	not just if we get ACCESS_DENIED
      b0e9bb20
    • Andy Hertzfeld's avatar
      *** empty log message *** · df3078be
      Andy Hertzfeld authored
      df3078be
    • Elliot Lee's avatar
      Since the prototypes for GtkObjectInitFunc and GtkClassInitFunc just have · b591e4c5
      Elliot Lee authored
      
      
      	* libnautilus/nautilus-gtk-macros.h: Since the prototypes for
      	GtkObjectInitFunc and GtkClassInitFunc just have a 'gpointer' for the args,
      	cast the given values to these function types, so that people can use the actual
      	pointer types as arguments without receiving a warning.
      
      	* src/ntl-index-panel.c: Change to match. Also set
      	object_klass->destroy & object_klass->finalize to point to our
      	implementation. Also remove unused variables
      	(nautilus_index_panel_initialize,
      	nautilus_index_panel_set_up_label).
      
      	* libnautilus/nautilus-background.c, src/ntl-window-msgs.c,
      	src/ntl-window.c, src/file-manager/fm-directory-icons.c: Remove
      	unused variables.
      
      	* src/ntl-window.h: Add a variable (unused) for future handling of content view loading.
      
      	* libnautilus/libnautilus.h: Add an interim g_alloca.
      
      	* libnautilus/nautilus-directory.c: Clean up a bit further, by
      	removing the need for another if(), and using g_alloca instead of
      	g_malloc.
      b591e4c5
    • Darin Adler's avatar
      Added first cut at code to put metafiles in the user's home directory if · 7e292ac0
      Darin Adler authored
      	* libnautilus/nautilus-directory.c:
      	(nautilus_directory_read_metafile):
      	(nautilus_directory_try_to_read_metafile):
      	(nautilus_directory_write_metafile):
      	(nautilus_directory_try_to_write_metafile):
      	(nautilus_directory_switch_to_alternate_metafile_uri):
      	(nautilus_directory_escape_slashes):
      	(nautilus_make_directory_and_parents): Added first cut at code to
      	put metafiles in the user's home directory if the directory is not
      	accessible and you can't read and write a metafile in the
      	directory itself. We'll have to refine this later to handle cases
      	where you end up with two metafiles.
      
      	* libnautilus/Makefile.am: libnautilus/nautilus-debug.h:
      	libnautilus/nautilus-debug.c: Took trick for getting into the
      	debugger and put it into a public header file so it can be used
      	outside of the nautilus executable.
      
      	* src/ntl-main.c: (stop_in_debugger):
      	(nautilus_stop_after_default_log_handler): (main): Use the new
      	calls from libnautilus to set up the drop into debugger for
      	criticals and warnings.
      
      	* src/file-manager/fm-main.c: (main): Minimized includes and used
      	the new calls from libnautilus to set up the drop into debugger
      	for criticals and warnings.
      
      	* src/ntl-uri-map.c: (nautilus_navinfo_add_mapping):
      	src/ntl-window.c: (nautilus_window_constructed):
      	src/file-manager/fm-directory-view.c:
      	(fm_directory_view_initialize): (fm_directory_view_destroy):
      	(notify_location_change_cb): (stop_location_change_cb):
      	(fm_directory_view_sort): Removed some messages that aren't so
      	useful.
      
      	* libnautilus/ntl-view-frame.h: Minimized includes.
      	* libnautilus/ntl-view-frame.c: Include "ntl-view-frame.h" first
      	so it tests to see that it has sufficient includes in it.
      
      	* src/ntl-view.c: (nautilus_view_load_client): Changed function so
      	that NULL for an iid is allowed and simply results in a failed
      	load instead of being illegal.
      
      	* src/ntl-window-msgs.c:
      	(nautilus_window_change_location_internal): src/ntl-window.c:
      	(nautilus_window_up): Got rid of calls to gnome_vfs_uri_destroy;
      	use gnome_vfs_uri_unref instead since it's safer and Federico is
      	getting rid of gnome_vfs_uri_destroy.
      
      	* src/file-manager/fm-directory-view-icons.h:
      	src/file-manager/fm-directory-view-icons.c:
      	(fm_directory_view_icons_new):
      	src/file-manager/fm-directory-view-list.h:
      	src/file-manager/fm-directory-view-list.c:
      	(fm_directory_view_list_new):
      	src/file-manager/fm-directory-view.h:
      	src/file-manager/fm-directory-view.c: (fm_directory_view_new):
      	Minimized includes and got rid of the unused _new functions.
      
      	* libnautilus/nautilus-directory.h: Added a missing 2000 copyright
      	date.
      7e292ac0
  5. 14 Jan, 2000 1 commit