diff options
author | Benjamin Otte <otte@redhat.com> | 2011-11-05 03:28:02 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2011-12-16 20:09:12 +0100 |
commit | 5c42972735d4819f32ee78141fed249e8366f154 (patch) | |
tree | 3a8b8b8191ea462fd925e718bb335eb57ffbe9df /gtk/gtkfilechooserentry.c | |
parent | 2186c282634e9ebe6791c5e3dd2e88049b427502 (diff) | |
download | gtk+-5c42972735d4819f32ee78141fed249e8366f154.tar.gz |
filechooserentry: Split out function
I want to use that function elsewhere, so split it out.
Diffstat (limited to 'gtk/gtkfilechooserentry.c')
-rw-r--r-- | gtk/gtkfilechooserentry.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c index 94e01d5f8e..11d18382b7 100644 --- a/gtk/gtkfilechooserentry.c +++ b/gtk/gtkfilechooserentry.c @@ -426,6 +426,20 @@ has_uri_scheme (const char *str) return (strncmp (p, "://", 3) == 0); } +static GFile * +gtk_file_chooser_get_file_for_text (GtkFileChooserEntry *chooser_entry, + const gchar *str) +{ + GFile *file; + + if (str[0] == '~' || g_path_is_absolute (str) || has_uri_scheme (str)) + file = g_file_parse_name (str); + else + file = g_file_resolve_relative_path (chooser_entry->base_folder, str); + + return file; +} + static gboolean gtk_file_chooser_entry_parse (GtkFileChooserEntry *chooser_entry, const gchar *str, @@ -443,10 +457,7 @@ gtk_file_chooser_entry_parse (GtkFileChooserEntry *chooser_entry, last_slash = strrchr (str, G_DIR_SEPARATOR); - if (str[0] == '~' || g_path_is_absolute (str) || has_uri_scheme (str)) - file = g_file_parse_name (str); - else - file = g_file_resolve_relative_path (chooser_entry->base_folder, str); + file = gtk_file_chooser_get_file_for_text (chooser_entry, str); if (g_file_equal (chooser_entry->base_folder, file)) { |