diff options
author | Federico Mena Quintero <federico@gnome.org> | 2011-07-27 17:44:55 -0500 |
---|---|---|
committer | Federico Mena Quintero <federico@gnome.org> | 2011-07-27 18:46:27 -0500 |
commit | 4b492443886c15c496c344b46d5ad23d81b3cc10 (patch) | |
tree | 44ee57679ac5bfa04ff299498830edca741e9f5e | |
parent | a4927d05d822fd6247879a1dadc609cf039f7c82 (diff) | |
download | gtk+-4b492443886c15c496c344b46d5ad23d81b3cc10.tar.gz |
Create the location_entry in a single function
We had duplicated code to create the entry in two cases, for Open and for Save modes.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
-rw-r--r-- | gtk/gtkfilechooserdefault.c | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 902e2443f7..4c383f1ea8 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -4388,6 +4388,20 @@ file_pane_create (GtkFileChooserDefault *impl, return vbox; } +static void +location_entry_create (GtkFileChooserDefault *impl) +{ + if (!impl->location_entry) + impl->location_entry = _gtk_file_chooser_entry_new (TRUE); + + _gtk_file_chooser_entry_set_file_system (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), + impl->file_system); + _gtk_file_chooser_entry_set_local_only (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), impl->local_only); + _gtk_file_chooser_entry_set_action (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), impl->action); + gtk_entry_set_width_chars (GTK_ENTRY (impl->location_entry), 45); + gtk_entry_set_activates_default (GTK_ENTRY (impl->location_entry), TRUE); +} + /* Creates the widgets specific to Save mode */ static void save_widgets_create (GtkFileChooserDefault *impl) @@ -4420,12 +4434,7 @@ save_widgets_create (GtkFileChooserDefault *impl) /* Location entry */ - impl->location_entry = _gtk_file_chooser_entry_new (TRUE); - _gtk_file_chooser_entry_set_file_system (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), - impl->file_system); - _gtk_file_chooser_entry_set_local_only (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), impl->local_only); - gtk_entry_set_width_chars (GTK_ENTRY (impl->location_entry), 45); - gtk_entry_set_activates_default (GTK_ENTRY (impl->location_entry), TRUE); + location_entry_create (impl); gtk_table_attach (GTK_TABLE (impl->save_widgets_table), impl->location_entry, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, @@ -4539,7 +4548,10 @@ location_switch_to_filename_entry (GtkFileChooserDefault *impl) return; if (impl->location_entry) - gtk_widget_destroy (impl->location_entry); + { + gtk_widget_destroy (impl->location_entry); + impl->location_entry = NULL; + } /* Box */ @@ -4547,19 +4559,13 @@ location_switch_to_filename_entry (GtkFileChooserDefault *impl) /* Entry */ - impl->location_entry = _gtk_file_chooser_entry_new (TRUE); - _gtk_file_chooser_entry_set_file_system (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), - impl->file_system); - gtk_entry_set_activates_default (GTK_ENTRY (impl->location_entry), TRUE); - _gtk_file_chooser_entry_set_action (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), impl->action); - + location_entry_create (impl); gtk_box_pack_start (GTK_BOX (impl->location_entry_box), impl->location_entry, TRUE, TRUE, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (impl->location_label), impl->location_entry); /* Configure the entry */ _gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), impl->current_folder); - _gtk_file_chooser_entry_set_local_only (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), impl->local_only); /* Done */ |