From e17b9ae8ba69b870e39aa9d422f76421757869c0 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Wed, 6 Oct 2010 12:59:44 -0500 Subject: [PATCH] Filechooser - In OPEN or SAVE mode, typing a plain folder name should switch to it If you type 'subfolder/' and hit Enter, the file chooser will switch you to it. But if you type just 'subfolder' without the trailing slash, apps would receive *that* filename (e.g. file:///foo/bar/subfolder) as the response, and they would likely print an error that they can't open that file (as it is a folder). So, we change the file chooser's current folder to that subfolder in this case. Signed-off-by: Federico Mena Quintero --- gtk/gtkfilechooserdefault.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index c0aad3e7f7..5fddcfa06c 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -8249,8 +8249,13 @@ file_exists_get_info_cb (GCancellable *cancellable, if (data->impl->action == GTK_FILE_CHOOSER_ACTION_OPEN) { - /* user typed a filename; we are done */ - g_signal_emit_by_name (data->impl, "response-requested"); + if (is_folder) + change_folder_and_display_error (data->impl, data->file, TRUE); + else + { + /* user typed a filename; we are done */ + g_signal_emit_by_name (data->impl, "response-requested"); + } } else if (data->impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER) { @@ -8286,7 +8291,10 @@ file_exists_get_info_cb (GCancellable *cancellable, } else if (data->impl->action == GTK_FILE_CHOOSER_ACTION_SAVE) { - needs_file_type_check = TRUE; + if (is_folder) + change_folder_and_display_error (data->impl, data->file, TRUE); + else + needs_file_type_check = TRUE; } else {