Commit Graph

13 Commits

Author SHA1 Message Date
Federico Mena Quintero
385bd6a54e Add gboolean return values and GError arguments to ::set_current_folder()
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserIface): Add
	gboolean return values and GError arguments to
	::set_current_folder() and ::select_path().

	* gtk/gtkfilechooser.c (gtk_file_chooser_set_current_folder):
	Return a boolean value for success/failure.
	(gtk_file_chooser_set_current_folder_uri): Likewise.
	(gtk_file_chooser_select_filename): Likewise.
	(gtk_file_chooser_select_uri): Likewise.
	(gtk_file_chooser_set_filename): Likewise.
	(gtk_file_chooser_set_uri): Likewise.
	(_gtk_file_chooser_set_current_folder_path): Likewise, plus take
	in a GError.
	(_gtk_file_chooser_select_path): Likewise.

	* gtk/gtkfilechooserutils.c (delegate_set_current_folder):
	Likewise.
	(delegate_select_path): Likewise.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_select_path): Likewise.
	(gtk_file_chooser_default_set_current_folder): Likewise.
	(error_changing_folder_dialog): New helper function.
	(change_folder_and_display_error): New helper function.
	(switch_to_selected_folder): Use change_folder_and_display_error().
	(tree_selection_changed): Likewise.
	(shortcuts_activate_volume): Likewise.
	(shortcuts_activate_item): Likewise.
	(list_row_activated): Likewise.
	(path_bar_clicked): Likewise.
	(update_from_entry): Likewise.
	(up_folder_handler): Likewise.
	(home_folder_handler): Get the home path from the shortcuts model,
	and use change_folder_and_display_error().

	* tests/testfilechooser.c (set_current_folder): New helper
	function; pops up a simple error dialog if necessary.
	(set_filename): Likewise.
	(set_folder_nonexistent_cb): Use set_current_folder().
	(set_folder_existing_nonexistent_cb): Likewise.
	(set_filename_nonexistent_cb): Use set_filename().
	(set_filename_existing_nonexistent_cb): Likewise.
2004-03-05 20:47:05 +00:00
Federico Mena Quintero
17e840f79c Handle GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL.
2004-02-29  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_set_property): Handle
	GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL.
	(gtk_file_chooser_default_get_property): Likewise.
	(struct _GtkFileChooserDefault): Added fields for preview_label,
	use_preview_label, preview_display_name, preview_box.  Removed
	preview_frame.
	(set_preview_widget): Reorder the widget in relation to the label.
	(update_preview_widget_visibility): Create or destroy the preview
	label.
	(check_preview_change): Update impl->preview_display_name and the
	label.
	(find_good_size_from_style): Use the preview_box.
	(gtk_file_chooser_default_finalize): Free
	impl->preview_display_name.
	(gtk_file_chooser_default_init): Initialize
	impl->use_preview_label.

	* gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add a
	"use-preview-label" property.
	(gtk_file_chooser_set_use_preview_label): New function.  This sets
	whether one wants the file chooser to display a stock label with
	the previewed filename.  Apps that do really fancy previews can
	turn this off and draw the name themselves.
	(gtk_file_chooser_get_use_preview_label): New function.
	(gtk_file_chooser_get_preview_widget_active): Documentation fix.

	* gtk/gtkfilechooserutils.h (GtkFileChooserProp): Add a
	GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL value.

	* gtk/gtkfilechooserutils.c
	(_gtk_file_chooser_install_properties): Override the
	"use-preview-label" property.
2004-02-29 06:35:15 +00:00
Jonathan Blandford
d40eda7e87 Add two more folder modes to the enum.
Thu Feb 26 18:25:57 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkfilechooser.h (GtkFileChooserAction): Add two more folder
        modes to the enum.

        * gtk/gtkfilechooser.c (gtk_file_chooser_set_folder_mode): Remove.
        (gtk_file_chooser_get_folder_mode): Remove
