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 <federico@novell.com>
This commit is contained in:
@ -8417,8 +8417,13 @@ file_exists_get_info_cb (GCancellable *cancellable,
|
|||||||
|
|
||||||
if (data->impl->action == GTK_FILE_CHOOSER_ACTION_OPEN)
|
if (data->impl->action == GTK_FILE_CHOOSER_ACTION_OPEN)
|
||||||
{
|
{
|
||||||
/* user typed a filename; we are done */
|
if (is_folder)
|
||||||
g_signal_emit_by_name (data->impl, "response-requested");
|
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)
|
else if (data->impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
|
||||||
{
|
{
|
||||||
@ -8454,7 +8459,10 @@ file_exists_get_info_cb (GCancellable *cancellable,
|
|||||||
}
|
}
|
||||||
else if (data->impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
|
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
|
else
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user