mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-17 06:10:15 +00:00
Strip leading and trailing whitespace from filechooser save filenames
This makes a local copy of the file part of the entry to strip it transparently Since this is assumed to be a mistake, the user is not notified. https://bugzilla.gnome.org/show_bug.cgi?id=593372
This commit is contained in:
parent
02b5ac9ee4
commit
94bcdd3217
@ -5273,6 +5273,7 @@ check_save_entry (GtkFileChooserWidget *impl,
|
|||||||
GtkFileChooserEntry *chooser_entry;
|
GtkFileChooserEntry *chooser_entry;
|
||||||
GFile *current_folder;
|
GFile *current_folder;
|
||||||
const char *file_part;
|
const char *file_part;
|
||||||
|
char *file_part_stripped;
|
||||||
GFile *file;
|
GFile *file;
|
||||||
GError *error;
|
GError *error;
|
||||||
|
|
||||||
@ -5310,21 +5311,26 @@ check_save_entry (GtkFileChooserWidget *impl,
|
|||||||
|
|
||||||
file_part = _gtk_file_chooser_entry_get_file_part (chooser_entry);
|
file_part = _gtk_file_chooser_entry_get_file_part (chooser_entry);
|
||||||
|
|
||||||
if (!file_part || file_part[0] == '\0')
|
/* Copy and strip leading and trailing whitespace */
|
||||||
|
file_part_stripped = g_strstrip (g_strdup (file_part));
|
||||||
|
|
||||||
|
if (!file_part_stripped || file_part_stripped[0] == '\0')
|
||||||
{
|
{
|
||||||
*file_ret = current_folder;
|
*file_ret = current_folder;
|
||||||
*is_well_formed_ret = TRUE;
|
*is_well_formed_ret = TRUE;
|
||||||
*is_file_part_empty_ret = TRUE;
|
*is_file_part_empty_ret = TRUE;
|
||||||
*is_folder = TRUE;
|
*is_folder = TRUE;
|
||||||
|
|
||||||
|
g_free (file_part_stripped);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
*is_file_part_empty_ret = FALSE;
|
*is_file_part_empty_ret = FALSE;
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
file = g_file_get_child_for_display_name (current_folder, file_part, &error);
|
file = g_file_get_child_for_display_name (current_folder, file_part_stripped, &error);
|
||||||
g_object_unref (current_folder);
|
g_object_unref (current_folder);
|
||||||
|
g_free (file_part_stripped);
|
||||||
|
|
||||||
if (!file)
|
if (!file)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user