diff options
author | Benjamin Otte <otte@redhat.com> | 2011-11-06 02:21:28 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2011-12-16 20:09:12 +0100 |
commit | e3ef8a568e6772b16bb3b52b0e71f80d02187c48 (patch) | |
tree | 756e17a08cadb8afe391c8a1074bc41ef3f53025 /gtk/gtkfilechooserentry.c | |
parent | cde8ae7b1ec232d36933c5bca4e60432d00e9469 (diff) | |
download | gtk+-e3ef8a568e6772b16bb3b52b0e71f80d02187c48.tar.gz |
filechooserentry: Simplify match_selected function
Diffstat (limited to 'gtk/gtkfilechooserentry.c')
-rw-r--r-- | gtk/gtkfilechooserentry.c | 32 |
1 files changed, 9 insertions, 23 deletions
diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c index fc2900b9b8..ed97f1abaf 100644 --- a/gtk/gtkfilechooserentry.c +++ b/gtk/gtkfilechooserentry.c @@ -284,37 +284,23 @@ match_selected_callback (GtkEntryCompletion *completion, GtkTreeIter *iter, GtkFileChooserEntry *chooser_entry) { - char *display_name; - GFile *file; - gint pos; + char *path; gtk_tree_model_get (model, iter, - DISPLAY_NAME_COLUMN, &display_name, - FILE_COLUMN, &file, - -1); - - if (!display_name || !file) - { - if (file) - g_object_unref (file); - - g_free (display_name); - return FALSE; - } - - pos = chooser_entry->file_part_pos; + FULL_PATH_COLUMN, &path, + -1); /* We don't set in_change here as we want to update the current_folder * variable */ gtk_editable_delete_text (GTK_EDITABLE (chooser_entry), - pos, -1); + 0, + gtk_editable_get_position (GTK_EDITABLE (chooser_entry))); gtk_editable_insert_text (GTK_EDITABLE (chooser_entry), - display_name, -1, - &pos); - gtk_editable_set_position (GTK_EDITABLE (chooser_entry), -1); + path, + 0, + NULL); - g_object_unref (file); - g_free (display_name); + g_free (path); return TRUE; } |