From 09cf709fe9bf01f043ba3f3444dcb2513370d2c0 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Tue, 5 Oct 2010 14:41:51 -0500 Subject: [PATCH] Handle the case where you type /blah/nonexistent in SELECT_FOLDER mode Previously name_entry_get_parent_info_cb() would fail as it doesn't handle SELECT_FOLDER. Now we just make that function act the same as for CREATE_FOLDER mode. In either case, if you type "/blah/nonexistent" and hit Enter, you want a folder with that name to be created (under the already-existing /blah). Signed-off-by: Federico Mena Quintero --- gtk/gtkfilechooserdefault.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index ae9c55d24c..a1d7af666b 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -8353,10 +8353,15 @@ name_entry_get_parent_info_cb (GCancellable *cancellable, else g_signal_emit_by_name (data->impl, "response-requested"); } - else if (data->impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER) + else if (data->impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER + || data->impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER) { GError *error = NULL; + /* In both cases (SELECT_FOLDER and CREATE_FOLDER), if you type + * "/blah/nonexistent" you *will* want a folder created. + */ + set_busy_cursor (data->impl, TRUE); g_file_make_directory (data->file, NULL, &error); set_busy_cursor (data->impl, FALSE);