diff options
author | Felix Riemann <friemann@svn.gnome.org> | 2008-10-13 19:26:24 +0000 |
---|---|---|
committer | Felix Riemann <friemann@src.gnome.org> | 2008-10-13 19:26:24 +0000 |
commit | 3be962aab766d6f5bf9ef3e0f6d0da5ddfd82fd5 (patch) | |
tree | 40d3d8222c4529b14834abaf20b6a492302d37ab /src/eog-save-as-dialog-helper.c | |
parent | 6f8f743c3304acc48a78d2286c2bce2bb8107e94 (diff) | |
download | eog-3be962aab766d6f5bf9ef3e0f6d0da5ddfd82fd5.tar.gz |
Drop libglade dependency. Use GtkBuilder instead. The glade files are
2008-10-13 Felix Riemann <friemann@svn.gnome.org>
* configure.ac:
* data/Makefile.am:
* data/eog-image-properties-dialog.ui:
* data/eog-multiple-save-as-dialog.ui:
* data/eog-preferences-dialog.ui:
* src/eog-dialog.c: (eog_dialog_construct_impl),
(eog_dialog_get_controls):
* src/eog-plugin-manager.c:
* src/eog-preferences-dialog.c:
(eog_preferences_dialog_constructor):
* src/eog-properties-dialog.c: (eog_properties_dialog_init):
* src/eog-save-as-dialog-helper.c: (prepare_format_combobox),
(eog_save_as_dialog_new):
Drop libglade dependency. Use GtkBuilder instead. The glade files are
preserved as source for the GtkBuilder files until there is a UI
editor fully supporting GtkBuilder files. Fixes bug #555916.
svn path=/trunk/; revision=4820
Diffstat (limited to 'src/eog-save-as-dialog-helper.c')
-rw-r--r-- | src/eog-save-as-dialog-helper.c | 50 |
1 files changed, 28 insertions, 22 deletions
diff --git a/src/eog-save-as-dialog-helper.c b/src/eog-save-as-dialog-helper.c index 4da1b246..d034fa38 100644 --- a/src/eog-save-as-dialog-helper.c +++ b/src/eog-save-as-dialog-helper.c @@ -4,7 +4,7 @@ #include <stdlib.h> #include <string.h> -#include <glade/glade.h> +#include <gtk/gtk.h> #include "eog-save-as-dialog-helper.h" #include "eog-pixbuf-util.h" #include "eog-file-chooser.h" @@ -98,7 +98,7 @@ on_format_combobox_changed (GtkComboBox *widget, gpointer data) request_preview_update (GTK_WIDGET (data)); } -static void +void on_token_entry_changed (GtkWidget *widget, gpointer user_data) { SaveAsData *data; @@ -120,7 +120,7 @@ on_replace_spaces_check_clicked (GtkWidget *widget, gpointer data) request_preview_update (GTK_WIDGET (data)); } -static void +void on_counter_spin_changed (GtkWidget *widget, gpointer data) { request_preview_update (GTK_WIDGET (data)); @@ -143,6 +143,8 @@ prepare_format_combobox (SaveAsData *data) cell = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), cell, TRUE); + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combobox), cell, + "text", 0); formats = eog_pixbuf_get_savable_formats (); for (it = formats; it != NULL; it = it->next) { @@ -158,6 +160,7 @@ prepare_format_combobox (SaveAsData *data) gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, _("as is"), 1, NULL, -1); gtk_combo_box_set_active_iter (combobox, &iter); + gtk_widget_show_all (GTK_WIDGET (combobox)); } static void @@ -203,32 +206,39 @@ GtkWidget* eog_save_as_dialog_new (GtkWindow *main, GList *images, GFile *base_file) { char *filepath; - GladeXML *xml; + GtkBuilder *xml; GtkWidget *dlg; SaveAsData *data; GtkWidget *label; filepath = g_build_filename (EOG_DATA_DIR, - "eog-multiple-save-as-dialog.glade", + "eog-multiple-save-as-dialog.ui", NULL); - xml = glade_xml_new (filepath, "eog_multiple_save_as_dialog", GETTEXT_PACKAGE); - + xml = gtk_builder_new (); + gtk_builder_set_translation_domain (xml, GETTEXT_PACKAGE); + g_assert (gtk_builder_add_from_file (xml, filepath, NULL)); + g_free (filepath); - g_assert (xml != NULL); - dlg = glade_xml_get_widget (xml, "eog_multiple_save_as_dialog"); + dlg = GTK_WIDGET (g_object_ref (gtk_builder_get_object (xml, "eog_multiple_save_as_dialog"))); gtk_window_set_transient_for (GTK_WINDOW (dlg), GTK_WINDOW (main)); gtk_window_set_position (GTK_WINDOW (dlg), GTK_WIN_POS_CENTER_ON_PARENT); data = g_new0 (SaveAsData, 1); /* init widget references */ - data->dir_chooser = glade_xml_get_widget (xml, "dir_chooser"); - data->token_entry = glade_xml_get_widget (xml, "token_entry"); - data->replace_spaces_check = glade_xml_get_widget (xml, "replace_spaces_check"); - data->counter_spin = glade_xml_get_widget (xml, "counter_spin"); - data->preview_label = glade_xml_get_widget (xml, "preview_label"); - data->format_combobox = glade_xml_get_widget (xml, "format_combobox"); + data->dir_chooser = GTK_WIDGET (gtk_builder_get_object (xml, + "dir_chooser")); + data->token_entry = GTK_WIDGET (gtk_builder_get_object (xml, + "token_entry")); + data->replace_spaces_check = GTK_WIDGET (gtk_builder_get_object (xml, + "replace_spaces_check")); + data->counter_spin = GTK_WIDGET (gtk_builder_get_object (xml, + "counter_spin")); + data->preview_label = GTK_WIDGET (gtk_builder_get_object (xml, + "preview_label")); + data->format_combobox = GTK_WIDGET (gtk_builder_get_object (xml, + "format_combobox")); /* init preview information */ data->idle_id = 0; @@ -241,22 +251,18 @@ eog_save_as_dialog_new (GtkWindow *main, GList *images, GFile *base_file) g_signal_connect (G_OBJECT (data->format_combobox), "changed", (GCallback) on_format_combobox_changed, dlg); - glade_xml_signal_connect_data (xml, "on_token_entry_changed", - (GCallback) on_token_entry_changed, dlg); - g_signal_connect (G_OBJECT (data->replace_spaces_check), "toggled", (GCallback) on_replace_spaces_check_clicked, dlg); - glade_xml_signal_connect_data (xml, "on_counter_spin_changed", - (GCallback) on_counter_spin_changed, dlg); + gtk_builder_connect_signals (xml, dlg); - label = glade_xml_get_widget (xml, "preview_label_from"); + label = GTK_WIDGET (gtk_builder_get_object (xml, "preview_label_from")); gtk_label_set_text (GTK_LABEL (label), eog_image_get_caption (data->image)); prepare_format_combobox (data); set_default_values (dlg, base_file); - + g_object_unref (xml); return dlg; } |