2004-02-26 23:35:05 +00:00
Matthias Clasen
f7357a7007 Fix parameter name mismatches which confuse gtk-doc.
Sun Nov 16 00:35:29 2003  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkfilechooser.[hc]:
	* gtk/gtkentrycompletion.h: Fix parameter name mismatches which
	confuse gtk-doc.

Sun Nov 16 00:41:48 2003  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtk-sections.txt: Remove gtk_tool_item_[sg]et_pack_end.

Sun Nov 16 00:32:18 2003  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtk-sections.txt: Move GtkFileChooser out of the
	private section, in order to get the autogenerated docs
	on hierarchy, signals, properties, etc.
2003-11-15 23:44:33 +00:00
Federico Mena Quintero
b49a5ec5b4 Removed. (gtk_file_system_gnome_vfs_set_bookmarks): Removed.
2003-10-17  Federico Mena Quintero  <federico@ximian.com>

	* gtkfilesystemgnomevfs.c
	(gtk_file_system_gnome_vfs_get_supports_bookmarks): Removed.
	(gtk_file_system_gnome_vfs_set_bookmarks): Removed.
	(gtk_file_system_gnome_vfs_add_bookmark): Implement.
	(gtk_file_system_gnome_vfs_remove_bookmark): Implement.

	* gtkfilechooserprivate.h (struct _GtkFileChooserIface): Replaced
	the ::set_shortcut_folders() method with :;add_shortcut_folder()
	and ::remove_shortcut_folder().

	* gtkfilechooserutils.c (delegate_add_shortcut_folder): New function.
	(delegate_remove_shortcut_folder): New function.
	(delegate_list_shortcut_folders): New function.

	* gtkfilechooserimpldefault.c (create_shortcuts_model): Insert the
	Desktop directory as well.
	(shortcuts_insert_path): Renamed from shortcuts_append_path; now
	takes a position index instead of a parent node iter.  Also takes
	a GError argument.
	(struct _GtkFileChooserImplDefault): Removed the shortcuts_folder
	list.  It is all kept in the model now.
	(shortcuts_append_home): Save whether adding a shortcut for the
	home directory was successful.
	(shortcuts_append_desktop): Likewise for the desktop.
	(shortcuts_append_file_system_roots): Count and save the number of
	roots added.
	(shortcuts_append_shortcut_folders): Removed.
	(gtk_file_chooser_impl_default_add_shortcut_folder): Implement.
	(shortcuts_append_bookmarks): Now that we don't have a bookmarks
	parent node, don't expand the tree.
	(add_bookmark_button_clicked_cb): Use gtk_file_system_add_bookmark().
	(remove_bookmark_button_clicked_cb): Use gtk_file_system_remove_bookmark().
	(gtk_file_chooser_impl_default_list_shortcut_folders): Get the
	folders from the shortcuts model; we no longer keep a separate list.

	* gtkfilesystem.h (struct _GtkFileSystemIface): Oops, there
	shouldn't be shortcuts-related virtual methods here.

	* gtkfilechooser.c (file_paths_to_strings): New helper function.
	(gtk_file_chooser_get_filenames): Use file_paths_to_strings().
	(gtk_file_chooser_get_uris): Likewise.
	(gtk_file_chooser_set_shortcut_folders): Removed.
	(gtk_file_chooser_list_shortcut_folders): Return a list of
	strings, not of GtkFilePath*.
	(gtk_file_chooser_list_shortcut_folder_uris): New function.
	(gtk_file_chooser_add_shortcut_folder): New function.
	(gtk_file_chooser_remove_shortcut_folder): New function.
	(gtk_file_chooser_add_shortcut_folder_uri): New function.
	(gtk_file_chooser_remove_shortcut_folder_uri): New function.
	(_gtk_file_chooser_add_shortcut_folder): New function.
	(_gtk_file_chooser_remove_shortcut_folder): New function.

	* gtkfilechooser.h: New enum.

	* gtkfilechooser.c (gtk_file_chooser_error_quark): New function.

	* gtkfilesystem.c (gtk_file_system_get_supports_bookmarks): Removed.
	(gtk_file_system_set_bookmarks): Removed.
	(gtk_file_system_add_bookmark): New function.
	(gtk_file_system_remove_bookmark): New function.

	* gtkfilesystemunix.c
	(gtk_file_system_unix_get_supports_bookmarks): Removed.
	(gtk_file_system_unix_set_bookmarks): Removed.
	(gtk_file_system_unix_add_bookmark): Just a stub for now.
	(gtk_file_system_unix_remove_bookmark): Likewise.

	* testfilechooser.c (main): Add a shortcut for testing purposes.
