summaryrefslogtreecommitdiff
path: root/gtk/gtkfilechooserentry.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2011-11-06 02:21:28 +0100
committerBenjamin Otte <otte@redhat.com>2011-12-16 20:09:12 +0100
commite3ef8a568e6772b16bb3b52b0e71f80d02187c48 (patch)
tree756e17a08cadb8afe391c8a1074bc41ef3f53025 /gtk/gtkfilechooserentry.c
parentcde8ae7b1ec232d36933c5bca4e60432d00e9469 (diff)
downloadgtk+-e3ef8a568e6772b16bb3b52b0e71f80d02187c48.tar.gz
filechooserentry: Simplify match_selected function
Diffstat (limited to 'gtk/gtkfilechooserentry.c')
-rw-r--r--gtk/gtkfilechooserentry.c32
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;
}