1. 15 Oct, 2009 5 commits
  2. 30 Jul, 2009 1 commit
  3. 19 Jun, 2009 1 commit
    • Federico Mena Quintero's avatar
      bgo#586315 - gtk_file_chooser_list_shortcut_folders() was crashing · 3d527afa
      Federico Mena Quintero authored
      The virtual method list_shortcut_folders returns a GSList * of GFile *.
      In turn, gtk_file_chooser_list_shortcut_folders() converts those to strings.
      
      However, the delegate in gtkfilechooserutils.c was calling
      gtk_file_chooser_list_shortcut_folders() every time, so we were trying
      to convert invalid data.
      
      Now we have an internal function that deals with GFile *.  That
      function is called by the delegate, and the conversion is done only
      once by the API entry points.
      Signed-off-by: default avatarFederico Mena Quintero <federico@novell.com>
      3d527afa
  4. 12 Jun, 2009 1 commit
  5. 11 Jun, 2009 1 commit
  6. 18 Sep, 2008 1 commit
    • Emmanuele Bassi's avatar
      Bug 325095 – show a 'size' column · 555ef89d
      Emmanuele Bassi authored
      2008-09-18  Emmanuele Bassi  <ebassi@linux.intel.com>
      
      	Bug 325095 – show a 'size' column
      
      	* gtk/gtkfilechooserdefault.c:
      	* gtk/gtkfilechooserprivate.h: Add a context menu item controlling
      	the visibility of the file size column. This works only for the
      	browse mode, and the column is not visible by default.
      
      	* gtk/gtkfilechoosersettings.[ch]: Add a ShowSizeColumn key to the
      	settings file.
      
      svn path=/trunk/; revision=21431
      555ef89d
  7. 20 Aug, 2008 1 commit
  8. 01 Jul, 2008 1 commit
  9. 30 Jun, 2008 1 commit
    • Cody Russell's avatar
      Practically everything changed. · fce9c8b7
      Cody Russell authored
      2008-06-30  Cody Russell  <bratsche@gnome.org>
      
              * Practically everything changed.
      
              Change	all references	of GIMP	Toolkit	(and variations	of it)
              to GTK+	Toolkit, showing no mercy at all to our	beloved
      	ancestry. (#540529)
      
      
      svn path=/trunk/; revision=20709
      fce9c8b7
  10. 16 Jun, 2008 1 commit
  11. 10 Jun, 2008 1 commit
    • Carlos Garnacho's avatar
      Bug 520874 - Should use gio directly. · 640d6877
      Carlos Garnacho authored
      2008-06-10  Carlos Garnacho  <carlos@imendio.com>
      
              Bug 520874 - Should use gio directly.
      
              * gtk/gtkfilesystem.[ch]: Turn into a private object, which mostly
              provides helper functions for asynchronous calls, folder abstraction
              and uniform handling of volumes/drives/mounts.
      
              * gtk/gtkfilesystemwin32.[ch]:
              * gtk/gtkfilesystemunix.[ch]: Removed, these are no longer required.
      
              * gtk/gtkfilechooser.c:
              * gtk/gtkfilechooserbutton.c:
              * gtk/gtkfilechooserdefault.c:
              * gtk/gtkfilechooserentry.[ch]:
              * gtk/gtkfilechooserprivate.h:
              * gtk/gtkfilechooserutils.c:
              * gtk/gtkfilesystemmodel.[ch]:
              * gtk/gtkpathbar.[ch]: Use GIO internally. Adapt to GtkFileSystem API.
              Do not load filesystem implementation modules.
      
              * gtk/Makefile.am:
              * gtk/gtk.symbols: the gtkfilesystem.h private header isn't installed
              anymore, nor the unix/win32 implementations.
      
              * README.in: Add blurb about these changes.
      
      svn path=/trunk/; revision=20342
      640d6877
  12. 18 May, 2007 1 commit
    • Carlos Garnacho's avatar
      Refactor GtkFileChooserDialog sizing. · 7bb7cfb2
      Carlos Garnacho authored
      2007-05-18  Carlos Garnacho  <carlos@imendio.com>
      
              Refactor GtkFileChooserDialog sizing.
      
              * gtkfilechooserembed.[ch] (delegate_get_resizable_hints)
              (_gtk_file_chooser_embed_get_resizable_hints):
              s/resizable_hints/resizable/, return just one boolean value to
              determine whether the filechooser should be resizable or not.
      
              * gtkfilechooserprivate.h (struct GtkFileChooserDialogPrivate): remove
              variables related to the GtkFileChooserEmbed get_default_size() and
              get_resizable() implementations.
              (struct GtkFileChooserDefault): Move default size management here.
      
              * gtkfilechooserdefault.c (gtk_file_chooser_default_size_allocate):
              Added, store currently allocated size to calculate default size later.
              (gtk_file_chooser_default_get_resizable_hints):
              s/resizable_hints/resizable/.
              (gtk_file_chooser_default_set_property): Reload settings if the file
              chooser action changes, this way the save expander state will be known
              before mapping the window, avoiding wrong window positioning and
              flickering. (#424299, #424309)
              (find_good_size_from_style): Only get size from style if it wasn't set
              previously.
              (gtk_file_chooser_default_get_default_size): return default size based
              on stored default size and preview/extra widget sizes.
      
              * gtkfilechooserdialog.c (file_chooser_widget_update_hints)
              (file_chooser_widget_realized_size_changed)
              (file_chooser_widget_unrealized_size_changed): simplified to
              (file_chooser_widget_size_changed): set window size and resizability
              based on the GtkFileChooserEmbed interface implementation. (Bug
              #420285, Tomeu Vizoso)
              (gtk_file_chooser_dialog_map): force a dialog size change, so it's
              clamped for sure to the 75% of the screen size.
      
      
      svn path=/trunk/; revision=17859
      7bb7cfb2
  13. 11 May, 2007 3 commits
    • Emmanuele Bassi's avatar
      GtkFileChooser search fixes and recent files support. (#435342) · dfff0c0a
      Emmanuele Bassi authored
      2007-05-11  Emmanuele Bassi  <ebassi@gnome.org>
      
      	GtkFileChooser search fixes and recent files support.  (#435342)
      
      	* gtk/gtkfilechooserprivate.h:
      	* gtk/gtkfilechooserdefault.c: Follow the sorting order of
      	the GtkTreeView displaying the files list.
      
      	(shortcuts_get_index), (shortcuts_insert_separator),
      	(shortcuts_model_create), (shortcuts_combo_filter_func): Remove
      	the separator between the Search and the Recently Used shortcuts.
      
      	(list_select_func), (list_icon_data_func), (list_name_data_func),
      	(list_mtime_data_func): Update the sensitivity of the row
      	depending on the GtkFileChooserAction used.
      
      svn path=/trunk/; revision=17828
      dfff0c0a
    • Emmanuele Bassi's avatar
      GtkFileChooser search fixes and recent files support. (#435342) · 9f2d1953
      Emmanuele Bassi authored
      2007-05-11  Emmanuele Bassi  <ebassi@gnome.org>
      
      	GtkFileChooser search fixes and recent files support.  (#435342)
      
      	* gtk/gtkfilechooserprivate.h:
      	* gtk/gtkfilechooserdefault.c: Update the contents of the
      	files list when changing the filter of the GtkFileChooserDefault
      	widget.
      
      svn path=/trunk/; revision=17827
      9f2d1953
    • Emmanuele Bassi's avatar
      GtkFileChooser search fixes and recent files support. (#435342) · 4078ef56
      Emmanuele Bassi authored
      2007-05-11  Emmanuele Bassi  <ebassi@gnome.org>
      
      	GtkFileChooser search fixes and recent files support.  (#435342)
      
      	* gtk/gtkfilechooserprivate.h:
      	* gtk/gtkfilechooserdefault.c: Add support for showing the
      	recently used files list as a special shortcut item.
      
      svn path=/trunk/; revision=17824
      4078ef56
  14. 02 May, 2007 1 commit
    • Emmanuele Bassi's avatar
      Add search file support in the GtkFileChooser. Original patch by Federico · d3aeccf7
      Emmanuele Bassi authored
      2007-05-02  Emmanuele Bassi  <ebassi@gnome.org>
      
      	Add search file support in the GtkFileChooser. Original patch
      	by Federico Mena Quintero; patch updated by Matthias Clasen.
      	See bug #344785.
      
      	* gtk/gtksearchengine.[ch]: Private search engine abstraction
      	object.
      
      	* gtk/gtksearchenginebeagle.[ch]: Private search engine
      	implementation using libbeagle (via g_module_open()).
      
      	* gtk/gtksearchenginesimple.[ch]: Private search engine
      	implementation using file tree walking.
      
      	* gtk/gtksearchenginetracker.[ch]: Private earch engine
      	implementation using libtracker (via g_module_open()).
      
      	* gtk/gtkquery.[ch]: Private query object for the search
      	engines.
      
      	* gtk/gtkfilechooserprivate.h:
      	* gtk/gtkfilechooserdefault.c: Use the GtkSearchEngine to
      	query a search engine backend using GtkQuery; create a new
      	operating mode, OPERATION_MODE_SEARCH, and call the common
      	operating mode OPERATION_MODE_BROWSE; add support for virtual
      	shortcuts inside the shortcuts model and create a new "Search"
      	virtual shortcut.
      
      	* gtk/Makefile.am: Update the build with the new files
      
      svn path=/trunk/; revision=17783
      d3aeccf7
  15. 08 Jan, 2007 1 commit
    • Peter Teichman's avatar
      Save the expanded state of the folder browser with the file chooser · 0177b219
      Peter Teichman authored
      * gtk/gtkfilechooserdefault.c:
      * gtk/gtkfilechooserprivate.h:
      * gtk/gtkfilechoosersettings.c:
      * gtk/gtkfilechoosersettings.h:
      Save the expanded state of the folder browser with the file
      chooser settings.  Resolves the expander portions of (#153828,
      Lemmit Kaplinski)
      
      svn path=/trunk/; revision=17121
      0177b219
  16. 03 Sep, 2006 1 commit
    • Kristian Rietveld's avatar
      change file_exists_and_is_not_folder checks to get the file info for the · 023cb79c
      Kristian Rietveld authored
      2006-09-03  Kristian Rietveld  <kris@imendio.com>
      
      	* gtk/gtkfilechooserdefault.c (save_entry_get_info_cb),
      	(file_exists_get_info_cb), (gtk_file_chooser_default_should_respond):
      	change file_exists_and_is_not_folder checks to get the file info
      	for the path directly instead of querying the current file folder
      	of the save entry.
      
      	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault): add
      	new field.
      
      	* tests/autotestfilechooser.c (wait_for_idle_idle), (wait_for_idle),
      	(test_reload_sequence), (test_button_folder_states_for_action): wait
      	for idle after setting a folder to ensure the async operations to load
      	the folder are finished,
      	(test_confirm_overwrite), (test_confirm_overwrite_for_path):
      	factor out test_confirm_overwrite code so we can add tests for more
      	paths more easily.
      023cb79c
  17. 18 Jul, 2006 1 commit
    • Federico Mena Quintero's avatar
      Fix https://bugzilla.novell.com/show_bug.cgi?id=184875 - make the location · 3f498adf
      Federico Mena Quintero authored
      2006-07-18  Federico Mena Quintero  <federico@novell.com>
      
      	Fix https://bugzilla.novell.com/show_bug.cgi?id=184875 - make the
      	location entry in Save mode preserve the stuff from
      	set_filename(); it was overwriting it with $cwd.
      
      	This is the same fix for
      	http://bugzilla.gnome.org/show_bug.cgi?id=347066
      
      	* tests/autotestfilechooser.c: (test_black_box): Added black-box
      	test for set_filename() and set_current_name().
      
      	* gtk/gtkfilechooser.c (gtk_file_chooser_get_type): Cast to
      	GClassInitFunc in the call to g_type_register_static_simple(), to
      	avoid a compiler warning.
      
      	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault):
      	Added a browse_files_last_selected_name field.  We'll copy the
      	logic from gtkfilesel.c to see when to clear the location entry.
      	(struct _GtkFileChooserDefault): Removed the
      	processing_pending_selections field.
      
      	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
      	Free impl->browse_files_last_selected_name.
      	(pending_select_paths_process): Don't use
      	impl->processing_pending_selections.
      	(update_chooser_entry): Keep track of the name that was last
      	selected in the file list.  We use this to know when to clear the
      	location entry.  The logic is similar to that of
      	gtkfilesel.c:gtk_file_selection_file_changed().  This also lets us
      	get rid of the processing_pending_selections flag.
      	(update_chooser_entry): Clear the entry if we didn't have a
      	selection before.
      	(location_switch_to_filename_entry): Do not set $cwd as the
      	contents of the location entry here...
      	(location_popup_handler): ... but do it here instead, only as the
      	result of the user asking to turn on the location entry.
      	(gtk_file_chooser_default_get_paths): If the location entry is
      	empty, do the fallback of seeing if it is sensible to say that
      	$cwd is the selected path.
      	(gtk_file_chooser_default_update_current_folder): Don't set the
      	text of the location entry; this is no longer needed with the
      	fixes above.
      	(shortcuts_activate_iter): Clear the location entry when
      	activating a shortcut if we are not in SAVE mode.  This keeps the
      	contents of the location entry consistent even when switching
      	folders via the shortcuts.
      3f498adf
  18. 03 May, 2006 1 commit
    • Federico Mena Quintero's avatar
      Merged the federico-filename-entry branch, to fix bug #136541. Combined · d955928b
      Federico Mena Quintero authored
      2006-05-03  Federico Mena Quintero  <federico@novell.com>
      
      	Merged the federico-filename-entry branch, to fix bug #136541.
      	Combined ChangeLogs:
      
      	2006-04-17  Federico Mena Quintero  <federico@novell.com>
      
      	* gtk/gtkfilechooserdefault.c (pending_select_paths_process):
      	Oops, we *do* need to check that we are in OPEN mode before
      	selecting the first row in the file list.  See
      	https://bugzilla.novell.com/show_bug.cgi?id=166906
      	(gtk_file_chooser_default_get_paths): If we are in the case for
      	the file list, and the list has no selected rows, jump to the case
      	for the filename entry.  This is so that
      
      	       1. The user types a filename in the SAVE filename entry
      	          ("foo.txt").
      
      	       2. He then double-clicks on a folder ("bar") in the file
      		  list.
      
      	will yield the expected "bar/foo.txt" selection.
      
      	2006-03-29  Federico Mena Quintero  <federico@novell.com>
      
      	* gtk/gtkpathbar.c (gtk_path_bar_init): Reduce the inter-button
      	spacing to 0.
      
      	* gtk/gtkfilechooserdefault.c (browse_widgets_create): Make the
      	location label bold.
      
      	2006-03-29  Federico Mena Quintero  <federico@novell.com>
      
      	* gtk/gtkfilechooserdefault.c (location_mode_set): Just change the
      	location_mode field if we are in SAVE/CREATE_FOLDER modes.
      	(gtk_file_chooser_default_get_paths): Get the path based on the
      	currently focused widget, or the last-focused widget.  This is
      	what we should have been doing in the beginning, but it worked out
      	fine because we didn't have the possibility of a filename entry in
      	OPEN mode.
      	(gtk_file_chooser_default_should_respond): Handle the case where
      	the last focused widget is the location_entry.
      
      	2006-03-28  Federico Mena Quintero  <federico@novell.com>
      
      	* gtk/gtkfilechoosersettings.[ch]: New files with a simple
      	framework for saving/loading settings from the file chooser in
      	$XDG_CONFIG_HOME/gtk-2.0/gtkfilechooser.
      
      	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_unmap):
      	Save the current settings.
      	(settings_save): New helper function.  We save the location_mode
      	and show_hidden flags.
      	(gtk_file_chooser_default_map): Load the settings.
      	(settings_load): New helper function.
      
      	* gtk/gtkfilechooserentry.c
      	(_gtk_file_chooser_entry_set_file_part): Oops, don't modify
      	in_change.  Our handlers are what set the file_part, so they
      	*must* be run when we modify the text.
      
      	2006-03-27  Federico Mena Quintero  <federico@novell.com>
      
      	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault):
      	Removed the save_file_name_entry.  We'll make this be the same as
      	the location_entry widget.
      	(struct _GtkFileChooserDefault): Leave only location_button,
      	location_entry_box, location_label, location_entry.  We'll use a
      	single toggle button for the location entry, which will appear
      	below the path bar.
      	(struct _GtkFileChooserDefault): Added a
      	processing_pending_selections flag.
      
      	* gtk/gtkfilechooserdefault.c (save_widgets_create): Destroy the
      	old location_entry if necessary, and hide the location toggle
      	widgets.
      	(update_chooser_entry): In multiple selection mode, just clear the
      	location_entry.
      	(check_save_entry): Allow running in OPEN or SELECT_FOLDER modes
      	if we are in LOCATION_MODE_FILENAME_ENTRY.
      	(gtk_file_chooser_default_should_respond): Switch to a folder if
      	the location_entry contains a folder name in OPEN and SAVE mode,
      	not just SAVE mode.  If the entry doesn't contain a folder name,
      	but is otherwise well-formed, and we are in OPEN mode, return that
      	we should respond with that filename.
      	(gtk_file_chooser_default_initial_focus): Focus the location_entry
      	if appropriate.
      	(browse_widgets_create): Create the location_entry_box and the
      	location_label here.
      	(update_appearance): Call location_mode_set() when switching back
      	to OPEN/SELECT_FOLDER mode.  Hide the location_button when
      	switching to SAVE/CREATE_FOLDER mode.
      	(pending_select_paths_process): Turn the
      	processing_pending_selections flag on and off around changes to
      	the current selection.  Don't special-case OPEN mode anymore,
      	since the new flag will take care of things in
      	update_chooser_entry().
      	(update_chooser_entry): Don't do anything if
      	processing_pending_selections is TRUE.  This keeps the entry from
      	being polluted when changing folders.
      	(location_popup_handler): In OPEN/SELECT_FOLDER modes, toggle
      	between the path bar and the entry.  In SAVE/CREATE_FOLDER modes, simply focus the
      	location_entry.
      	(update_from_entry): Removed.
      	(location_entry_create): Removed.
      	(open_location_cb): Removed.
      	(file_list_build_popup_menu): Don't add an "Open _Location" menu item.
      	(location_entry_set_initial_text): Don't do anything if
      	current_folder is NULL.
      
      	* gtk/gtkfilechooserentry.c
      	(_gtk_file_chooser_entry_set_file_part): Turn in_change on and off
      	around the call to gtk_entry_set_text().  This makes completion
      	not happen when the caller has explicitly set a name.
      
      	2006-03-24  Federico Mena Quintero  <federico@novell.com>
      
      	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault):
      	Added fields location_mode_box, location_pathbar_radio,
      	location_filename_radio, location_widget_box, location_label,
      	location_entry.  The radio buttons will switch between the pathbar
      	and the location entry; the other boxes are for layout purposes.
      	(enum LocationMode): New enum.
      	(struct _GtkFileChooserDefault): Added a location_mode field.
      
      	* gtk/gtkfilechooserdefault.c (browse_widgets_create): Create the
      	location radio buttons to switch between the pathbar and the
      	location entry.  Pack the browse_path_bar in the new
      	location_widget_box instead of a generic hbox.
      	(location_buttons_create): New function.
      	(gtk_file_chooser_default_init): Initialize impl->location_mode.
      	(location_switch_to_path_bar): New function.
      	(location_switch_to_filename_entry): New function.
      
      	* gtk/gtkfilechooserbutton.c (model_add_special): The display_name
      	should not be const.
      d955928b
  19. 01 May, 2006 1 commit
    • Kristian Rietveld's avatar
      Merge of the GTK+ asynchronous file chooser branch. Please see the · 2c97a8f6
      Kristian Rietveld authored
      2006-05-01  Kristian Rietveld  <kris@imendio.com>
      
      	Merge of the GTK+ asynchronous file chooser branch.  Please see
      	the kris-asynch-branch for more detailed ChangeLog entries.
      
      	* configure.in: increase binary version to 2.9.0.
      
      	* gtk.symbols:
      	* gtkfilechooser.c:
      	* gtkfilechooserbutton.c:
      	* gtkfilechooserdefault.c:
      	* gtkfilechooserdialog.c:
      	* gtkfilechooserembed.c:
      	* gtkfilechooserembed.h:
      	* gtkfilechooserentry.c:
      	* gtkfilechooserentry.h:
      	* gtkfilechooserprivate.h:
      	* gtkfilesystem.c:
      	* gtkfilesystem.h:
      	* gtkfilesystemmodel.c:
      	* gtkfilesystemmodel.h:
      	* gtkfilesystemunix.c:
      	* gtkpathbar.c:
      	* gtkpathbar.h:
      	Merge from kris-async-branch.
      2c97a8f6
  20. 28 Sep, 2005 1 commit
    • Federico Mena Quintero's avatar
      Don't reload the current folder unnecessarily on ::map(). · 6cd6a0a2
      Federico Mena Quintero authored
      2005-09-27  Federico Mena Quintero  <federico@ximian.com>
      
      	Don't reload the current folder unnecessarily on ::map().
      
      	* gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
      	the reloading state.
      	(struct _GtkFileChooserDefault): Added a "reload_state" field.
      
      	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
      	Initialize impl->reload_state.
      	(gtk_file_chooser_default_map): Check the impl->reload_state; load
      	a default folder if no folder has been set, or reload the current
      	one only if we had been unmapped first.
      	(gtk_file_chooser_default_update_current_folder): Set the
      	reload_state to RELOAD_HAS_FOLDER.
      	(gtk_file_chooser_default_unmap): Implement, and set the
      	reload_state to RELOAD_WAS_UNMAPPED.
      	(shortcuts_model_create): Don't call shortcuts_add_bookmarks()
      	here; they'll get (re)loaded on ::map() anyway.
      
      	* gtk/gtkfilechooserwidget.c
      	(gtk_file_chooser_widget_constructor): Don't set a default folder here.
      
      	* tests/autotestfilechooser.c (test_action_widgets): Don't take in
      	a dialog; build it ourselves.
      	(test_reload): New test to ensure that we don't load the default
      	folder more than once, and that we reload it when
      	unmapping/remapping.
      	(get_impl_from_dialog): New utility function.
      	(test_widgets_for_current_action): Use get_impl_from_dialog().
      6cd6a0a2
  21. 15 Sep, 2005 1 commit
    • Federico Mena Quintero's avatar
      Start a set of automated tests for the file chooser. The only test in · 329bc4e2
      Federico Mena Quintero authored
      2005-09-15  Federico Mena Quintero  <federico@ximian.com>
      
      	* tests/autotestfilechooser.c: Start a set of automated tests for
      	the file chooser.  The only test in there right now doesn't pass
      	yet.  It specifies the intended behavior of the first optimization
      	of a series which I'll do on the file chooser (see
      	http://primates.ximian.com/~federico/news-2005-09.html#14 for the
      	details of this optimization).
      
      	* tests/Makefile.am: Added autotestfilechooser.c.
      
      	* gtk/gtkfilechooserprivate.h (struct
      	_GtkFileChooserDialogPrivate): Move all the file chooser's private
      	structures to here, so that they can be accessed by
      	tests/autotestfilechooser.c:  _GtkFileChooserDialogPrivate,
      	_GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
      
      	* gtk/gtkfilechooserdialog.c: See above.
      
      	* gtk/gtkfilechooserwidget.c: See above.
      
      	* gtk/gtkfilechooserdefault.c: See above.
      329bc4e2
  22. 15 Jul, 2005 1 commit
    • Federico Mena Quintero's avatar
      Add overwrite confirmation for SAVE mode. Fixes bug #152850: · fb7d6ac4
      Federico Mena Quintero authored
      2005-07-14  Federico Mena Quintero  <federico@ximian.com>
      
      	Add overwrite confirmation for SAVE mode.  Fixes bug #152850:
      
      	* gtk/gtkfilechooser.h: Add prototypes for
      	gtk_file_chooser_set/get_do_overwrite_confirmation().
      	(GtkFileChooserConfirmation): New enum for the result of the
      	"confirm-overwrite" signal.
      
      	* gtk/gtkmarshalers.list: Add ENUM:VOID.
      
      	* gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add a
      	"do-overwrite-confirmation" boolean property.
      	(gtk_file_chooser_set_do_overwrite_confirmation): Implement.
      	(gtk_file_chooser_get_do_overwrite_confirmation): Implement.
      	(confirm_overwrite_accumulator): New accumulator for the signal.
      
      	* gtk/gtkfilechooserutils.h (GtkFileChooserProp): Add
      	GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION.
      
      	* gtk/gtkfilechooserutils.c
      	(_gtk_file_chooser_install_properties): Override the
      	do-overwrite-confirmation property.
      
      	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserIface): Add a
      	confirm_overwrite signal to the vtable.
      
      	* gtk/gtkfilechooserdefault.c
      	(gtk_file_chooser_default_set_property): Handle the new property.
      	(gtk_file_chooser_default_get_property): Likewise.
      	(get_selected_file_info_from_file_list): New helper function; code
      	taken from list_selection_changed().
      	(list_selection_changed): Use get_selected_file_info_from_file_list().
      	(should_respond_after_confirm_overwrite): New function.
      	(gtk_file_chooser_default_should_respond): Confirm when necessary.
      fb7d6ac4
  23. 05 Mar, 2004 1 commit
    • Federico Mena Quintero's avatar
      Add gboolean return values and GError arguments to ::set_current_folder() · 385bd6a5
      Federico Mena Quintero authored
      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.
      385bd6a5
  24. 18 Oct, 2003 1 commit
    • Federico Mena Quintero's avatar
      Removed. (gtk_file_system_gnome_vfs_set_bookmarks): Removed. · b49a5ec5
      Federico Mena Quintero authored
      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.
      b49a5ec5
  25. 08 Oct, 2003 1 commit
    • Federico Mena Quintero's avatar
      Added methods for ::get_supports_bookmarks(), ::set_bookmarks(), · 462aab4a
      Federico Mena Quintero authored
      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.
      462aab4a
  26. 11 Sep, 2003 1 commit
    • Federico Mena Quintero's avatar
      Connect to "row_activated" on the file list. (list_row_activated): New · aa22566e
      Federico Mena Quintero authored
      2003-09-10  Federico Mena Quintero  <federico@ximian.com>
      
      	* gtkfilechooserimpldefault.c (create_file_list): Connect to
      	"row_activated" on the file list.
      	(list_row_activated): New function.  Changes to folders or emits
      	the "file-activated" signal depending on what type of row was
      	activated.
      	(create_folder_tree): Renamed from create_directory_tree(), since
      	"folder" is the new politically-correct name.
      
      	* gtkfilechooserprivate.h (struct _GtkFileChooserIface): Added a
      	file-activated signal.
      
      	* gtkfilechooser.c (gtk_file_chooser_class_init): Register the
      	signal.
      
      	* gtkfilechooserutils.c (_gtk_file_chooser_set_delegate): Connect
      	to "file-activated" on the delegate.
      	(delegate_file_activated): New function.
      
      	* TODO: Added an API item about Clipart-like folders provided by
      	applications.
      aa22566e
  27. 23 Jul, 2003 2 commits
    • Owen Taylor's avatar
      Add over-big test case for preview (much of size from a modified copy of · d97d7df9
      Owen Taylor authored
      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.
      d97d7df9
    • Owen Taylor's avatar
      File filter objects. · 733f4489
      Owen Taylor authored
      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.
      733f4489
  28. 11 Jul, 2003 1 commit
    • Owen Taylor's avatar
      Add gtk_file_chooser_set_current_name() to set the current entry contents. · 7f8ae32c
      Owen Taylor authored
      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.
      7f8ae32c
  29. 04 Apr, 2003 1 commit
    • Owen Taylor's avatar
      Move interface definition into a private header so it can refer to · bc3fb55c
      Owen Taylor authored
      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.
      bc3fb55c