2003-10-18 04:29:40 +00:00
Federico Mena Quintero
462aab4a64 Added methods for ::get_supports_bookmarks(), ::set_bookmarks(),
2003-10-07  Federico Mena Quintero  <federico@ximian.com>

	* gtkfilesystem.h (struct _GtkFileSystemIface): Added methods for
	::get_supports_bookmarks(), ::set_bookmarks(), ::list_bookmarks().
	Added a ::bookmarks_changed() signal.

	* gtkfilesystem.c (gtk_file_system_get_supports_bookmarks): New function.
	(gtk_file_system_set_bookmarks): New function.
	(gtk_file_system_list_bookmarks): New function.
	(gtk_file_system_base_init): Create the "bookmarks-changed" signal.
	(gtk_file_paths_copy): New function.

	* gtkfilesystemunix.c (gtk_file_system_unix_get_supports_bookmarks): Implement.
	(gtk_file_system_unix_set_bookmarks): Implement.
	(gtk_file_system_unix_get_bookmarks): Implement.

	* gtkfilesystemgnomevfs.c (struct _GtkFileSystemGnomeVFS): Added
	fields for the bookmarks and the GConfClient.
	(gtk_file_system_gnome_vfs_set_bookmarks): Implement.
	(gtk_file_system_gnome_vfs_list_bookmarks): Implement.

	* gtkfilechooserprivate.h (struct _GtkFileChooserIface): Added
	methods for ::set_shortcut_folders(), ::list_shortcut_folders().

	* gtkfilechooser.c (gtk_file_chooser_set_shortcut_folders): New
	function.
	(gtk_file_chooser_list_shortcut_folders): New function.

	* gtkfilechooserimpldefault.c (create_shortcuts_model): Unref the
	old shortcuts model if it exists.  Create the nodes for the
	app-specific shortcut folders.
	(struct _GtkFileChooserImplDefault): Added a field for the
	shortcut_folders.
	(gtk_file_chooser_impl_default_set_shortcut_folders): Implement.
	(select_shortcuts_folder): New helper function.
	(gtk_file_chooser_impl_default_set_current_folder): Use
	select_shortcuts_folder().
	(shortcuts_append_path): Get the file info here, instead of the
	caller.
	(shortcuts_append_home): Use shortcuts_append_path().
	(shortcuts_append_file_system_roots): Likewise.
	(create_shortcuts_model): Add the app-specific shortcut folders
	and the bookmarks.
	(gtk_file_chooser_impl_default_list_shortcut_folders): Implement.
	(create_shortcuts_tree): Added a button to let the user add the
	current folder to the bookmarks.
	(gtk_file_chooser_impl_default_set_property): Connect to
	"bookmarks-changed" on the file system.
	(shortcuts_append_bookmarks): New function.

	* configure.ac: Depend on GConf.
