1. 26 Jan, 2000 1 commit
  2. 25 Jan, 2000 4 commits
  3. 24 Jan, 2000 1 commit
    • Darin Adler's avatar
      Added a controller object that lets GnomeIconContainer · c8853690
      Darin Adler authored
      	ask questions and perform actions, even though only the
      	FMDirectoryViewIcons knows how to answer the questions
      	and perform the actions.
      
      	Replaced use of nautilus_file_get_info with specific
      	accessors for various file info.
      
      	* libnautilus/Makefile.am:
      	libnautilus/nautilus-icons-controller.h:
      	libnautilus/nautilus-icons-controller.c:
      	libnautilus/gnome-icon-container-private.h:
      	libnautilus/gnome-icon-container.h:
      	libnautilus/gnome-icon-container.c:
      	(icon_new_pixbuf):
      	(gnome_icon_container_new):
      	(gnome_icon_container_add):
      	(gnome_icon_container_add_auto):
      	Added NautilusIconsController, an interface provided so that the
      	file manager can connect the icons up with the file code. This is
      	all so we can keep the view/controller separation. This eliminates
      	the need to pass around the icon name all the time, so the signals
      	have changed to not take the icon name as a parameter.
      
      	* src/file-manager/Makefile.am:
      	src/file-manager/fm-icons-controller.c:
      	src/file-manager/fm-icons-controller.h:
      	Added FMIconsController, the actual controller used by the file
      	manager instance of GnomeIconContainer.
      	src/file-manager/fm-directory-view-icons.c:
      	(create_icon_container):
      	(add_icon_if_already_positioned):
      	(add_icon_at_free_position):
      	(icon_container_activate_cb):
      	(fm_directory_view_icons_icon_moved_cb):
      	Create and use the FMIconController.
      
      	* libnautilus/gnome-icon-container-private.h:
      	libnautilus/gnome-icon-container-dnd.c:
      	(set_gnome_icon_list_selection):
      	(set_uri_list_selection):
      	libnautilus/gnome-icon-container.c:
      	(gnome_icon_container_set_base_uri):
      	src/file-manager/fm-directory-view-icons.c:
      	(set_up_base_uri):
      	(fm_directory_view_icons_begin_loading):
      	Get rid of the old base_uri technique for handling drags. Instead
      	the icon controller supplies URIs for icons when requested.
      
      	* RENAMING: Proposed that we use NautilusIconsView as the new name
      	for GnomeIconContainer instead of NautilusIconContainer.
      
      	* libnautilus/gnome-icon-container-private.h:
      	libnautilus/gnome-icon-container.h:
      	libnautilus/gnome-icon-container.c:
      	(gnome_icon_container_initialize):
      	(handle_icon_enter_notify):
      	(handle_icon_leave_notify):
      	Renamed browser mode to linger selection mode.
      
      	* libnautilus/gnome-icon-container-private.h:
      	libnautilus/gnome-icon-container.h:
      	libnautilus/gnome-icon-container.c:
      	(icon_configure):
      	(icon_position):
      	(change_icon_mode):
      	(gnome_icon_container_initialize):
      	(gnome_icon_container_set_icon_mode):
      	(gnome_icon_container_get_icon_mode):
      	src/file-manager/fm-directory-view-icons.c:
      	(fm_directory_view_icons_initialize):
      	Got rid of icon mode, since we won't be using it.
      
      	* libnautilus/gnome-icon-container-dnd.c:
      	(get_gnome_icon_list_selection):
      	Changed geometry parsing so it will not ignore extra characters
      	after the numeric geometry.
      	(gnome_icon_container_receive_dropped_icons):
      	The code here tried to work when dragging icons between windows,
      	but the implementation was actually only good within the same
      	window, so I modified it to check for that case.
      
      	* libnautilus/gnome-icon-container-dnd.c:
      	(create_selection_shadow):
      	(set_gnome_icon_list_selection):
      	libnautilus/gnome-icon-container.c:
      	(icon_position):
      	Renamed GNOME_ICON_CONTAINER_ICON_XOFFSET to
      	GNOME_ICON_CONTAINER_ICON_X_OFFSET and
      	GNOME_ICON_CONTAINER_ICON_YOFFSET to
      	GNOME_ICON_CONTAINER_ICON_Y_OFFSET. We use an underscore between
      	words in identifiers.
      
      	* libnautilus/gnome-icon-container.c:
      	(destroy):
      	Added code to remove timeouts and idles when the container is
      	destroyed.
      
      	* libnautilus/nautilus-directory.h:
      	libnautilus/nautilus-directory.c:
      	(nautilus_file_get_info):
      	Get rid of the direct call to get GnomeVFSFileInfo. All info is
      	accessed through individual functions.
      	(nautilus_file_get_size):
      	(nautilus_file_get_type):
      	(nautilus_file_get_mime_type):
      	(nautilus_file_is_executable):
      	(nautilus_file_is_symbolic_link):
      	Added new accessor functions as needed.
      	src/file-manager/fm-directory-view.c:
      	(display_selection_info):
      	src/file-manager/fm-icon-cache.c:
      	(fm_icon_cache_get_icon_set_for_file):
      	(fm_icon_cache_get_icon_for_file):
      	Change code to use the accessors instead of get_info.
      
      	* libnautilus/nautilus-gtk-macros.h:
      	(NAUTILUS_ASSIGN_MUST_OVERRIDE_SIGNAL):
      	Changed macro to take a class pointer of the right type instead
      	of taking both a casting macro name and a class pointer.
      	src/file-manager/fm-directory-view.c:
      	(fm_directory_view_initialize_class):
      	Changed existing uses of macro to match.
      
      	* src/file-manager/Makefile.am:
      	src/file-manager/fm-icon-cache.c:
      	src/file-manager/fm-default-file-icon.h:
      	src/file-manager/fm-default-file-icon.c:
      	Moved the default icon into its own file.
      c8853690
  4. 22 Jan, 2000 1 commit
  5. 21 Jan, 2000 2 commits
    • John Sullivan's avatar
      Make icons appear in list view. · e73d8421
      John Sullivan authored
      e73d8421
    • Darin Adler's avatar
      Started some cleanup of the icon view. · 49f7a162
      Darin Adler authored
      	* libnautilus/Makefile.am:
      	libnautilus/gnome-icon-container-layout.c:
      	libnautilus/gnome-icon-container-layout.h:
      	libnautilus/gnome-icon-container.c:
      	libnautilus/gnome-icon-container.h:
      	src/file-manager/fm-directory-view-icons.c:
      	src/file-manager/fm-directory-view-icons.h:
      	Got rid of the GnomeIconContainerLayout.
      	This was the old mechanism for saving and loading
      	icon positions and we have a better signal-based one.
      	Also made the new mechanism work more the way that
      	Ettore had intended to make the layout work, where
      	all the icons that have preassigned positions get
      	positioned first, then the ones that are auto positioned.
      	In the long run, we'll need something a bit fancier.
      
      	* libnautilus/gnome-icon-container-dnd.c:
      	libnautilus/gnome-icon-container.c:
      	libnautilus/gnome-icon-container.h:
      	libnautilus/gnome-icon-container-private.h:
      	Change the priv pointer to be named details to match
      	what we use in other places in Nautilus.
      49f7a162
  6. 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
      The list view now has a background color just like the · 72acf48f
      Darin Adler authored
      	icon view does. Some more code could be saved, but that's
      	a refactoring for another time.
      
      	* libnautilus/gtkflist.c: Added support for receiving dragged
      	colors to set the background of the list.
      
      	* src/file-manager/fm-directory-view-list.c:
      	(fm_directory_view_list_initialize_class):
      	(fm_directory_view_list_clear):
      	(fm_directory_view_list_background_changed_cb): Added code to load
      	and save the background color from metadata.
      
      	* libnautilus/nautilus-background.c: Put the background color in
      	all the bg and base colors in the style instead of putting it only
      	in bg[GTK_STATE_NORMAL].
      
      	* libnautilus/nautilus-gtk-macros.h:
      	(NAUTILUS_DEFINE_CLASS_BOILERPLATE): Make sure that the macro only
      	evaluates the parent_class_type argument once, like it says in the
      	comment. (NAUTILUS_CALL_PARENT_CLASS): Fix this macro so it can
      	be used in places where an expression is expected.
      
      	* RENAMING: Added this file to list name changes we are
      	planning for the future.
      
      	* libnautilus/gtkflist.h: libnautilus/gtkflist.c:
      	src/explorer-location-bar.h: src/explorer-location-bar.c:
      	Minimized includes.
      
      	* src/ntl-index-panel.c:
      	src/file-manager/fm-directory-view-icons.c: Fixed some comments
      	and formatting.
      72acf48f
  7. 19 Jan, 2000 2 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
      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
  8. 18 Jan, 2000 2 commits
    • 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
  9. 15 Jan, 2000 1 commit
  10. 14 Jan, 2000 1 commit
  11. 13 Jan, 2000 2 commits
  12. 12 Jan, 2000 1 commit
  13. 11 Jan, 2000 1 commit