Fix #157787, reported by Jonathan Blandford:

2005-07-07  Matthias Clasen  <mclasen@redhat.com>

	Fix #157787, reported by Jonathan Blandford:

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_set_current_folder): Don't leave a
	"trail" behind when set_current_folder is called explicitly.
	(gtk_file_chooser_default_update_current_folder): New function
	that is called to update the current folder in response to
	user actions.

	* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Add a boolean
	keep_trail argument, and don't leave a "trail" behind unless
	it is set.
This commit is contained in:
Matthias Clasen
2005-07-07 12:40:50 +00:00
committed by Matthias Clasen
parent d8c1ea044a
commit 8cc4fe41ff
6 changed files with 64 additions and 4 deletions

View File

@ -1278,6 +1278,7 @@ gtk_path_bar_check_parent_path (GtkPathBar *path_bar,
gboolean
_gtk_path_bar_set_path (GtkPathBar *path_bar,
const GtkFilePath *file_path,
const gboolean keep_trail,
GError **error)
{
GtkFilePath *path;
@ -1294,7 +1295,8 @@ _gtk_path_bar_set_path (GtkPathBar *path_bar,
/* Check whether the new path is already present in the pathbar as buttons.
* This could be a parent directory or a previous selected subdirectory.
*/
if (gtk_path_bar_check_parent_path (path_bar, file_path, path_bar->file_system))
if (keep_trail &&
gtk_path_bar_check_parent_path (path_bar, file_path, path_bar->file_system))
return TRUE;
path = gtk_file_path_copy (file_path);
@ -1395,7 +1397,6 @@ _gtk_path_bar_set_path (GtkPathBar *path_bar,
return result;
}
/* FIXME: This should be a construct-only property */
void
_gtk_path_bar_set_file_system (GtkPathBar *path_bar,