2003-10-08 04:14:55 +00:00
Federico Mena Quintero
36dfea8ece Removed the "extra widget" bit, implemented with the following:
2003-09-03  Federico Mena Quintero  <federico@ximian.com>

	* TODO: Removed the "extra widget" bit, implemented with the
	following:

	* gtkfilechooser.h: Added gtk_file_chooser_{set,get}_extra_widget().

	* gtkfilechooser.c (gtk_file_chooser_base_init): Install an
	"extra-widget" interface property.
	(gtk_file_chooser_set_extra_widget): Implemented.
	(gtk_file_chooser_get_extra_widget): Implemented.

	* gtkfilechooserutils.h (GtkFileChooserProp): Added
	GTK_FILE_CHOOSER_PROP_EXTRA_WIDGET.

	* gtkfilechooserutils.c (_gtk_file_chooser_install_properties):
	Added the "extra-widget" property.

	* gtkfilechooserimpldefault.c (struct _GtkFileChooserImplDefault):
	Added an extra_widget field.
	(gtk_file_chooser_impl_default_set_property): Handle the
	"extra-widget" property.
	(gtk_file_chooser_impl_default_get_property): Likewise.
	(set_preview_widget): Fix the call gtk_container_remove().  Also,
	we don't need to ref/sink/unref the preview widget, as that gets
	already done by container_add/remove.
	(set_extra_widget): New utility function.

	* testfilechooser.c (main): Add an extra widget.
2003-09-03 05:52:35 +00:00
Owen Taylor
d97d7df947 Add over-big test case for preview (much of size from a modified copy of
Wed Jul 23 17:52:01 2003  Owen Taylor  <otaylor@redhat.com>

        * testfilechooser.c: Add over-big test case for preview
        (much of size from a modified copy of
        gdk_pixbuf_new_from_file_at_size())

        * gtkfilechooserutils.[ch] gtkfilechooser.c
        gtkfilechooserprivate.h gtkfilechooserimpldefault.c:
        Add get_preview_path() as a virtual function; implement
        update-preview signal that was in the header file.

        * gtkfilechooserimpldefault.c: Finish a simple preview
        widget implementation.
2003-07-23 22:30:32 +00:00
Owen Taylor
733f4489ad File filter objects.
Wed Jul 23 11:23:43 2003  Owen Taylor  <otaylor@redhat.com>

        * gtkfilefilter.[ch]: File filter objects.

        * gtkfilechooser.[ch] gtkfilechooserutils.[ch]: Add
        file filtering to API.

        * gtkfilechooserimpldefault.c: Implement file filters.

        * testfilechooser.c: Try out the filter functionality.

        * gtkfilesystemmodel.c: Add
        _gtk_file_system_model_set_filter() to set a callback
        function for filtering.

        * gtkfilechooserutils.c: Propagate property notification
        to the receiver.

        * fnmatch.c: Copy this from GTK+ temporarily to get
        UTF-8 pattern matching functionality.
2003-07-23 15:31:10 +00:00
Owen Taylor
7f8ae32c1d Add gtk_file_chooser_set_current_name() to set the current entry contents.
Fri Jul 11 14:37:07 2003  Owen Taylor  <otaylor@redhat.com>

        * gtkfilechooser.[ch] gtkfilechooserprivate.h
        gtkfilechooserimpldefault.c: Add
        gtk_file_chooser_set_current_name() to set the current
        entry contents.

        * *.c: Consistently use '-' not '_' in property names and
        signal names.

        * gtkfilechooser.c: Document all exported functions.
2003-07-11 19:18:36 +00:00
Owen Taylor
bc3fb55c1b Move interface definition into a private header so it can refer to
Fri Apr  4 17:30:27 2003  Owen Taylor  <otaylor@redhat.com>

        * gtkfilechooserprivate.h gtkfilechooser.h: Move
        interface definition into a private header so it
        can refer to GtkFileSystem.

        * *.[ch]: Switch over from using gchar *uri internally
        to using GtkFilePath * internally, and add
        conversion routines to GtkFileSystem.

        * TODO README: Updates.
2003-04-04 22:43:12 +00:00
Owen Taylor
5ef90224aa - Add GnomeVFS backend
- Add gtk_file_info_get_display_key()
- Start switching from file_added => files_added
- Switch over to Nautilus-like Loading.../Empty
2003-03-26 16:24:35 +00:00
Owen Taylor
e3849905a9 Initial revision 2003-03-21 20:34:02 +00:00