[evolution/gtk-builder: 5/5] Initial cut at libglade to GtkBuilder conversion.
- From: Matthew Barnes <mbarnes src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [evolution/gtk-builder: 5/5] Initial cut at libglade to GtkBuilder conversion.
- Date: Fri, 30 Oct 2009 12:33:41 +0000 (UTC)
commit 04c4726fbf89d05c9924c67c562e7c7dc302a2b3
Author: Matthew Barnes <mbarnes redhat com>
Date: Thu Sep 24 21:58:22 2009 -0400
Initial cut at libglade to GtkBuilder conversion.
Does not deal with custom widgets in former glade files.
Also, may need to double check data value being passed to autoconnected
signal handlers.
.../gui/contact-editor/e-contact-editor-fullname.c | 35 +-
.../gui/contact-editor/e-contact-editor-fullname.h | 2 +-
addressbook/gui/contact-editor/e-contact-editor.c | 270 ++++++++--------
addressbook/gui/contact-editor/e-contact-editor.h | 2 +-
addressbook/gui/contact-editor/test-editor.c | 2 -
.../contact-list-editor/e-contact-list-editor.c | 16 +-
addressbook/gui/merging/eab-contact-merging.c | 29 +-
addressbook/printing/test-print.c | 2 -
calendar/gui/alarm-notify/alarm-notify-dialog.c | 50 ++--
calendar/gui/alarm-notify/notify-main.c | 2 -
calendar/gui/dialogs/alarm-dialog.c | 78 ++---
calendar/gui/dialogs/alarm-list-dialog.c | 41 +--
calendar/gui/dialogs/cal-prefs-dialog.c | 99 +++---
calendar/gui/dialogs/cal-prefs-dialog.h | 2 +-
calendar/gui/dialogs/e-delegate-dialog.c | 27 +-
calendar/gui/dialogs/event-page.c | 39 +--
calendar/gui/dialogs/memo-page.c | 35 +--
calendar/gui/dialogs/recurrence-page.c | 35 +--
calendar/gui/dialogs/schedule-page.c | 27 +-
calendar/gui/dialogs/task-details-page.c | 33 +--
calendar/gui/dialogs/task-page.c | 85 ++---
calendar/gui/goto.c | 19 +-
doc/reference/shell/tmpl/e-util.sgml | 10 -
doc/reference/shell/tmpl/eshell-unused.sgml | 9 +
e-util/e-util.c | 29 ++
e-util/e-util.h | 7 +
filter/e-filter-datespec.c | 26 +-
filter/e-rule-editor.c | 32 +-
filter/e-rule-editor.h | 3 +-
mail/em-account-editor.c | 345 +++++++++-----------
mail/em-filter-editor.c | 21 +-
mail/em-filter-editor.h | 2 +-
mail/em-format-html-display.c | 17 +-
mail/em-subscribe-editor.c | 28 +-
mail/em-vfolder-editor.c | 18 +-
mail/em-vfolder-rule.c | 30 +-
mail/message-tag-followup.c | 29 +-
modules/addressbook/addressbook-config.c | 125 +++-----
modules/mail/em-composer-prefs.c | 49 ++--
modules/mail/em-composer-prefs.h | 2 +-
modules/mail/em-mailer-prefs.c | 100 +++---
modules/mail/em-mailer-prefs.h | 2 +-
modules/mail/em-network-prefs.c | 61 ++--
modules/mail/em-network-prefs.h | 2 +-
plugins/attachment-reminder/Makefile.am | 5 +-
plugins/attachment-reminder/attachment-reminder.c | 24 +-
plugins/email-custom-header/email-custom-header.c | 47 +--
plugins/groupwise-features/junk-settings.c | 34 +--
plugins/groupwise-features/junk-settings.h | 6 +-
plugins/groupwise-features/proxy-login.c | 27 +-
plugins/groupwise-features/proxy.c | 77 ++---
plugins/groupwise-features/share-folder.c | 61 ++--
plugins/groupwise-features/share-folder.h | 7 +-
plugins/imap-features/imap-headers.c | 31 +-
plugins/publish-calendar/publish-calendar.c | 25 +-
plugins/publish-calendar/url-editor-dialog.c | 23 +-
plugins/publish-calendar/url-editor-dialog.h | 2 +-
plugins/templates/templates.c | 23 +-
shell/main.c | 1 -
smime/gui/ca-trust-dialog.c | 25 +-
smime/gui/cert-trust-dialog.c | 23 +-
smime/gui/certificate-manager.c | 47 ++--
smime/gui/certificate-viewer.c | 45 ++--
smime/gui/e-cert-selector.c | 19 +-
widgets/e-timezone-dialog/e-timezone-dialog.c | 39 +--
widgets/menus/gal-define-views-dialog.c | 32 +-
widgets/menus/gal-define-views-dialog.h | 2 +-
widgets/menus/gal-view-instance-save-as-dialog.c | 29 +-
widgets/menus/gal-view-instance-save-as-dialog.h | 2 +-
widgets/menus/gal-view-new-dialog.c | 26 +-
widgets/menus/gal-view-new-dialog.h | 2 +-
widgets/misc/Makefile.am | 2 +
widgets/misc/e-send-options.c | 90 +++---
widgets/table/e-table-config.c | 122 +++----
widgets/table/e-table-field-chooser.c | 25 +-
widgets/table/e-table-field-chooser.h | 2 +-
76 files changed, 1227 insertions(+), 1575 deletions(-)
---
diff --git a/addressbook/gui/contact-editor/e-contact-editor-fullname.c b/addressbook/gui/contact-editor/e-contact-editor-fullname.c
index b68293b..abea916 100644
--- a/addressbook/gui/contact-editor/e-contact-editor-fullname.c
+++ b/addressbook/gui/contact-editor/e-contact-editor-fullname.c
@@ -21,10 +21,13 @@
*/
#include <config.h>
-#include "e-contact-editor-fullname.h"
-#include <e-util/e-util-private.h>
#include <glib/gi18n.h>
+#include "e-util/e-util.h"
+#include "e-util/e-util-private.h"
+
+#include "e-contact-editor-fullname.h"
+
static void e_contact_editor_fullname_init (EContactEditorFullname *card);
static void e_contact_editor_fullname_class_init (EContactEditorFullnameClass *klass);
static void e_contact_editor_fullname_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
@@ -97,9 +100,8 @@ e_contact_editor_fullname_class_init (EContactEditorFullnameClass *klass)
static void
e_contact_editor_fullname_init (EContactEditorFullname *e_contact_editor_fullname)
{
- GladeXML *gui;
+ GtkBuilder *builder;
GtkWidget *widget;
- gchar *gladefile;
gtk_widget_realize (GTK_WIDGET (e_contact_editor_fullname));
gtk_dialog_set_has_separator (GTK_DIALOG (e_contact_editor_fullname),
@@ -116,19 +118,16 @@ e_contact_editor_fullname_init (EContactEditorFullname *e_contact_editor_fullnam
e_contact_editor_fullname->name = NULL;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "fullname.glade",
- NULL);
- gui = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "fullname.ui");
- e_contact_editor_fullname->gui = gui;
+ e_contact_editor_fullname->builder = builder;
- widget = glade_xml_get_widget(gui, "dialog-checkfullname");
+ widget = e_builder_get_widget(builder, "dialog-checkfullname");
gtk_window_set_title (GTK_WINDOW (e_contact_editor_fullname),
GTK_WINDOW (widget)->title);
- widget = glade_xml_get_widget(gui, "table-checkfullname");
+ widget = e_builder_get_widget(builder, "table-checkfullname");
g_object_ref(widget);
gtk_container_remove(GTK_CONTAINER(widget->parent), widget);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (e_contact_editor_fullname)->vbox), widget, TRUE, TRUE, 0);
@@ -143,9 +142,9 @@ e_contact_editor_fullname_dispose (GObject *object)
{
EContactEditorFullname *e_contact_editor_fullname = E_CONTACT_EDITOR_FULLNAME(object);
- if (e_contact_editor_fullname->gui) {
- g_object_unref(e_contact_editor_fullname->gui);
- e_contact_editor_fullname->gui = NULL;
+ if (e_contact_editor_fullname->builder) {
+ g_object_unref(e_contact_editor_fullname->builder);
+ e_contact_editor_fullname->builder = NULL;
}
if (e_contact_editor_fullname->name) {
@@ -205,7 +204,7 @@ e_contact_editor_fullname_set_property (GObject *object, guint prop_id,
};
e_contact_editor_fullname->editable = g_value_get_boolean (value) ? TRUE : FALSE;
for (i = 0; widget_names[i] != NULL; i ++) {
- GtkWidget *w = glade_xml_get_widget(e_contact_editor_fullname->gui, widget_names[i]);
+ GtkWidget *w = e_builder_get_widget(e_contact_editor_fullname->builder, widget_names[i]);
if (GTK_IS_ENTRY (w)) {
gtk_editable_set_editable (GTK_EDITABLE (w),
e_contact_editor_fullname->editable);
@@ -254,7 +253,7 @@ fill_in_field (EContactEditorFullname *editor,
const gchar *field,
const gchar *string)
{
- GtkWidget *widget = glade_xml_get_widget (editor->gui, field);
+ GtkWidget *widget = e_builder_get_widget (editor->builder, field);
GtkEntry *entry = NULL;
if (GTK_IS_ENTRY (widget))
@@ -287,7 +286,7 @@ static gchar *
extract_field (EContactEditorFullname *editor,
const gchar *field)
{
- GtkWidget *widget = glade_xml_get_widget(editor->gui, field);
+ GtkWidget *widget = e_builder_get_widget(editor->builder, field);
GtkEntry *entry = NULL;
if (GTK_IS_ENTRY (widget))
diff --git a/addressbook/gui/contact-editor/e-contact-editor-fullname.h b/addressbook/gui/contact-editor/e-contact-editor-fullname.h
index 79e773e..db45b08 100644
--- a/addressbook/gui/contact-editor/e-contact-editor-fullname.h
+++ b/addressbook/gui/contact-editor/e-contact-editor-fullname.h
@@ -52,7 +52,7 @@ struct _EContactEditorFullname
/* item specific fields */
EContactName *name;
- GladeXML *gui;
+ GtkBuilder *builder;
/* Whether the dialog will accept modifications */
guint editable : 1;
diff --git a/addressbook/gui/contact-editor/e-contact-editor.c b/addressbook/gui/contact-editor/e-contact-editor.c
index e416a41..a32f178 100644
--- a/addressbook/gui/contact-editor/e-contact-editor.c
+++ b/addressbook/gui/contact-editor/e-contact-editor.c
@@ -497,8 +497,8 @@ name_to_style (const EContactName *name, const gchar *company, gint style)
static gint
file_as_get_style (EContactEditor *editor)
{
- GtkEntry *file_as = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (glade_xml_get_widget(editor->gui, "combo-file-as"))));
- GtkEntry *company_w = GTK_ENTRY (glade_xml_get_widget (editor->gui, "entry-company"));
+ GtkEntry *file_as = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (e_builder_get_widget(editor->builder, "combo-file-as"))));
+ GtkEntry *company_w = GTK_ENTRY (e_builder_get_widget (editor->builder, "entry-company"));
gchar *filestring;
gchar *trystring;
EContactName *name = editor->name;
@@ -530,8 +530,8 @@ file_as_set_style (EContactEditor *editor, gint style)
gchar *string;
gint i;
GList *strings = NULL;
- GtkComboBox *combo_file_as = GTK_COMBO_BOX (glade_xml_get_widget (editor->gui, "combo-file-as"));
- GtkEntry *company_w = GTK_ENTRY (glade_xml_get_widget (editor->gui, "entry-company"));
+ GtkComboBox *combo_file_as = GTK_COMBO_BOX (e_builder_get_widget (editor->builder, "combo-file-as"));
+ GtkEntry *company_w = GTK_ENTRY (e_builder_get_widget (editor->builder, "entry-company"));
const gchar *company;
if (!(combo_file_as && GTK_IS_COMBO_BOX_ENTRY (combo_file_as)))
@@ -634,8 +634,8 @@ fill_in_source_field (EContactEditor *editor)
if (!editor->target_book)
return;
- source_menu = glade_xml_get_widget (
- editor->gui, "source-combo-box-source");
+ source_menu = e_builder_get_widget (
+ editor->builder, "source-combo-box-source");
e_source_combo_box_set_active (
E_SOURCE_COMBO_BOX (source_menu),
@@ -647,9 +647,9 @@ sensitize_ok (EContactEditor *ce)
{
GtkWidget *widget;
gboolean allow_save;
- GtkWidget *entry_fullname = glade_xml_get_widget (ce->gui, "entry-fullname" );
- GtkWidget *entry_file_as = gtk_bin_get_child (GTK_BIN (glade_xml_get_widget (ce->gui, "combo-file-as")));
- GtkWidget *company_name = glade_xml_get_widget (ce->gui, "entry-company");
+ GtkWidget *entry_fullname = e_builder_get_widget (ce->builder, "entry-fullname" );
+ GtkWidget *entry_file_as = gtk_bin_get_child (GTK_BIN (e_builder_get_widget (ce->builder, "combo-file-as")));
+ GtkWidget *company_name = e_builder_get_widget (ce->builder, "entry-company");
const gchar *name_entry_string = gtk_entry_get_text (GTK_ENTRY (entry_fullname));
const gchar *file_as_entry_string = gtk_entry_get_text (GTK_ENTRY (entry_file_as));
const gchar *company_name_string = gtk_entry_get_text (GTK_ENTRY (company_name));
@@ -663,7 +663,7 @@ sensitize_ok (EContactEditor *ce)
else
allow_save = FALSE;
}
- widget = glade_xml_get_widget (ce->gui, "button-ok");
+ widget = e_builder_get_widget (ce->builder, "button-ok");
gtk_widget_set_sensitive (widget, allow_save);
}
@@ -724,11 +724,11 @@ init_email_record_location (EContactEditor *editor, gint record)
gint i;
widget_name = g_strdup_printf ("entry-email-%d", record);
- email_entry = glade_xml_get_widget (editor->gui, widget_name);
+ email_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
widget_name = g_strdup_printf ("combobox-email-%d", record);
- location_combo_box = GTK_COMBO_BOX (glade_xml_get_widget (editor->gui, widget_name));
+ location_combo_box = GTK_COMBO_BOX (e_builder_get_widget (editor->builder, widget_name));
g_free (widget_name);
gtk_list_store_clear (GTK_LIST_STORE (gtk_combo_box_get_model (location_combo_box)));
@@ -760,11 +760,11 @@ fill_in_email_record (EContactEditor *editor, gint record, const gchar *address,
gchar *widget_name;
widget_name = g_strdup_printf ("combobox-email-%d", record);
- location_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ location_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
widget_name = g_strdup_printf ("entry-email-%d", record);
- email_entry = glade_xml_get_widget (editor->gui, widget_name);
+ email_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
set_combo_box_active (editor, GTK_COMBO_BOX (location_combo_box),
@@ -780,11 +780,11 @@ extract_email_record (EContactEditor *editor, gint record, gchar **address, gint
gchar *widget_name;
widget_name = g_strdup_printf ("combobox-email-%d", record);
- location_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ location_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
widget_name = g_strdup_printf ("entry-email-%d", record);
- email_entry = glade_xml_get_widget (editor->gui, widget_name);
+ email_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
*address = g_strdup (gtk_entry_get_text (GTK_ENTRY (email_entry)));
@@ -923,7 +923,7 @@ alloc_ui_slot (EContactEditor *editor, const gchar *widget_base, gint preferred_
if (preferred_slot >= 1) {
widget_name = g_strdup_printf ("%s-%d", widget_base, preferred_slot);
- widget = glade_xml_get_widget (editor->gui, widget_name);
+ widget = e_builder_get_widget (editor->builder, widget_name);
entry_contents = gtk_entry_get_text (GTK_ENTRY (widget));
g_free (widget_name);
@@ -935,7 +935,7 @@ alloc_ui_slot (EContactEditor *editor, const gchar *widget_base, gint preferred_
for (i = 1; i <= num_slots; i++) {
widget_name = g_strdup_printf ("%s-%d", widget_base, i);
- widget = glade_xml_get_widget (editor->gui, widget_name);
+ widget = e_builder_get_widget (editor->builder, widget_name);
entry_contents = gtk_entry_get_text (GTK_ENTRY (widget));
g_free (widget_name);
@@ -1051,11 +1051,11 @@ sensitize_email_record (EContactEditor *editor, gint record, gboolean enabled)
gchar *widget_name;
widget_name = g_strdup_printf ("combobox-email-%d", record);
- location_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ location_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
widget_name = g_strdup_printf ("entry-email-%d", record);
- email_entry = glade_xml_get_widget (editor->gui, widget_name);
+ email_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
gtk_widget_set_sensitive (location_combo_box, enabled);
@@ -1149,8 +1149,8 @@ expand_phone (EContactEditor *editor, gboolean expanded)
GtkWidget *phone_ext_table;
GtkWidget *phone_ext_arrow;
- phone_ext_table = glade_xml_get_widget (editor->gui, "table-phone-extended");
- phone_ext_arrow = glade_xml_get_widget (editor->gui, "arrow-phone-expand");
+ phone_ext_table = e_builder_get_widget (editor->builder, "table-phone-extended");
+ phone_ext_arrow = e_builder_get_widget (editor->builder, "arrow-phone-expand");
if (expanded) {
gtk_arrow_set (GTK_ARROW (phone_ext_arrow), GTK_ARROW_DOWN, GTK_SHADOW_NONE);
@@ -1169,11 +1169,11 @@ fill_in_phone_record (EContactEditor *editor, gint record, const gchar *phone, g
gchar *widget_name;
widget_name = g_strdup_printf ("combobox-phone-%d", record);
- phone_type_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ phone_type_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
widget_name = g_strdup_printf ("entry-phone-%d", record);
- phone_entry = glade_xml_get_widget (editor->gui, widget_name);
+ phone_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
set_combo_box_active (editor, GTK_COMBO_BOX (phone_type_combo_box),
@@ -1193,11 +1193,11 @@ extract_phone_record (EContactEditor *editor, gint record, gchar **phone, gint *
gchar *widget_name;
widget_name = g_strdup_printf ("combobox-phone-%d", record);
- phone_type_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ phone_type_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
widget_name = g_strdup_printf ("entry-phone-%d", record);
- phone_entry = glade_xml_get_widget (editor->gui, widget_name);
+ phone_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
*phone = g_strdup (gtk_entry_get_text (GTK_ENTRY (phone_entry)));
@@ -1309,11 +1309,11 @@ init_phone_record_type (EContactEditor *editor, gint record)
GtkListStore *store;
widget_name = g_strdup_printf ("entry-phone-%d", record);
- phone_entry = glade_xml_get_widget (editor->gui, widget_name);
+ phone_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
widget_name = g_strdup_printf ("combobox-phone-%d", record);
- phone_type_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ phone_type_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
init_item_sensitiveable_combo_box (GTK_COMBO_BOX (phone_type_combo_box));
@@ -1381,11 +1381,11 @@ sensitize_phone_record (EContactEditor *editor, gint record, gboolean enabled)
gchar *widget_name;
widget_name = g_strdup_printf ("combobox-phone-%d", record);
- phone_type_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ phone_type_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
widget_name = g_strdup_printf ("entry-phone-%d", record);
- phone_entry = glade_xml_get_widget (editor->gui, widget_name);
+ phone_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
gtk_widget_set_sensitive (phone_type_combo_box, enabled);
@@ -1420,7 +1420,7 @@ init_im_record_location (EContactEditor *editor, gint record)
gchar *widget_name;
widget_name = g_strdup_printf ("combobox-im-location-%d", record);
- location_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ location_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
init_item_sensitiveable_combo_box (GTK_COMBO_BOX (location_combo_box));
@@ -1451,11 +1451,11 @@ init_im_record_service (EContactEditor *editor, gint record)
gint i;
widget_name = g_strdup_printf ("entry-im-name-%d", record);
- name_entry = glade_xml_get_widget (editor->gui, widget_name);
+ name_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
widget_name = g_strdup_printf ("combobox-im-service-%d", record);
- service_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ service_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
init_item_sensitiveable_combo_box (GTK_COMBO_BOX (service_combo_box));
@@ -1500,17 +1500,17 @@ fill_in_im_record (EContactEditor *editor, gint record, gint service, const gcha
gchar *widget_name;
widget_name = g_strdup_printf ("combobox-im-service-%d", record);
- service_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ service_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
#ifdef ENABLE_IM_LOCATION
widget_name = g_strdup_printf ("combobox-im-location-%d", record);
- location_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ location_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
#endif
widget_name = g_strdup_printf ("entry-im-name-%d", record);
- name_entry = glade_xml_get_widget (editor->gui, widget_name);
+ name_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
#ifdef ENABLE_IM_LOCATION
@@ -1570,17 +1570,17 @@ extract_im_record (EContactEditor *editor, gint record, gint *service, gchar **n
gchar *widget_name;
widget_name = g_strdup_printf ("combobox-im-service-%d", record);
- service_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ service_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
#ifdef ENABLE_IM_LOCATION
widget_name = g_strdup_printf ("combobox-im-location-%d", record);
- location_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ location_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
#endif
widget_name = g_strdup_printf ("entry-im-name-%d", record);
- name_entry = glade_xml_get_widget (editor->gui, widget_name);
+ name_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
*name = g_strdup (gtk_entry_get_text (GTK_ENTRY (name_entry)));
@@ -1693,17 +1693,17 @@ sensitize_im_record (EContactEditor *editor, gint record, gboolean enabled)
gchar *widget_name;
widget_name = g_strdup_printf ("combobox-im-service-%d", record);
- service_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ service_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
#ifdef ENABLE_IM_LOCATION
widget_name = g_strdup_printf ("combobox-im-location-%d", record);
- location_combo_box = glade_xml_get_widget (editor->gui, widget_name);
+ location_combo_box = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
#endif
widget_name = g_strdup_printf ("entry-im-name-%d", record);
- name_entry = glade_xml_get_widget (editor->gui, widget_name);
+ name_entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
gtk_widget_set_sensitive (service_combo_box, enabled);
@@ -1746,7 +1746,7 @@ init_address_textview (EContactEditor *editor, gint record)
GtkTextBuffer *text_buffer;
textview_name = g_strdup_printf ("textview-%s-address", address_name [record]);
- textview = glade_xml_get_widget (editor->gui, textview_name);
+ textview = e_builder_get_widget (editor->builder, textview_name);
g_free (textview_name);
text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview));
@@ -1760,7 +1760,7 @@ init_address_field (EContactEditor *editor, gint record, const gchar *widget_fie
GtkWidget *entry;
entry_name = g_strdup_printf ("entry-%s-%s", address_name [record], widget_field_name);
- entry = glade_xml_get_widget (editor->gui, entry_name);
+ entry = e_builder_get_widget (editor->builder, entry_name);
g_free (entry_name);
g_signal_connect (entry, "changed", G_CALLBACK (object_changed), editor);
@@ -1796,7 +1796,7 @@ fill_in_address_textview (EContactEditor *editor, gint record, EContactAddress *
GtkTextIter iter_end, iter_start;
textview_name = g_strdup_printf ("textview-%s-address", address_name [record]);
- textview = glade_xml_get_widget (editor->gui, textview_name);
+ textview = e_builder_get_widget (editor->builder, textview_name);
g_free (textview_name);
text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview));
@@ -1821,7 +1821,7 @@ fill_in_address_label_textview (EContactEditor *editor, gint record, const gchar
GtkTextBuffer *text_buffer;
textview_name = g_strdup_printf ("textview-%s-address", address_name [record]);
- textview = glade_xml_get_widget (editor->gui, textview_name);
+ textview = e_builder_get_widget (editor->builder, textview_name);
g_free (textview_name);
text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview));
@@ -1836,7 +1836,7 @@ fill_in_address_field (EContactEditor *editor, gint record, const gchar *widget_
GtkWidget *entry;
entry_name = g_strdup_printf ("entry-%s-%s", address_name [record], widget_field_name);
- entry = glade_xml_get_widget (editor->gui, entry_name);
+ entry = e_builder_get_widget (editor->builder, entry_name);
g_free (entry_name);
set_entry_text (editor, GTK_ENTRY (entry), string);
@@ -1892,7 +1892,7 @@ extract_address_textview (EContactEditor *editor, gint record, EContactAddress *
GtkTextIter iter_1, iter_2;
textview_name = g_strdup_printf ("textview-%s-address", address_name [record]);
- textview = glade_xml_get_widget (editor->gui, textview_name);
+ textview = e_builder_get_widget (editor->builder, textview_name);
g_free (textview_name);
text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview));
@@ -1931,7 +1931,7 @@ extract_address_field (EContactEditor *editor, gint record, const gchar *widget_
GtkWidget *entry;
entry_name = g_strdup_printf ("entry-%s-%s", address_name [record], widget_field_name);
- entry = glade_xml_get_widget (editor->gui, entry_name);
+ entry = e_builder_get_widget (editor->builder, entry_name);
g_free (entry_name);
return g_strdup (gtk_entry_get_text (GTK_ENTRY (entry)));
@@ -2022,11 +2022,11 @@ sensitize_address_textview (EContactEditor *editor, gint record, gboolean enable
GtkWidget *label;
widget_name = g_strdup_printf ("textview-%s-address", address_name [record]);
- textview = glade_xml_get_widget (editor->gui, widget_name);
+ textview = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
widget_name = g_strdup_printf ("label-%s-address", address_name [record]);
- label = glade_xml_get_widget (editor->gui, widget_name);
+ label = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
gtk_text_view_set_editable (GTK_TEXT_VIEW (textview), enabled);
@@ -2042,11 +2042,11 @@ sensitize_address_field (EContactEditor *editor, gint record, const gchar *widge
GtkWidget *label;
widget_name = g_strdup_printf ("entry-%s-%s", address_name [record], widget_field_name);
- entry = glade_xml_get_widget (editor->gui, widget_name);
+ entry = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
widget_name = g_strdup_printf ("label-%s-%s", address_name [record], widget_field_name);
- label = glade_xml_get_widget (editor->gui, widget_name);
+ label = e_builder_get_widget (editor->builder, widget_name);
g_free (widget_name);
gtk_editable_set_editable (GTK_EDITABLE (entry), enabled);
@@ -2426,7 +2426,7 @@ init_simple (EContactEditor *editor)
gint i;
for (i = 0; i < G_N_ELEMENTS (simple_field_map); i++) {
- widget = glade_xml_get_widget (editor->gui, simple_field_map [i].widget_name);
+ widget = e_builder_get_widget (editor->builder, simple_field_map [i].widget_name);
if (!widget)
continue;
@@ -2437,11 +2437,11 @@ init_simple (EContactEditor *editor)
/* Update file_as */
- widget = glade_xml_get_widget (editor->gui, "entry-fullname");
+ widget = e_builder_get_widget (editor->builder, "entry-fullname");
g_signal_connect (widget, "changed", G_CALLBACK (name_entry_changed), editor);
- widget = glade_xml_get_widget (editor->gui, "combo-file-as");
+ widget = e_builder_get_widget (editor->builder, "combo-file-as");
g_signal_connect (widget, "changed", G_CALLBACK (file_as_combo_changed), editor);
- widget = glade_xml_get_widget (editor->gui, "entry-company");
+ widget = e_builder_get_widget (editor->builder, "entry-company");
g_signal_connect (widget, "changed", G_CALLBACK (company_entry_changed), editor);
}
@@ -2459,7 +2459,7 @@ fill_in_simple (EContactEditor *editor)
!simple_field_map [i].process_data)
continue;
- widget = glade_xml_get_widget (editor->gui, simple_field_map [i].widget_name);
+ widget = e_builder_get_widget (editor->builder, simple_field_map [i].widget_name);
if (!widget)
continue;
@@ -2509,7 +2509,7 @@ extract_simple (EContactEditor *editor)
!simple_field_map [i].process_data)
continue;
- widget = glade_xml_get_widget (editor->gui, simple_field_map [i].widget_name);
+ widget = e_builder_get_widget (editor->builder, simple_field_map [i].widget_name);
if (!widget)
continue;
@@ -2530,7 +2530,7 @@ sensitize_simple (EContactEditor *editor)
GtkWidget *widget;
gboolean enabled = TRUE;
- widget = glade_xml_get_widget (editor->gui, simple_field_map [i].widget_name);
+ widget = e_builder_get_widget (editor->builder, simple_field_map [i].widget_name);
if (!widget)
continue;
@@ -2599,8 +2599,8 @@ new_target_cb (EBook *new_book, EBookStatus status, EContactEditor *editor)
eab_load_error_dialog (NULL, e_book_get_source (new_book), status);
- source_combo_box = glade_xml_get_widget (
- editor->gui, "source-combo-box-source");
+ source_combo_box = e_builder_get_widget (
+ editor->builder, "source-combo-box-source");
e_source_combo_box_set_active (
E_SOURCE_COMBO_BOX (source_combo_box),
e_book_get_source (editor->target_book));
@@ -2667,7 +2667,7 @@ full_name_response (GtkDialog *dialog, gint response, EContactEditor *editor)
style = file_as_get_style(editor);
- fname_widget = glade_xml_get_widget(editor->gui, "entry-fullname");
+ fname_widget = e_builder_get_widget(editor->builder, "entry-fullname");
if (fname_widget && GTK_IS_ENTRY (fname_widget)) {
gchar *full_name = e_contact_name_to_string(name);
const gchar *old_full_name = gtk_entry_get_text (GTK_ENTRY(fname_widget));
@@ -2729,7 +2729,7 @@ static void
categories_response (GtkDialog *dialog, gint response, EContactEditor *editor)
{
const gchar *categories;
- GtkWidget *entry = glade_xml_get_widget(editor->gui, "entry-categories");
+ GtkWidget *entry = e_builder_get_widget(editor->builder, "entry-categories");
if (response == GTK_RESPONSE_OK) {
categories = e_categories_dialog_get_categories (E_CATEGORIES_DIALOG (dialog));
@@ -2757,7 +2757,7 @@ categories_clicked (GtkWidget *button, EContactEditor *editor)
{
gchar *categories = NULL;
GtkDialog *dialog;
- GtkWidget *entry = glade_xml_get_widget(editor->gui, "entry-categories");
+ GtkWidget *entry = e_builder_get_widget(editor->builder, "entry-categories");
if (entry && GTK_IS_ENTRY(entry))
categories = g_strdup (gtk_entry_get_text(GTK_ENTRY(entry)));
@@ -2798,7 +2798,7 @@ image_selected (EContactEditor *editor)
if (!file_name)
return;
- image_chooser = glade_xml_get_widget (editor->gui, "image-chooser");
+ image_chooser = e_builder_get_widget (editor->builder, "image-chooser");
g_signal_handlers_block_by_func (image_chooser, image_chooser_changed, editor);
e_image_chooser_set_from_file (E_IMAGE_CHOOSER (image_chooser), file_name);
@@ -2815,7 +2815,7 @@ image_cleared (EContactEditor *editor)
GtkWidget *image_chooser;
gchar *file_name;
- image_chooser = glade_xml_get_widget (editor->gui, "image-chooser");
+ image_chooser = e_builder_get_widget (editor->builder, "image-chooser");
file_name = e_icon_factory_get_icon_filename ("stock_person", GTK_ICON_SIZE_DIALOG);
@@ -3059,9 +3059,9 @@ save_contact (EContactEditor *ce, gboolean should_close)
return;
}
- entry_fullname = glade_xml_get_widget (ce->gui, "entry-fullname" );
- entry_file_as = gtk_bin_get_child (GTK_BIN (glade_xml_get_widget (ce->gui, "combo-file-as")));
- company_name = glade_xml_get_widget (ce->gui, "entry-company");
+ entry_fullname = e_builder_get_widget (ce->builder, "entry-fullname" );
+ entry_file_as = gtk_bin_get_child (GTK_BIN (e_builder_get_widget (ce->builder, "combo-file-as")));
+ company_name = e_builder_get_widget (ce->builder, "entry-company");
name_entry_string = gtk_entry_get_text (GTK_ENTRY (entry_fullname));
file_as_entry_string = gtk_entry_get_text (GTK_ENTRY (entry_file_as));
company_name_string = gtk_entry_get_text (GTK_ENTRY (company_name));
@@ -3154,14 +3154,14 @@ e_contact_editor_is_valid (EABEditor *editor)
EIterator *iter;
GString *errmsg = g_string_new (_("The contact data is invalid:\n\n"));
- widget = glade_xml_get_widget (ce->gui, "dateedit-birthday");
+ widget = e_builder_get_widget (ce->builder, "dateedit-birthday");
if (!(e_date_edit_date_is_valid (E_DATE_EDIT (widget)))) {
g_string_append_printf (errmsg, _("'%s' has an invalid format"),
e_contact_pretty_name (E_CONTACT_BIRTH_DATE));
validation_error = TRUE;
}
- widget = glade_xml_get_widget (ce->gui, "dateedit-anniversary");
+ widget = e_builder_get_widget (ce->builder, "dateedit-anniversary");
if (!(e_date_edit_date_is_valid (E_DATE_EDIT (widget)))) {
g_string_append_printf (errmsg, _("%s'%s' has an invalid format"),
validation_error ? ",\n" : "",
@@ -3281,79 +3281,79 @@ show_help_cb (GtkWidget *widget, gpointer data)
}
static GList *
-add_to_tab_order(GList *list, GladeXML *gui, const gchar *name)
+add_to_tab_order(GList *list, GtkBuilder *builder, const gchar *name)
{
- GtkWidget *widget = glade_xml_get_widget(gui, name);
+ GtkWidget *widget = e_builder_get_widget(builder, name);
return g_list_prepend(list, widget);
}
static void
-setup_tab_order(GladeXML *gui)
+setup_tab_order(GtkBuilder *builder)
{
GtkWidget *container;
GList *list = NULL;
/*
- container = glade_xml_get_widget(gui, "table-contact-editor-general");
+ container = e_builder_get_widget(builder, "table-contact-editor-general");
if (container) {
- list = add_to_tab_order(list, gui, "entry-fullname");
- list = add_to_tab_order(list, gui, "entry-jobtitle");
- list = add_to_tab_order(list, gui, "entry-company");
- list = add_to_tab_order(list, gui, "combo-file-as");
- list = add_to_tab_order(list, gui, "entry-phone-1");
- list = add_to_tab_order(list, gui, "entry-phone-2");
- list = add_to_tab_order(list, gui, "entry-phone-3");
- list = add_to_tab_order(list, gui, "entry-phone-4");
-
- list = add_to_tab_order(list, gui, "entry-email1");
- list = add_to_tab_order(list, gui, "alignment-htmlmail");
- list = add_to_tab_order(list, gui, "entry-web");
- list = add_to_tab_order(list, gui, "entry-homepage");
- list = add_to_tab_order(list, gui, "button-fulladdr");
- list = add_to_tab_order(list, gui, "text-address");
+ list = add_to_tab_order(list, builder, "entry-fullname");
+ list = add_to_tab_order(list, builder, "entry-jobtitle");
+ list = add_to_tab_order(list, builder, "entry-company");
+ list = add_to_tab_order(list, builder, "combo-file-as");
+ list = add_to_tab_order(list, builder, "entry-phone-1");
+ list = add_to_tab_order(list, builder, "entry-phone-2");
+ list = add_to_tab_order(list, builder, "entry-phone-3");
+ list = add_to_tab_order(list, builder, "entry-phone-4");
+
+ list = add_to_tab_order(list, builder, "entry-email1");
+ list = add_to_tab_order(list, builder, "alignment-htmlmail");
+ list = add_to_tab_order(list, builder, "entry-web");
+ list = add_to_tab_order(list, builder, "entry-homepage");
+ list = add_to_tab_order(list, builder, "button-fulladdr");
+ list = add_to_tab_order(list, builder, "text-address");
list = g_list_reverse(list);
e_container_change_tab_order(GTK_CONTAINER(container), list);
g_list_free(list);
}
*/
- container = glade_xml_get_widget (gui, "table-home-address");
+ container = e_builder_get_widget (builder, "table-home-address");
gtk_container_get_focus_chain (GTK_CONTAINER (container), &list);
- list = add_to_tab_order (list, gui, "scrolledwindow-home-address");
- list = add_to_tab_order (list, gui, "entry-home-city");
- list = add_to_tab_order (list, gui, "entry-home-zip");
- list = add_to_tab_order (list, gui, "entry-home-state");
- list = add_to_tab_order (list, gui, "entry-home-pobox");
- list = add_to_tab_order (list, gui, "entry-home-country");
+ list = add_to_tab_order (list, builder, "scrolledwindow-home-address");
+ list = add_to_tab_order (list, builder, "entry-home-city");
+ list = add_to_tab_order (list, builder, "entry-home-zip");
+ list = add_to_tab_order (list, builder, "entry-home-state");
+ list = add_to_tab_order (list, builder, "entry-home-pobox");
+ list = add_to_tab_order (list, builder, "entry-home-country");
list = g_list_reverse (list);
gtk_container_set_focus_chain (GTK_CONTAINER (container), list);
g_list_free (list);
- container = glade_xml_get_widget (gui, "table-work-address");
+ container = e_builder_get_widget (builder, "table-work-address");
gtk_container_get_focus_chain (GTK_CONTAINER (container), &list);
- list = add_to_tab_order (list, gui, "scrolledwindow-work-address");
- list = add_to_tab_order (list, gui, "entry-work-city");
- list = add_to_tab_order (list, gui, "entry-work-zip");
- list = add_to_tab_order (list, gui, "entry-work-state");
- list = add_to_tab_order (list, gui, "entry-work-pobox");
- list = add_to_tab_order (list, gui, "entry-work-country");
+ list = add_to_tab_order (list, builder, "scrolledwindow-work-address");
+ list = add_to_tab_order (list, builder, "entry-work-city");
+ list = add_to_tab_order (list, builder, "entry-work-zip");
+ list = add_to_tab_order (list, builder, "entry-work-state");
+ list = add_to_tab_order (list, builder, "entry-work-pobox");
+ list = add_to_tab_order (list, builder, "entry-work-country");
list = g_list_reverse (list);
gtk_container_set_focus_chain (GTK_CONTAINER (container), list);
g_list_free (list);
- container = glade_xml_get_widget (gui, "table-other-address");
+ container = e_builder_get_widget (builder, "table-other-address");
gtk_container_get_focus_chain (GTK_CONTAINER (container), &list);
- list = add_to_tab_order (list, gui, "scrolledwindow-other-address");
- list = add_to_tab_order (list, gui, "entry-other-city");
- list = add_to_tab_order (list, gui, "entry-other-zip");
- list = add_to_tab_order (list, gui, "entry-other-state");
- list = add_to_tab_order (list, gui, "entry-other-pobox");
- list = add_to_tab_order (list, gui, "entry-other-country");
+ list = add_to_tab_order (list, builder, "scrolledwindow-other-address");
+ list = add_to_tab_order (list, builder, "entry-other-city");
+ list = add_to_tab_order (list, builder, "entry-other-zip");
+ list = add_to_tab_order (list, builder, "entry-other-state");
+ list = add_to_tab_order (list, builder, "entry-other-pobox");
+ list = add_to_tab_order (list, builder, "entry-other-country");
list = g_list_reverse (list);
gtk_container_set_focus_chain (GTK_CONTAINER (container), list);
@@ -3365,18 +3365,17 @@ expand_phone_toggle (EContactEditor *ce)
{
GtkWidget *phone_ext_table;
- phone_ext_table = glade_xml_get_widget (ce->gui, "table-phone-extended");
+ phone_ext_table = e_builder_get_widget (ce->builder, "table-phone-extended");
expand_phone (ce, GTK_WIDGET_VISIBLE (phone_ext_table) ? FALSE : TRUE);
}
static void
e_contact_editor_init (EContactEditor *e_contact_editor)
{
- GladeXML *gui;
+ GtkBuilder *builder;
EShell *shell;
GtkWidget *widget, *label;
GtkEntryCompletion *completion;
- gchar *gladefile;
e_contact_editor->name = e_contact_name_new();
@@ -3392,17 +3391,14 @@ e_contact_editor_init (EContactEditor *e_contact_editor)
e_contact_editor->load_source_id = 0;
e_contact_editor->load_book = NULL;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "contact-editor.glade",
- NULL);
- gui = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "contact-editor.ui");
- e_contact_editor->gui = gui;
+ e_contact_editor->builder = builder;
- setup_tab_order(gui);
+ setup_tab_order(builder);
- e_contact_editor->app = glade_xml_get_widget (gui, "contact editor");
+ e_contact_editor->app = e_builder_get_widget (builder, "contact editor");
widget = e_contact_editor->app;
gtk_widget_ensure_style (widget);
@@ -3412,31 +3408,31 @@ e_contact_editor_init (EContactEditor *e_contact_editor)
init_all (e_contact_editor);
- widget = glade_xml_get_widget (e_contact_editor->gui, "button-image");
+ widget = e_builder_get_widget (e_contact_editor->builder, "button-image");
g_signal_connect (widget, "clicked", G_CALLBACK (image_clicked), e_contact_editor);
- widget = glade_xml_get_widget(e_contact_editor->gui, "button-fullname");
+ widget = e_builder_get_widget(e_contact_editor->builder, "button-fullname");
g_signal_connect (widget, "clicked", G_CALLBACK (full_name_clicked), e_contact_editor);
- widget = glade_xml_get_widget(e_contact_editor->gui, "button-categories");
+ widget = e_builder_get_widget(e_contact_editor->builder, "button-categories");
g_signal_connect (widget, "clicked", G_CALLBACK (categories_clicked), e_contact_editor);
- widget = glade_xml_get_widget (e_contact_editor->gui, "source-combo-box-source");
+ widget = e_builder_get_widget (e_contact_editor->builder, "source-combo-box-source");
g_signal_connect (widget, "changed", G_CALLBACK (source_changed), e_contact_editor);
- label = glade_xml_get_widget (e_contact_editor->gui, "where-label");
+ label = e_builder_get_widget (e_contact_editor->builder, "where-label");
gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
- widget = glade_xml_get_widget (e_contact_editor->gui, "button-ok");
+ widget = e_builder_get_widget (e_contact_editor->builder, "button-ok");
g_signal_connect (widget, "clicked", G_CALLBACK (file_save_and_close_cb), e_contact_editor);
- widget = glade_xml_get_widget (e_contact_editor->gui, "button-cancel");
+ widget = e_builder_get_widget (e_contact_editor->builder, "button-cancel");
g_signal_connect (widget, "clicked", G_CALLBACK (file_cancel_cb), e_contact_editor);
- widget = glade_xml_get_widget (e_contact_editor->gui, "button-help");
+ widget = e_builder_get_widget (e_contact_editor->builder, "button-help");
g_signal_connect (widget, "clicked", G_CALLBACK (show_help_cb), e_contact_editor);
- widget = glade_xml_get_widget (e_contact_editor->gui, "button-phone-expand");
+ widget = e_builder_get_widget (e_contact_editor->builder, "button-phone-expand");
g_signal_connect_swapped (widget, "clicked", G_CALLBACK (expand_phone_toggle), e_contact_editor);
- widget = glade_xml_get_widget (e_contact_editor->gui, "entry-fullname");
+ widget = e_builder_get_widget (e_contact_editor->builder, "entry-fullname");
if (widget)
gtk_widget_grab_focus (widget);
- widget = glade_xml_get_widget (e_contact_editor->gui, "entry-categories");
+ widget = e_builder_get_widget (e_contact_editor->builder, "entry-categories");
completion = e_category_completion_new ();
gtk_entry_set_completion (GTK_ENTRY (widget), completion);
g_object_unref (completion);
@@ -3496,9 +3492,9 @@ e_contact_editor_dispose (GObject *object)
e_contact_editor->name = NULL;
}
- if (e_contact_editor->gui) {
- g_object_unref(e_contact_editor->gui);
- e_contact_editor->gui = NULL;
+ if (e_contact_editor->builder) {
+ g_object_unref(e_contact_editor->builder);
+ e_contact_editor->builder = NULL;
}
cancel_load (e_contact_editor);
diff --git a/addressbook/gui/contact-editor/e-contact-editor.h b/addressbook/gui/contact-editor/e-contact-editor.h
index acc0a6d..5079f1a 100644
--- a/addressbook/gui/contact-editor/e-contact-editor.h
+++ b/addressbook/gui/contact-editor/e-contact-editor.h
@@ -59,7 +59,7 @@ struct _EContactEditor
EBook *target_book;
EContact *contact;
- GladeXML *gui;
+ GtkBuilder *builder;
GtkWidget *app;
GtkWidget *file_selector;
diff --git a/addressbook/gui/contact-editor/test-editor.c b/addressbook/gui/contact-editor/test-editor.c
index db7352b..2850f38 100644
--- a/addressbook/gui/contact-editor/test-editor.c
+++ b/addressbook/gui/contact-editor/test-editor.c
@@ -83,8 +83,6 @@ gint main( gint argc, gchar *argv[] )
gtk_init (&argc, &argv);
- glade_init ();
-
cardstr = NULL;
if (argc == 2)
cardstr = read_file (argv [1]);
diff --git a/addressbook/gui/contact-list-editor/e-contact-list-editor.c b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
index 05f2169..63e9915 100644
--- a/addressbook/gui/contact-list-editor/e-contact-list-editor.c
+++ b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
@@ -35,6 +35,7 @@
#include <libedataserverui/e-source-combo-box.h>
+#include "e-util/e-util.h"
#include "addressbook/gui/widgets/eab-gui-util.h"
#include "addressbook/util/addressbook.h"
#include "addressbook/util/eab-book-util.h"
@@ -49,8 +50,8 @@
((obj), E_TYPE_CONTACT_LIST_EDITOR, EContactListEditorPrivate))
#define CONTACT_LIST_EDITOR_WIDGET(editor, name) \
- (glade_xml_get_widget \
- (E_CONTACT_LIST_EDITOR_GET_PRIVATE (editor)->xml, name))
+ (e_builder_get_widget \
+ (E_CONTACT_LIST_EDITOR_GET_PRIVATE (editor)->builder, name))
/* More macros, less typos. */
#define CONTACT_LIST_EDITOR_WIDGET_ADD_BUTTON(editor) \
@@ -97,7 +98,7 @@ struct _EContactListEditorPrivate {
EBook *book;
EContact *contact;
- GladeXML *xml;
+ GtkBuilder *builder;
GtkTreeModel *model;
ENameSelector *name_selector;
@@ -1294,18 +1295,15 @@ contact_list_editor_init (EContactListEditor *editor)
GtkTreeViewColumn *column;
GtkCellRenderer *renderer;
GtkTreeView *view;
- gchar *filename;
priv = E_CONTACT_LIST_EDITOR_GET_PRIVATE (editor);
priv->editable = TRUE;
priv->allows_contact_lists = TRUE;
- filename = g_build_filename (
- EVOLUTION_UIDIR, "contact-list-editor.glade", NULL);
- priv->xml = glade_xml_new (filename, NULL, NULL);
- glade_xml_signal_autoconnect (priv->xml);
- g_free (filename);
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "contact-list-editor.ui");
+ gtk_builder_connect_signals (priv->builder, NULL);
/* Embed a pointer to the EContactListEditor in the top-level
* widget. Signal handlers can then access the pointer from any
diff --git a/addressbook/gui/merging/eab-contact-merging.c b/addressbook/gui/merging/eab-contact-merging.c
index cb2bc3f..77d9009 100644
--- a/addressbook/gui/merging/eab-contact-merging.c
+++ b/addressbook/gui/merging/eab-contact-merging.c
@@ -30,6 +30,7 @@
#include <gtk/gtk.h>
#include <string.h>
#include "addressbook/gui/widgets/eab-contact-display.h"
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
#include <glib/gi18n.h>
@@ -454,7 +455,6 @@ static void
match_query_callback (EContact *contact, EContact *match, EABContactMatchType type, gpointer closure)
{
EContactMergingLookup *lookup = closure;
- gchar *gladefile;
gint flag;
gboolean same_uids;
@@ -476,49 +476,46 @@ match_query_callback (EContact *contact, EContact *match, EABContactMatchType ty
if ((gint) type <= (gint) EAB_CONTACT_MATCH_VAGUE || same_uids) {
doit (lookup, same_uids);
} else {
- GladeXML *ui;
+ GtkBuilder *builder;
GtkWidget *widget, *merge_button;
+ /* XXX I think we're leaking the GtkBuilder. */
+ builder = gtk_builder_new ();
+
lookup->match = g_object_ref (match);
if (lookup->op == E_CONTACT_MERGING_ADD) {
/* Compares all the values of contacts and return true, if they match */
flag = check_if_same (contact, match);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "eab-contact-duplicate-detected.glade",
- NULL);
- ui = glade_xml_new (gladefile, NULL, NULL);
- merge_button = glade_xml_get_widget (ui, "button5");
+ e_load_ui_builder_definition (
+ builder, "eab-contact-duplicate-detected.ui");
+ merge_button = e_builder_get_widget (builder, "button5");
/* Merge Button not sensitive when all values are same */
if (flag)
gtk_widget_set_sensitive (GTK_WIDGET (merge_button), FALSE);
- g_free (gladefile);
} else if (lookup->op == E_CONTACT_MERGING_COMMIT) {
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "eab-contact-commit-duplicate-detected.glade",
- NULL);
- ui = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
+ e_load_ui_builder_definition (
+ builder, "eab-contact-commit-duplicate-detected.ui");
} else {
doit (lookup, FALSE);
return;
}
- widget = glade_xml_get_widget (ui, "custom-old-contact");
+ widget = e_builder_get_widget (builder, "custom-old-contact");
eab_contact_display_set_mode (
EAB_CONTACT_DISPLAY (widget),
EAB_CONTACT_DISPLAY_RENDER_COMPACT);
eab_contact_display_set_contact (
EAB_CONTACT_DISPLAY (widget), match);
- widget = glade_xml_get_widget (ui, "custom-new-contact");
+ widget = e_builder_get_widget (builder, "custom-new-contact");
eab_contact_display_set_mode (
EAB_CONTACT_DISPLAY (widget),
EAB_CONTACT_DISPLAY_RENDER_COMPACT);
eab_contact_display_set_contact (
EAB_CONTACT_DISPLAY (widget), contact);
- widget = glade_xml_get_widget (ui, "dialog-duplicate-contact");
+ widget = e_builder_get_widget (builder, "dialog-duplicate-contact");
gtk_widget_ensure_style (widget);
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (widget)->vbox), 0);
diff --git a/addressbook/printing/test-print.c b/addressbook/printing/test-print.c
index c7237fc..bd2f222 100644
--- a/addressbook/printing/test-print.c
+++ b/addressbook/printing/test-print.c
@@ -33,8 +33,6 @@ main (gint argc, gchar *argv[])
gtk_init (&argc, &argv);
- glade_init ();
-
shown_fields = g_list_append (shown_fields, (gpointer) "First field");
shown_fields = g_list_append (shown_fields, (gpointer) "Second field");
shown_fields = g_list_append (shown_fields, (gpointer) "Third field");
diff --git a/calendar/gui/alarm-notify/alarm-notify-dialog.c b/calendar/gui/alarm-notify/alarm-notify-dialog.c
index 76dfede..90d56d3 100644
--- a/calendar/gui/alarm-notify/alarm-notify-dialog.c
+++ b/calendar/gui/alarm-notify/alarm-notify-dialog.c
@@ -31,6 +31,8 @@
#include "alarm-notify-dialog.h"
#include "config-data.h"
#include "util.h"
+
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
#include "misc/e-buffer-tagger.h"
@@ -56,7 +58,7 @@ typedef struct {
} AlarmFuncInfo;
typedef struct {
- GladeXML *xml;
+ GtkBuilder *builder;
GtkWidget *dialog;
GtkWidget *snooze_time_min;
@@ -218,7 +220,7 @@ dialog_destroyed_cb (GtkWidget *dialog, gpointer user_data)
{
AlarmNotify *an = user_data;
- g_object_unref (an->xml);
+ g_object_unref (an->builder);
g_free (an);
}
@@ -251,37 +253,27 @@ notified_alarms_dialog_new (void)
G_TYPE_POINTER /* FuncInfo*/));
- gchar *gladefile;
-
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "alarm-notify.glade",
- NULL);
- an->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
- if (!an->xml) {
- g_message ("alarm_notify_dialog(): Could not load the Glade XML file!");
- g_free (an);
- return NULL;
- }
-
- an->dialog = glade_xml_get_widget (an->xml, "alarm-notify");
- an->snooze_time_min = glade_xml_get_widget (an->xml, "snooze-time-min");
- an->minutes_label = glade_xml_get_widget (an->xml, "minutes-label");
- an->snooze_time_hrs = glade_xml_get_widget (an->xml, "snooze-time-hrs");
- an->hrs_label = glade_xml_get_widget (an->xml, "hrs-label");
- an->description = glade_xml_get_widget (an->xml, "description-label");
- an->location = glade_xml_get_widget (an->xml, "location-label");
- an->treeview = glade_xml_get_widget (an->xml, "appointments-treeview");
- an->scrolledwindow = glade_xml_get_widget (an->xml, "treeview-scrolledwindow");
- snooze_btn = glade_xml_get_widget (an->xml, "snooze-button");
+ an->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (an->builder, "alarm-notify.ui");
+
+ an->dialog = e_builder_get_widget (an->builder, "alarm-notify");
+ an->snooze_time_min = e_builder_get_widget (an->builder, "snooze-time-min");
+ an->minutes_label = e_builder_get_widget (an->builder, "minutes-label");
+ an->snooze_time_hrs = e_builder_get_widget (an->builder, "snooze-time-hrs");
+ an->hrs_label = e_builder_get_widget (an->builder, "hrs-label");
+ an->description = e_builder_get_widget (an->builder, "description-label");
+ an->location = e_builder_get_widget (an->builder, "location-label");
+ an->treeview = e_builder_get_widget (an->builder, "appointments-treeview");
+ an->scrolledwindow = e_builder_get_widget (an->builder, "treeview-scrolledwindow");
+ snooze_btn = e_builder_get_widget (an->builder, "snooze-button");
an->snooze_btn = snooze_btn;
- an->dismiss_btn = glade_xml_get_widget (an->xml, "dismiss-button");
- edit_btn = glade_xml_get_widget (an->xml, "edit-button");
+ an->dismiss_btn = e_builder_get_widget (an->builder, "dismiss-button");
+ edit_btn = e_builder_get_widget (an->builder, "edit-button");
if (!(an->dialog && an->scrolledwindow && an->treeview && an->snooze_time_min && an->snooze_time_hrs
&& an->description && an->location && edit_btn && snooze_btn && an->dismiss_btn)) {
g_message ("alarm_notify_dialog(): Could not find all widgets in Glade file!");
- g_object_unref (an->xml);
+ g_object_unref (an->builder);
g_free (an);
return NULL;
}
@@ -308,7 +300,7 @@ notified_alarms_dialog_new (void)
gtk_widget_realize (an->dialog);
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (an->dialog)->vbox), 0);
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (an->dialog)->action_area), 12);
- image = glade_xml_get_widget (an->xml, "alarm-image");
+ image = e_builder_get_widget (an->builder, "alarm-image");
gtk_image_set_from_icon_name (
GTK_IMAGE (image), "stock_alarm", GTK_ICON_SIZE_DIALOG);
diff --git a/calendar/gui/alarm-notify/notify-main.c b/calendar/gui/alarm-notify/notify-main.c
index 9f07951..e001409 100644
--- a/calendar/gui/alarm-notify/notify-main.c
+++ b/calendar/gui/alarm-notify/notify-main.c
@@ -61,8 +61,6 @@ main (gint argc, gchar **argv)
if (unique_app_is_running (app))
goto exit;
- glade_init ();
-
e_icon_factory_init ();
alarm_notify_service = alarm_notify_new ();
diff --git a/calendar/gui/dialogs/alarm-dialog.c b/calendar/gui/dialogs/alarm-dialog.c
index 960aa11..c07af85 100644
--- a/calendar/gui/dialogs/alarm-dialog.c
+++ b/calendar/gui/dialogs/alarm-dialog.c
@@ -35,6 +35,7 @@
#include "e-util/e-dialog-widgets.h"
#include <libecal/e-cal-util.h>
#include <libecal/e-cal-time-util.h>
+#include "e-util/e-util.h"
#include "e-util/e-dialog-widgets.h"
#include "e-util/e-util-private.h"
#include <libebook/e-destination.h>
@@ -47,8 +48,7 @@
typedef struct {
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
/* The alarm */
ECalComponentAlarm *alarm;
@@ -776,45 +776,41 @@ dialog_to_alarm (Dialog *dialog)
static gboolean
get_widgets (Dialog *dialog)
{
-#define GW(name) glade_xml_get_widget (dialog->xml, name)
-
- dialog->toplevel = GW ("alarm-dialog");
+ dialog->toplevel = e_builder_get_widget (dialog->builder, "alarm-dialog");
if (!dialog->toplevel)
return FALSE;
- dialog->action_combo = GW ("action-combobox");
- dialog->interval_value = GW ("interval-value");
- dialog->value_units_combo = GW ("value-units-combobox");
- dialog->relative_combo = GW ("relative-combobox");
- dialog->time_combo = GW ("time-combobox");
-
- dialog->repeat_toggle = GW ("repeat-toggle");
- dialog->repeat_group = GW ("repeat-group");
- dialog->repeat_quantity = GW ("repeat-quantity");
- dialog->repeat_value = GW ("repeat-value");
- dialog->repeat_unit_combo = GW ("repeat-unit-combobox");
+ dialog->action_combo = e_builder_get_widget (dialog->builder, "action-combobox");
+ dialog->interval_value = e_builder_get_widget (dialog->builder, "interval-value");
+ dialog->value_units_combo = e_builder_get_widget (dialog->builder, "value-units-combobox");
+ dialog->relative_combo = e_builder_get_widget (dialog->builder, "relative-combobox");
+ dialog->time_combo = e_builder_get_widget (dialog->builder, "time-combobox");
- dialog->option_notebook = GW ("option-notebook");
+ dialog->repeat_toggle = e_builder_get_widget (dialog->builder, "repeat-toggle");
+ dialog->repeat_group = e_builder_get_widget (dialog->builder, "repeat-group");
+ dialog->repeat_quantity = e_builder_get_widget (dialog->builder, "repeat-quantity");
+ dialog->repeat_value = e_builder_get_widget (dialog->builder, "repeat-value");
+ dialog->repeat_unit_combo = e_builder_get_widget (dialog->builder, "repeat-unit-combobox");
- dialog->dalarm_group = GW ("dalarm-group");
- dialog->dalarm_message = GW ("dalarm-message");
- dialog->dalarm_description = GW ("dalarm-description");
+ dialog->option_notebook = e_builder_get_widget (dialog->builder, "option-notebook");
- dialog->aalarm_group = GW ("aalarm-group");
- dialog->aalarm_sound = GW ("aalarm-sound");
- dialog->aalarm_file_chooser = GW ("aalarm-file-chooser");
+ dialog->dalarm_group = e_builder_get_widget (dialog->builder, "dalarm-group");
+ dialog->dalarm_message = e_builder_get_widget (dialog->builder, "dalarm-message");
+ dialog->dalarm_description = e_builder_get_widget (dialog->builder, "dalarm-description");
- dialog->malarm_group = GW ("malarm-group");
- dialog->malarm_address_group = GW ("malarm-address-group");
- dialog->malarm_addressbook = GW ("malarm-addressbook");
- dialog->malarm_message = GW ("malarm-message");
- dialog->malarm_description = GW ("malarm-description");
+ dialog->aalarm_group = e_builder_get_widget (dialog->builder, "aalarm-group");
+ dialog->aalarm_sound = e_builder_get_widget (dialog->builder, "aalarm-sound");
+ dialog->aalarm_file_chooser = e_builder_get_widget (dialog->builder, "aalarm-file-chooser");
- dialog->palarm_group = GW ("palarm-group");
- dialog->palarm_program = GW ("palarm-program");
- dialog->palarm_args = GW ("palarm-args");
+ dialog->malarm_group = e_builder_get_widget (dialog->builder, "malarm-group");
+ dialog->malarm_address_group = e_builder_get_widget (dialog->builder, "malarm-address-group");
+ dialog->malarm_addressbook = e_builder_get_widget (dialog->builder, "malarm-addressbook");
+ dialog->malarm_message = e_builder_get_widget (dialog->builder, "malarm-message");
+ dialog->malarm_description = e_builder_get_widget (dialog->builder, "malarm-description");
-#undef GW
+ dialog->palarm_group = e_builder_get_widget (dialog->builder, "palarm-group");
+ dialog->palarm_program = e_builder_get_widget (dialog->builder, "palarm-program");
+ dialog->palarm_args = e_builder_get_widget (dialog->builder, "palarm-args");
if (dialog->action_combo) {
const gchar *actions[] = {
@@ -1214,30 +1210,22 @@ alarm_dialog_run (GtkWidget *parent, ECal *ecal, ECalComponentAlarm *alarm)
{
Dialog dialog;
gint response_id;
- gchar *gladefile;
g_return_val_if_fail (alarm != NULL, FALSE);
dialog.alarm = alarm;
dialog.ecal = ecal;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "alarm-dialog.glade",
- NULL);
- dialog.xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
- if (!dialog.xml) {
- g_message (G_STRLOC ": Could not load the Glade XML file!");
- return FALSE;
- }
+ dialog.builder = gtk_builder_new ();
+ e_load_ui_builder_definition (dialog.builder, "alarm-dialog.ui");
if (!get_widgets (&dialog)) {
- g_object_unref(dialog.xml);
+ g_object_unref(dialog.builder);
return FALSE;
}
if (!setup_select_names (&dialog)) {
- g_object_unref (dialog.xml);
+ g_object_unref (dialog.builder);
return FALSE;
}
@@ -1261,7 +1249,7 @@ alarm_dialog_run (GtkWidget *parent, ECal *ecal, ECalComponentAlarm *alarm)
dialog_to_alarm (&dialog);
gtk_widget_destroy (dialog.toplevel);
- g_object_unref (dialog.xml);
+ g_object_unref (dialog.builder);
return response_id == GTK_RESPONSE_OK ? TRUE : FALSE;
}
diff --git a/calendar/gui/dialogs/alarm-list-dialog.c b/calendar/gui/dialogs/alarm-list-dialog.c
index 1c33575..c350b47 100644
--- a/calendar/gui/dialogs/alarm-list-dialog.c
+++ b/calendar/gui/dialogs/alarm-list-dialog.c
@@ -34,9 +34,9 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include <libedataserver/e-time-utils.h>
-#include "e-util/e-dialog-widgets.h"
#include <libecal/e-cal-util.h>
#include <libecal/e-cal-time-util.h>
+#include "e-util/e-util.h"
#include "e-util/e-dialog-widgets.h"
#include "e-util/e-util-private.h"
#include "alarm-dialog.h"
@@ -45,8 +45,7 @@
typedef struct {
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
/* The client */
ECal *ecal;
@@ -69,7 +68,7 @@ typedef struct {
static gboolean
get_widgets (Dialog *dialog)
{
-#define GW(name) glade_xml_get_widget (dialog->xml, name)
+#define GW(name) e_builder_get_widget (dialog->builder, name)
dialog->toplevel = GW ("alarm-list-dialog");
if (!dialog->toplevel)
@@ -263,24 +262,15 @@ alarm_list_dialog_run (GtkWidget *parent, ECal *ecal, EAlarmList *list_store)
{
Dialog dialog;
gint response_id;
- gchar *gladefile;
dialog.ecal = ecal;
dialog.list_store = list_store;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "alarm-list-dialog.glade",
- NULL);
- dialog.xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
-
- if (!dialog.xml) {
- g_message (G_STRLOC ": Could not load the Glade XML file!");
- return FALSE;
- }
+ dialog.builder = gtk_builder_new ();
+ e_load_ui_builder_definition (dialog.builder, "alarm-list-dialog.ui");
if (!get_widgets (&dialog)) {
- g_object_unref(dialog.xml);
+ g_object_unref(dialog.builder);
return FALSE;
}
@@ -302,7 +292,7 @@ alarm_list_dialog_run (GtkWidget *parent, ECal *ecal, EAlarmList *list_store)
gtk_widget_hide (dialog.toplevel);
gtk_widget_destroy (dialog.toplevel);
- g_object_unref (dialog.xml);
+ g_object_unref (dialog.builder);
return response_id == GTK_RESPONSE_OK ? TRUE : FALSE;
}
@@ -311,25 +301,16 @@ GtkWidget *
alarm_list_dialog_peek (ECal *ecal, EAlarmList *list_store)
{
Dialog *dialog;
- gchar *gladefile;
dialog = (Dialog *)g_new (Dialog, 1);
dialog->ecal = ecal;
dialog->list_store = list_store;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "alarm-list-dialog.glade",
- NULL);
- dialog->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
-
- if (!dialog->xml) {
- g_message (G_STRLOC ": Could not load the Glade XML file!");
- return NULL;
- }
+ dialog->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (dialog->builder, "alarm-list-dialog.ui");
if (!get_widgets (dialog)) {
- g_object_unref(dialog->xml);
+ g_object_unref(dialog->builder);
return NULL;
}
@@ -337,7 +318,7 @@ alarm_list_dialog_peek (ECal *ecal, EAlarmList *list_store)
sensitize_buttons (dialog);
- g_object_unref (dialog->xml);
+ g_object_unref (dialog->builder);
/* Free the other stuff when the parent really gets destroyed. */
g_object_set_data_full (G_OBJECT (dialog->box), "toplevel", dialog->toplevel, (GDestroyNotify) gtk_widget_destroy);
diff --git a/calendar/gui/dialogs/cal-prefs-dialog.c b/calendar/gui/dialogs/cal-prefs-dialog.c
index ed7587d..2a0f70d 100644
--- a/calendar/gui/dialogs/cal-prefs-dialog.c
+++ b/calendar/gui/dialogs/cal-prefs-dialog.c
@@ -31,10 +31,11 @@
#include "../calendar-config.h"
#include "cal-prefs-dialog.h"
#include <widgets/misc/e-dateedit.h>
-#include <e-util/e-binding.h>
-#include <e-util/e-datetime-format.h>
-#include <e-util/e-dialog-widgets.h>
-#include <e-util/e-util-private.h>
+#include "e-util/e-util.h"
+#include "e-util/e-binding.h"
+#include "e-util/e-datetime-format.h"
+#include "e-util/e-dialog-widgets.h"
+#include "e-util/e-util-private.h"
#include <glib/gi18n.h>
#include <string.h>
@@ -61,7 +62,7 @@ calendar_prefs_dialog_finalize (GObject *obj)
{
CalendarPrefsDialog *prefs = (CalendarPrefsDialog *) obj;
- g_object_unref (prefs->gui);
+ g_object_unref (prefs->builder);
if (prefs->gconf) {
g_object_unref (prefs->gconf);
@@ -92,7 +93,7 @@ eccp_widget_glade (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
{
CalendarPrefsDialog *prefs = data;
- return glade_xml_get_widget (prefs->gui, item->label);
+ return e_builder_get_widget (prefs->builder, item->label);
}
static void
@@ -587,7 +588,6 @@ static void
calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
EShell *shell)
{
- GladeXML *gui;
ECalConfig *ec;
ECalConfigTargetPrefs *target;
EShellSettings *shell_settings;
@@ -597,19 +597,14 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
GtkWidget *widget;
GtkWidget *table;
GSList *l;
- gchar *gladefile;
shell_settings = e_shell_get_shell_settings (shell);
locale_supports_12_hour_format =
calendar_config_locale_supports_12_hour_format ();
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "cal-prefs-dialog.glade",
- NULL);
- gui = glade_xml_new (gladefile, "toplevel-notebook", NULL);
- g_free (gladefile);
- prefs->gui = gui;
+ prefs->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (prefs->builder, "cal-prefs-dialog.ui");
prefs->gconf = gconf_client_get_default ();
@@ -627,7 +622,7 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
l = g_slist_prepend (l, &eccp_items[i]);
e_config_add_items ((EConfig *) ec, l, NULL, NULL, eccp_free, prefs);
- widget = glade_xml_get_widget (gui, "use-system-tz-check");
+ widget = e_builder_get_widget (prefs->builder, "use-system-tz-check");
e_mutual_binding_new (
shell_settings, "cal-use-system-timezone",
widget, "active");
@@ -635,7 +630,7 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
shell_settings, "notify::cal-use-system-timezone",
G_CALLBACK (update_system_tz_widgets), prefs);
- widget = glade_xml_get_widget (gui, "timezone");
+ widget = e_builder_get_widget (prefs->builder, "timezone");
e_mutual_binding_new (
shell_settings, "cal-timezone",
widget, "timezone");
@@ -644,113 +639,113 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
widget, "sensitive");
/* General tab */
- prefs->system_tz_label = glade_xml_get_widget (gui, "system-tz-label");
- prefs->day_second_zone = glade_xml_get_widget (gui, "day_second_zone");
+ prefs->system_tz_label = e_builder_get_widget (prefs->builder, "system-tz-label");
+ prefs->day_second_zone = e_builder_get_widget (prefs->builder, "day_second_zone");
- widget = glade_xml_get_widget (gui, "sun_button");
+ widget = e_builder_get_widget (prefs->builder, "sun_button");
e_mutual_binding_new (
shell_settings, "cal-working-days-sunday",
widget, "active");
- widget = glade_xml_get_widget (gui, "mon_button");
+ widget = e_builder_get_widget (prefs->builder, "mon_button");
e_mutual_binding_new (
shell_settings, "cal-working-days-monday",
widget, "active");
- widget = glade_xml_get_widget (gui, "tue_button");
+ widget = e_builder_get_widget (prefs->builder, "tue_button");
e_mutual_binding_new (
shell_settings, "cal-working-days-tuesday",
widget, "active");
- widget = glade_xml_get_widget (gui, "wed_button");
+ widget = e_builder_get_widget (prefs->builder, "wed_button");
e_mutual_binding_new (
shell_settings, "cal-working-days-wednesday",
widget, "active");
- widget = glade_xml_get_widget (gui, "thu_button");
+ widget = e_builder_get_widget (prefs->builder, "thu_button");
e_mutual_binding_new (
shell_settings, "cal-working-days-thursday",
widget, "active");
- widget = glade_xml_get_widget (gui, "fri_button");
+ widget = e_builder_get_widget (prefs->builder, "fri_button");
e_mutual_binding_new (
shell_settings, "cal-working-days-friday",
widget, "active");
- widget = glade_xml_get_widget (gui, "sat_button");
+ widget = e_builder_get_widget (prefs->builder, "sat_button");
e_mutual_binding_new (
shell_settings, "cal-working-days-saturday",
widget, "active");
- widget = glade_xml_get_widget (gui, "week_start_day");
+ widget = e_builder_get_widget (prefs->builder, "week_start_day");
e_mutual_binding_new (
shell_settings, "cal-week-start-day",
widget, "active");
- widget = glade_xml_get_widget (gui, "start_of_day");
+ widget = e_builder_get_widget (prefs->builder, "start_of_day");
prefs->start_of_day = widget; /* XXX delete this */
if (locale_supports_12_hour_format)
e_binding_new (
shell_settings, "cal-use-24-hour-format",
widget, "use-24-hour-format");
- widget = glade_xml_get_widget (gui, "end_of_day");
+ widget = e_builder_get_widget (prefs->builder, "end_of_day");
prefs->end_of_day = widget; /* XXX delete this */
if (locale_supports_12_hour_format)
e_binding_new (
shell_settings, "cal-use-24-hour-format",
widget, "use-24-hour-format");
- widget = glade_xml_get_widget (gui, "use_12_hour");
+ widget = e_builder_get_widget (prefs->builder, "use_12_hour");
gtk_widget_set_sensitive (widget, locale_supports_12_hour_format);
e_mutual_binding_new_with_negation (
shell_settings, "cal-use-24-hour-format",
widget, "active");
- widget = glade_xml_get_widget (gui, "use_24_hour");
+ widget = e_builder_get_widget (prefs->builder, "use_24_hour");
gtk_widget_set_sensitive (widget, locale_supports_12_hour_format);
e_mutual_binding_new (
shell_settings, "cal-use-24-hour-format",
widget, "active");
- widget = glade_xml_get_widget (gui, "confirm_delete");
+ widget = e_builder_get_widget (prefs->builder, "confirm_delete");
e_mutual_binding_new (
shell_settings, "cal-confirm-delete",
widget, "active");
- prefs->default_reminder = glade_xml_get_widget (gui, "default_reminder");
- prefs->default_reminder_interval = glade_xml_get_widget (gui, "default_reminder_interval");
- prefs->default_reminder_units = glade_xml_get_widget (gui, "default_reminder_units");
- prefs->ba_reminder = glade_xml_get_widget (gui, "ba_reminder");
- prefs->ba_reminder_interval = glade_xml_get_widget (gui, "ba_reminder_interval");
- prefs->ba_reminder_units = glade_xml_get_widget (gui, "ba_reminder_units");
+ prefs->default_reminder = e_builder_get_widget (prefs->builder, "default_reminder");
+ prefs->default_reminder_interval = e_builder_get_widget (prefs->builder, "default_reminder_interval");
+ prefs->default_reminder_units = e_builder_get_widget (prefs->builder, "default_reminder_units");
+ prefs->ba_reminder = e_builder_get_widget (prefs->builder, "ba_reminder");
+ prefs->ba_reminder_interval = e_builder_get_widget (prefs->builder, "ba_reminder_interval");
+ prefs->ba_reminder_units = e_builder_get_widget (prefs->builder, "ba_reminder_units");
/* Display tab */
- prefs->time_divisions = glade_xml_get_widget (gui, "time_divisions");
+ prefs->time_divisions = e_builder_get_widget (prefs->builder, "time_divisions");
- widget = glade_xml_get_widget (gui, "show_end_times");
+ widget = e_builder_get_widget (prefs->builder, "show_end_times");
e_mutual_binding_new (
shell_settings, "cal-show-event-end-times",
widget, "active");
- widget = glade_xml_get_widget (gui, "compress_weekend");
+ widget = e_builder_get_widget (prefs->builder, "compress_weekend");
e_mutual_binding_new (
shell_settings, "cal-compress-weekend",
widget, "active");
- widget = glade_xml_get_widget (gui, "dnav_show_week_no");
+ widget = e_builder_get_widget (prefs->builder, "dnav_show_week_no");
e_mutual_binding_new (
shell_settings, "cal-show-week-numbers",
widget, "active");
- widget = glade_xml_get_widget (gui, "dview_show_week_no");
+ widget = e_builder_get_widget (prefs->builder, "dview_show_week_no");
e_mutual_binding_new (
shell_settings, "cal-day-view-show-week-numbers",
widget, "active");
- prefs->month_scroll_by_week = glade_xml_get_widget (gui, "month_scroll_by_week");
+ prefs->month_scroll_by_week = e_builder_get_widget (prefs->builder, "month_scroll_by_week");
- widget = glade_xml_get_widget (gui, "tasks_due_today_color");
+ widget = e_builder_get_widget (prefs->builder, "tasks_due_today_color");
e_mutual_binding_new_full (
shell_settings, "cal-tasks-color-due-today",
widget, "color",
@@ -758,7 +753,7 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
e_binding_transform_color_to_string,
(GDestroyNotify) NULL, NULL);
- widget = glade_xml_get_widget (gui, "tasks_overdue_color");
+ widget = e_builder_get_widget (prefs->builder, "tasks_overdue_color");
e_mutual_binding_new_full (
shell_settings, "cal-tasks-color-overdue",
widget, "color",
@@ -766,16 +761,16 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
e_binding_transform_color_to_string,
(GDestroyNotify) NULL, NULL);
- prefs->tasks_hide_completed = glade_xml_get_widget (gui, "tasks_hide_completed");
- prefs->tasks_hide_completed_interval = glade_xml_get_widget (gui, "tasks_hide_completed_interval");
- prefs->tasks_hide_completed_units = glade_xml_get_widget (gui, "tasks_hide_completed_units");
+ prefs->tasks_hide_completed = e_builder_get_widget (prefs->builder, "tasks_hide_completed");
+ prefs->tasks_hide_completed_interval = e_builder_get_widget (prefs->builder, "tasks_hide_completed_interval");
+ prefs->tasks_hide_completed_units = e_builder_get_widget (prefs->builder, "tasks_hide_completed_units");
/* Alarms tab */
- prefs->notify_with_tray = glade_xml_get_widget (gui, "notify_with_tray");
- prefs->scrolled_window = glade_xml_get_widget (gui, "calendar-source-scrolled-window");
+ prefs->notify_with_tray = e_builder_get_widget (prefs->builder, "notify_with_tray");
+ prefs->scrolled_window = e_builder_get_widget (prefs->builder, "calendar-source-scrolled-window");
/* Free/Busy tab */
- widget = glade_xml_get_widget (gui, "template_url");
+ widget = e_builder_get_widget (prefs->builder, "template_url");
e_mutual_binding_new (
shell_settings, "cal-free-busy-template",
widget, "text");
@@ -785,7 +780,7 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
gtk_container_add (GTK_CONTAINER (prefs), toplevel);
/* date/time format */
- table = glade_xml_get_widget (gui, "datetime_format_table");
+ table = e_builder_get_widget (prefs->builder, "datetime_format_table");
e_datetime_format_add_setup_widget (table, 0, "calendar", "table", DTFormatKindDateTime, _("Time and date:"));
e_datetime_format_add_setup_widget (table, 1, "calendar", "table", DTFormatKindDate, _("Date only:"));
diff --git a/calendar/gui/dialogs/cal-prefs-dialog.h b/calendar/gui/dialogs/cal-prefs-dialog.h
index 08917d2..14011d8 100644
--- a/calendar/gui/dialogs/cal-prefs-dialog.h
+++ b/calendar/gui/dialogs/cal-prefs-dialog.h
@@ -56,7 +56,7 @@ typedef struct _CalendarPrefsDialogClass CalendarPrefsDialogClass;
struct _CalendarPrefsDialog {
GtkVBox parent;
- GladeXML *gui;
+ GtkBuilder *builder;
GConfClient *gconf;
diff --git a/calendar/gui/dialogs/e-delegate-dialog.c b/calendar/gui/dialogs/e-delegate-dialog.c
index 49268b8..551229c 100644
--- a/calendar/gui/dialogs/e-delegate-dialog.c
+++ b/calendar/gui/dialogs/e-delegate-dialog.c
@@ -30,6 +30,7 @@
#include <libical/ical.h>
#include <libebook/e-destination.h>
#include <libedataserverui/e-name-selector.h>
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
#include "e-delegate-dialog.h"
@@ -37,10 +38,9 @@ struct _EDelegateDialogPrivate {
gchar *name;
gchar *address;
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
- /* Widgets from the Glade file */
+ /* Widgets from the UI file */
GtkWidget *app;
GtkWidget *hbox;
GtkWidget *addressbook;
@@ -120,7 +120,6 @@ e_delegate_dialog_construct (EDelegateDialog *edd, const gchar *name, const gcha
EDestination *dest;
ENameSelectorModel *name_selector_model;
ENameSelectorDialog *name_selector_dialog;
- gchar *gladefile;
g_return_val_if_fail (edd != NULL, NULL);
g_return_val_if_fail (E_IS_DELEGATE_DIALOG (edd), NULL);
@@ -129,16 +128,8 @@ e_delegate_dialog_construct (EDelegateDialog *edd, const gchar *name, const gcha
/* Load the content widgets */
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "e-delegate-dialog.glade",
- NULL);
- priv->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
-
- if (!priv->xml) {
- g_message ("e_delegate_dialog_construct(): Could not load the Glade XML file!");
- goto error;
- }
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "e-delegate-dialog.ui");
if (!get_widgets (edd)) {
g_message ("e_delegate_dialog_construct(): Could not find all widgets in the XML file!");
@@ -185,11 +176,9 @@ get_widgets (EDelegateDialog *edd)
priv = edd->priv;
-#define GW(name) glade_xml_get_widget (priv->xml, name)
-
- priv->app = GW ("delegate-dialog");
- priv->hbox = GW ("delegate-hbox");
- priv->addressbook = GW ("addressbook");
+ priv->app = e_builder_get_widget (priv->builder, "delegate-dialog");
+ priv->hbox = e_builder_get_widget (priv->builder, "delegate-hbox");
+ priv->addressbook = e_builder_get_widget (priv->builder, "addressbook");
return (priv->app
&& priv->hbox
diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c
index 4624c44..12a23ba 100644
--- a/calendar/gui/dialogs/event-page.c
+++ b/calendar/gui/dialogs/event-page.c
@@ -36,17 +36,19 @@
#include <libedataserverui/e-category-completion.h>
#include <libedataserverui/e-source-combo-box.h>
#include "common/authentication.h"
-#include "e-util/e-categories-config.h"
-#include "e-util/e-dialog-widgets.h"
#include "misc/e-dateedit.h"
#include "misc/e-send-options.h"
#include "misc/e-buffer-tagger.h"
#include <libecal/e-cal-time-util.h>
#include "../calendar-config.h"
#include "../e-timezone-entry.h"
-#include <e-util/e-dialog-utils.h>
-#include <e-util/e-dialog-widgets.h>
-#include <e-util/e-util-private.h>
+
+#include "e-util/e-util.h"
+#include "e-util/e-categories-config.h"
+#include "e-util/e-dialog-utils.h"
+#include "e-util/e-dialog-widgets.h"
+#include "e-util/e-dialog-widgets.h"
+#include "e-util/e-util-private.h"
#include "../e-meeting-attendee.h"
#include "../e-meeting-store.h"
@@ -92,10 +94,9 @@ static const gint alarm_map_without_user_time[] = {
/* Private part of the EventPage structure */
struct _EventPagePrivate {
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
- /* Widgets from the Glade file */
+ /* Widgets from the UI file */
GtkWidget *main;
/* Generic informative messages placeholder */
@@ -228,9 +229,9 @@ event_page_dispose (GObject *object)
priv->main = NULL;
}
- if (priv->xml != NULL) {
- g_object_unref (priv->xml);
- priv->xml = NULL;
+ if (priv->builder != NULL) {
+ g_object_unref (priv->builder);
+ priv->builder = NULL;
}
if (priv->alarm_list_store != NULL) {
@@ -2113,7 +2114,7 @@ get_widgets (EventPage *epage)
priv = epage->priv;
-#define GW(name) glade_xml_get_widget (priv->xml, name)
+#define GW(name) e_builder_get_widget (priv->builder, name)
editor = comp_editor_page_get_editor (page);
@@ -3049,23 +3050,13 @@ event_page_construct (EventPage *epage, EMeetingStore *model)
EventPagePrivate *priv;
EIterator *it;
EAccount *a;
- gchar *gladefile;
priv = epage->priv;
g_object_ref (model);
priv->model = model;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "event-page.glade",
- NULL);
- priv->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
-
- if (!priv->xml) {
- g_message ("event_page_construct(): "
- "Could not load the Glade XML file!");
- return NULL;
- }
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "event-page.ui");
if (!get_widgets (epage)) {
g_message ("event_page_construct(): "
diff --git a/calendar/gui/dialogs/memo-page.c b/calendar/gui/dialogs/memo-page.c
index 38f9dd1..0954ee0 100644
--- a/calendar/gui/dialogs/memo-page.c
+++ b/calendar/gui/dialogs/memo-page.c
@@ -41,11 +41,13 @@
#include <widgets/misc/e-dateedit.h>
#include "misc/e-buffer-tagger.h"
-#include "common/authentication.h"
-#include "e-util/e-dialog-widgets.h"
-#include <e-util/e-dialog-utils.h>
+#include "e-util/e-util.h"
#include "e-util/e-categories-config.h"
+#include "e-util/e-dialog-utils.h"
+#include "e-util/e-dialog-widgets.h"
#include "e-util/e-util-private.h"
+
+#include "common/authentication.h"
#include "../calendar-config.h"
#include "comp-editor.h"
#include "comp-editor-util.h"
@@ -58,10 +60,9 @@
/* Private part of the MemoPage structure */
struct _MemoPagePrivate {
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
- /* Widgets from the Glade file */
+ /* Widgets from the UI file */
GtkWidget *main;
GtkWidget *memo_content;
@@ -160,9 +161,9 @@ memo_page_finalize (GObject *object)
priv->main = NULL;
}
- if (priv->xml) {
- g_object_unref (priv->xml);
- priv->xml = NULL;
+ if (priv->builder) {
+ g_object_unref (priv->builder);
+ priv->builder = NULL;
}
g_free (priv->subscriber_info_text);
@@ -769,7 +770,7 @@ get_widgets (MemoPage *mpage)
priv = mpage->priv;
-#define GW(name) glade_xml_get_widget (priv->xml, name)
+#define GW(name) e_builder_get_widget (priv->builder, name)
priv->main = GW ("memo-page");
if (!priv->main) {
@@ -1115,23 +1116,13 @@ memo_page_construct (MemoPage *mpage)
CompEditor *editor;
CompEditorFlags flags;
EIterator *it;
- gchar *gladefile;
EAccount *a;
editor = comp_editor_page_get_editor (COMP_EDITOR_PAGE (mpage));
flags = comp_editor_get_flags (editor);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "memo-page.glade",
- NULL);
- priv->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
-
- if (!priv->xml) {
- g_message ("memo_page_construct(): "
- "Could not load the Glade XML file!");
- return NULL;
- }
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "memo-page.ui");
if (!get_widgets (mpage)) {
g_message ("memo_page_construct(): "
diff --git a/calendar/gui/dialogs/recurrence-page.c b/calendar/gui/dialogs/recurrence-page.c
index 322dcd1..448ba75 100644
--- a/calendar/gui/dialogs/recurrence-page.c
+++ b/calendar/gui/dialogs/recurrence-page.c
@@ -33,9 +33,6 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include <libedataserver/e-time-utils.h>
-#include <e-util/e-binding.h>
-#include <e-util/e-dialog-widgets.h>
-#include <e-util/e-util-private.h>
#include <misc/e-dateedit.h>
#include <libecal/e-cal-recur.h>
#include <libecal/e-cal-time-util.h>
@@ -46,6 +43,11 @@
#include "../e-date-time-list.h"
#include "recurrence-page.h"
+#include "e-util/e-util.h"
+#include "e-util/e-binding.h"
+#include "e-util/e-dialog-widgets.h"
+#include "e-util/e-util-private.h"
+
#define RECURRENCE_PAGE_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
((obj), TYPE_RECURRENCE_PAGE, RecurrencePagePrivate))
@@ -135,10 +137,9 @@ struct _RecurrencePagePrivate {
/* Component we use to expand the recurrence rules for the preview */
ECalComponent *comp;
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
- /* Widgets from the Glade file */
+ /* Widgets from the UI file */
GtkWidget *main;
GtkWidget *recurs;
@@ -306,9 +307,9 @@ recurrence_page_dispose (GObject *object)
priv->main = NULL;
}
- if (priv->xml != NULL) {
- g_object_unref (priv->xml);
- priv->xml = NULL;
+ if (priv->builder != NULL) {
+ g_object_unref (priv->builder);
+ priv->builder = NULL;
}
if (priv->comp != NULL) {
@@ -1988,7 +1989,7 @@ get_widgets (RecurrencePage *rpage)
priv = rpage->priv;
-#define GW(name) glade_xml_get_widget (priv->xml, name)
+#define GW(name) e_builder_get_widget (priv->builder, name)
priv->main = GW ("recurrence-page");
if (!priv->main)
@@ -2367,21 +2368,11 @@ recurrence_page_construct (RecurrencePage *rpage)
{
RecurrencePagePrivate *priv = rpage->priv;
CompEditor *editor;
- gchar *gladefile;
editor = comp_editor_page_get_editor (COMP_EDITOR_PAGE (rpage));
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "recurrence-page.glade",
- NULL);
- priv->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
-
- if (!priv->xml) {
- g_message ("recurrence_page_construct(): "
- "Could not load the Glade XML file!");
- return NULL;
- }
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "recurrence-page.ui");
if (!get_widgets (rpage)) {
g_message ("recurrence_page_construct(): "
diff --git a/calendar/gui/dialogs/schedule-page.c b/calendar/gui/dialogs/schedule-page.c
index 78bcd7a..4c2b5cf 100644
--- a/calendar/gui/dialogs/schedule-page.c
+++ b/calendar/gui/dialogs/schedule-page.c
@@ -48,10 +48,9 @@
/* Private part of the SchedulePage structure */
struct _SchedulePagePrivate {
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
- /* Widgets from the Glade file */
+ /* Widgets from the UI file */
GtkWidget *main;
/* Model */
@@ -88,9 +87,9 @@ schedule_page_dispose (GObject *object)
priv->main = NULL;
}
- if (priv->xml != NULL) {
- g_object_unref (priv->xml);
- priv->xml = NULL;
+ if (priv->builder != NULL) {
+ g_object_unref (priv->builder);
+ priv->builder = NULL;
}
if (priv->model != NULL) {
@@ -315,7 +314,7 @@ get_widgets (SchedulePage *spage)
priv = spage->priv;
-#define GW(name) glade_xml_get_widget (priv->xml, name)
+#define GW(name) e_builder_get_widget (priv->builder, name)
priv->main = GW ("schedule-page");
if (!priv->main)
@@ -388,23 +387,13 @@ schedule_page_construct (SchedulePage *spage, EMeetingStore *ems)
EShellSettings *shell_settings;
EShell *shell;
CompEditor *editor;
- gchar *gladefile;
editor = comp_editor_page_get_editor (COMP_EDITOR_PAGE (spage));
shell = comp_editor_get_shell (editor);
shell_settings = e_shell_get_shell_settings (shell);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "schedule-page.glade",
- NULL);
- priv->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
-
- if (!priv->xml) {
- g_message ("schedule_page_construct(): "
- "Could not load the Glade XML file!");
- return NULL;
- }
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "schedule-page.ui");
if (!get_widgets (spage)) {
g_message ("schedule_page_construct(): "
diff --git a/calendar/gui/dialogs/task-details-page.c b/calendar/gui/dialogs/task-details-page.c
index 67115e3..09cef42 100644
--- a/calendar/gui/dialogs/task-details-page.c
+++ b/calendar/gui/dialogs/task-details-page.c
@@ -33,22 +33,23 @@
#include <glib/gi18n.h>
#include <misc/e-dateedit.h>
#include <misc/e-url-entry.h>
-#include "e-util/e-dialog-widgets.h"
-#include "e-util/e-util-private.h"
#include "../calendar-config.h"
#include "../e-timezone-entry.h"
#include "comp-editor-util.h"
#include "task-details-page.h"
+#include "e-util/e-util.h"
+#include "e-util/e-dialog-widgets.h"
+#include "e-util/e-util-private.h"
+
#define TASK_DETAILS_PAGE_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
((obj), TYPE_TASK_DETAILS_PAGE, TaskDetailsPagePrivate))
struct _TaskDetailsPagePrivate {
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
- /* Widgets from the Glade file */
+ /* Widgets from the UI file */
GtkWidget *main;
GtkWidget *status_combo;
@@ -107,9 +108,9 @@ task_details_page_dispose (GObject *object)
priv->main = NULL;
}
- if (priv->xml != NULL) {
- g_object_unref (priv->xml);
- priv->xml = NULL;
+ if (priv->builder != NULL) {
+ g_object_unref (priv->builder);
+ priv->builder = NULL;
}
/* Chain up to parent's dispose() method. */
@@ -450,7 +451,7 @@ get_widgets (TaskDetailsPage *tdpage)
priv = tdpage->priv;
-#define GW(name) glade_xml_get_widget (priv->xml, name)
+#define GW(name) e_builder_get_widget (priv->builder, name)
priv->main = GW ("task-details-page");
if (!priv->main)
@@ -719,21 +720,11 @@ task_details_page_construct (TaskDetailsPage *tdpage)
{
TaskDetailsPagePrivate *priv = tdpage->priv;
CompEditor *editor;
- gchar *gladefile;
editor = comp_editor_page_get_editor (COMP_EDITOR_PAGE (tdpage));
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "task-details-page.glade",
- NULL);
- priv->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
-
- if (!priv->xml) {
- g_message ("task_details_page_construct(): "
- "Could not load the Glade XML file!");
- return NULL;
- }
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "task-details-page.ui");
if (!get_widgets (tdpage)) {
g_message ("task_details_page_construct(): "
diff --git a/calendar/gui/dialogs/task-page.c b/calendar/gui/dialogs/task-page.c
index 73bb1c6..2b3de6a 100644
--- a/calendar/gui/dialogs/task-page.c
+++ b/calendar/gui/dialogs/task-page.c
@@ -39,9 +39,6 @@
#include "misc/e-buffer-tagger.h"
#include <e-util/e-dialog-utils.h>
#include "common/authentication.h"
-#include "e-util/e-dialog-widgets.h"
-#include "e-util/e-categories-config.h"
-#include "e-util/e-util-private.h"
#include "../e-timezone-entry.h"
#include "../calendar-config.h"
#include "comp-editor.h"
@@ -49,6 +46,11 @@
#include "e-send-options-utils.h"
#include "task-page.h"
+#include "e-util/e-util.h"
+#include "e-util/e-dialog-widgets.h"
+#include "e-util/e-categories-config.h"
+#include "e-util/e-util-private.h"
+
#include "../e-meeting-attendee.h"
#include "../e-meeting-store.h"
#include "../e-meeting-list-view.h"
@@ -59,10 +61,9 @@
/* Private part of the TaskPage structure */
struct _TaskPagePrivate {
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
- /* Widgets from the Glade file */
+ /* Widgets from the UI file */
GtkWidget *main;
EAccountList *accounts;
@@ -159,9 +160,9 @@ task_page_dispose (GObject *object)
priv->main = NULL;
}
- if (priv->xml != NULL) {
- g_object_unref (priv->xml);
- priv->xml = NULL;
+ if (priv->builder != NULL) {
+ g_object_unref (priv->builder);
+ priv->builder = NULL;
}
if (priv->sod != NULL) {
@@ -1311,9 +1312,7 @@ get_widgets (TaskPage *tpage)
priv = tpage->priv;
-#define GW(name) glade_xml_get_widget (priv->xml, name)
-
- priv->main = GW ("task-page");
+ priv->main = e_builder_get_widget (priv->builder, "task-page");
if (!priv->main)
return FALSE;
@@ -1327,37 +1326,37 @@ get_widgets (TaskPage *tpage)
g_object_ref (priv->main);
gtk_container_remove (GTK_CONTAINER (priv->main->parent), priv->main);
- priv->info_hbox = GW ("generic-info");
- priv->info_icon = GW ("generic-info-image");
- priv->info_string = GW ("generic-info-msgs");
+ priv->info_hbox = e_builder_get_widget (priv->builder, "generic-info");
+ priv->info_icon = e_builder_get_widget (priv->builder, "generic-info-image");
+ priv->info_string = e_builder_get_widget (priv->builder, "generic-info-msgs");
- priv->summary = GW ("summary");
- priv->summary_label = GW ("summary-label");
+ priv->summary = e_builder_get_widget (priv->builder, "summary");
+ priv->summary_label = e_builder_get_widget (priv->builder, "summary-label");
/* Glade's visibility flag doesn't seem to work for custom widgets */
- priv->due_date = GW ("due-date");
+ priv->due_date = e_builder_get_widget (priv->builder, "due-date");
gtk_widget_show (priv->due_date);
- priv->start_date = GW ("start-date");
+ priv->start_date = e_builder_get_widget (priv->builder, "start-date");
gtk_widget_show (priv->start_date);
- priv->timezone = GW ("timezone");
- priv->timezone_label = GW ("timezone-label");
- priv->attendees_label = GW ("attendees-label");
- priv->description = GW ("description");
- priv->categories_btn = GW ("categories-button");
- priv->categories = GW ("categories");
+ priv->timezone = e_builder_get_widget (priv->builder, "timezone");
+ priv->timezone_label = e_builder_get_widget (priv->builder, "timezone-label");
+ priv->attendees_label = e_builder_get_widget (priv->builder, "attendees-label");
+ priv->description = e_builder_get_widget (priv->builder, "description");
+ priv->categories_btn = e_builder_get_widget (priv->builder, "categories-button");
+ priv->categories = e_builder_get_widget (priv->builder, "categories");
- priv->organizer = GW ("organizer");
+ priv->organizer = e_builder_get_widget (priv->builder, "organizer");
gtk_list_store_clear (GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (priv->organizer))));
- priv->invite = GW ("invite");
- priv->add = GW ("add-attendee");
- priv->edit = GW ("edit-attendee");
- priv->remove = GW ("remove-attendee");
- priv->list_box = GW ("list-box");
- priv->calendar_label = GW ("group-label");
- priv->attendee_box = GW ("attendee-box");
- priv->org_cal_label = GW ("org-task-label");
+ priv->invite = e_builder_get_widget (priv->builder, "invite");
+ priv->add = e_builder_get_widget (priv->builder, "add-attendee");
+ priv->edit = e_builder_get_widget (priv->builder, "edit-attendee");
+ priv->remove = e_builder_get_widget (priv->builder, "remove-attendee");
+ priv->list_box = e_builder_get_widget (priv->builder, "list-box");
+ priv->calendar_label = e_builder_get_widget (priv->builder, "group-label");
+ priv->attendee_box = e_builder_get_widget (priv->builder, "attendee-box");
+ priv->org_cal_label = e_builder_get_widget (priv->builder, "org-task-label");
priv->list_view = e_meeting_list_view_new (priv->model);
@@ -1372,12 +1371,10 @@ get_widgets (TaskPage *tpage)
gtk_container_add (GTK_CONTAINER (sw), GTK_WIDGET (priv->list_view));
gtk_box_pack_start (GTK_BOX (priv->list_box), sw, TRUE, TRUE, 0);
- priv->source_selector = GW ("source");
+ priv->source_selector = e_builder_get_widget (priv->builder, "source");
gtk_label_set_mnemonic_widget (GTK_LABEL (priv->calendar_label), priv->source_selector);
-#undef GW
-
completion = e_category_completion_new ();
gtk_entry_set_completion (GTK_ENTRY (priv->categories), completion);
g_object_unref (completion);
@@ -1968,24 +1965,14 @@ task_page_construct (TaskPage *tpage, EMeetingStore *model, ECal *client)
TaskPagePrivate *priv;
EIterator *it;
EAccount *a;
- gchar *gladefile;
priv = tpage->priv;
g_object_ref (model);
priv->model = model;
priv->client = client;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "task-page.glade",
- NULL);
- priv->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
-
- if (!priv->xml) {
- g_message ("task_page_construct(): "
- "Could not load the Glade XML file!");
- return NULL;
- }
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "task-page.ui");
if (!get_widgets (tpage)) {
g_message ("task_page_construct(): "
diff --git a/calendar/gui/goto.c b/calendar/gui/goto.c
index ef00d75..fdae6e1 100644
--- a/calendar/gui/goto.c
+++ b/calendar/gui/goto.c
@@ -33,7 +33,7 @@
typedef struct
{
- GladeXML *xml;
+ GtkBuilder *builder;
GtkWidget *dialog;
GtkWidget *month_combobox;
@@ -171,7 +171,7 @@ goto_today (GoToDialog *dlg)
static gboolean
get_widgets (GoToDialog *dlg)
{
-#define GW(name) glade_xml_get_widget (dlg->xml, name)
+#define GW(name) e_builder_get_widget (dlg->builder, name)
dlg->dialog = GW ("goto-dialog");
@@ -210,7 +210,6 @@ goto_dialog (GnomeCalendar *gcal)
struct icaltimetype tt;
icaltimezone *timezone;
gint b;
- gchar *gladefile;
if (dlg) {
return;
@@ -219,16 +218,8 @@ goto_dialog (GnomeCalendar *gcal)
dlg = g_new0 (GoToDialog, 1);
/* Load the content widgets */
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "goto-dialog.glade",
- NULL);
- dlg->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
- if (!dlg->xml) {
- g_message ("goto_dialog(): Could not load the Glade XML file!");
- g_free (dlg);
- return;
- }
+ dlg->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (dlg->builder, "goto-dialog.ui");
if (!get_widgets (dlg)) {
g_message ("goto_dialog(): Could not find all widgets in the XML file!");
@@ -274,7 +265,7 @@ goto_dialog (GnomeCalendar *gcal)
if (b == 0)
goto_today (dlg);
- g_object_unref (dlg->xml);
+ g_object_unref (dlg->builder);
g_free (dlg);
dlg = NULL;
}
diff --git a/doc/reference/shell/tmpl/e-util.sgml b/doc/reference/shell/tmpl/e-util.sgml
index 7d2fde1..88a4c60 100644
--- a/doc/reference/shell/tmpl/e-util.sgml
+++ b/doc/reference/shell/tmpl/e-util.sgml
@@ -71,16 +71,6 @@ Miscellaneous Utility Functions
@Returns:
-<!-- ##### FUNCTION e_load_ui_definition ##### -->
-<para>
-
-</para>
-
- ui_manager:
- basename:
- Returns:
-
-
<!-- ##### FUNCTION e_action_compare_by_label ##### -->
<para>
diff --git a/doc/reference/shell/tmpl/eshell-unused.sgml b/doc/reference/shell/tmpl/eshell-unused.sgml
index 4505a66..b915f5d 100644
--- a/doc/reference/shell/tmpl/eshell-unused.sgml
+++ b/doc/reference/shell/tmpl/eshell-unused.sgml
@@ -1850,6 +1850,15 @@ intelligent
@revision:
@Returns:
+<!-- ##### FUNCTION e_load_ui_definition ##### -->
+<para>
+
+</para>
+
+ ui_manager:
+ basename:
+ Returns:
+
<!-- ##### FUNCTION e_shell_backend_get_filename ##### -->
<para>
diff --git a/e-util/e-util.c b/e-util/e-util.c
index 310bd47..5164791 100644
--- a/e-util/e-util.c
+++ b/e-util/e-util.c
@@ -281,6 +281,35 @@ e_lookup_action_group (GtkUIManager *ui_manager,
}
/**
+ * e_load_ui_builder_definition:
+ * @builder: a #GtkBuilder
+ * @basename: basename of the UI definition file
+ *
+ * Loads a UI definition into @builder from Evolution's UI directory.
+ * Failure here is fatal, since the application can't function without
+ * its UI definitions.
+ **/
+void
+e_load_ui_builder_definition (GtkBuilder *builder,
+ const gchar *basename)
+{
+ gchar *filename;
+ GError *error = NULL;
+
+ g_return_if_fail (GTK_IS_BUILDER (builder));
+ g_return_if_fail (basename != NULL);
+
+ filename = g_build_filename (EVOLUTION_UIDIR, basename, NULL);
+ gtk_builder_add_from_file (builder, filename, &error);
+ g_free (filename);
+
+ if (error != NULL) {
+ g_error ("%s: %s", basename, error->message);
+ g_assert_not_reached ();
+ }
+}
+
+/**
* e_load_ui_manager_definition:
* @ui_manager: a #GtkUIManager
* @basename: basename of the UI definition file
diff --git a/e-util/e-util.h b/e-util/e-util.h
index 59c8ce7..f9a5168 100644
--- a/e-util/e-util.h
+++ b/e-util/e-util.h
@@ -37,6 +37,11 @@
#include <e-util/e-marshal.h>
+/* Convenience macro to help migrate from libglade to GtkBuilder.
+ * Use it as a direct replacement for glade_xml_get_widget(). */
+#define e_builder_get_widget(builder, name) \
+ GTK_WIDGET (gtk_builder_get_object ((builder), (name)))
+
G_BEGIN_DECLS
typedef enum {
@@ -58,6 +63,8 @@ GtkAction * e_lookup_action (GtkUIManager *ui_manager,
const gchar *action_name);
GtkActionGroup *e_lookup_action_group (GtkUIManager *ui_manager,
const gchar *group_name);
+void e_load_ui_builder_definition (GtkBuilder *builder,
+ const gchar *basename);
guint e_load_ui_manager_definition (GtkUIManager *ui_manager,
const gchar *basename);
gint e_action_compare_by_label (GtkAction *action1,
diff --git a/filter/e-filter-datespec.c b/filter/e-filter-datespec.c
index a60beda..f395bf9 100644
--- a/filter/e-filter-datespec.c
+++ b/filter/e-filter-datespec.c
@@ -34,6 +34,7 @@
#include <glib/gi18n.h>
#include "e-util/e-error.h"
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
#include "e-filter-datespec.h"
@@ -256,14 +257,13 @@ button_clicked (GtkButton *button, EFilterDatespec *fds)
GtkWidget *content_area;
GtkWidget *toplevel;
GtkDialog *dialog;
- GladeXML *gui;
- gchar *filter_glade = g_build_filename (EVOLUTION_UIDIR,
- "filter.glade",
- NULL);
+ GtkBuilder *builder;
- gui = glade_xml_new (filter_glade, "filter_datespec", NULL);
- g_free (filter_glade);
- toplevel = glade_xml_get_widget (gui, "filter_datespec");
+ /* XXX I think we're leaking the GtkBuilder. */
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "filter.ui");
+
+ toplevel = e_builder_get_widget (builder, "filter_datespec");
dialog = (GtkDialog *) gtk_dialog_new ();
gtk_window_set_title ((GtkWindow *) dialog, _("Select a time to compare against"));
@@ -273,12 +273,12 @@ button_clicked (GtkButton *button, EFilterDatespec *fds)
NULL);
gtk_dialog_set_has_separator (dialog, FALSE);
- p->notebook_type = glade_xml_get_widget (gui, "notebook_type");
- p->combobox_type = glade_xml_get_widget (gui, "combobox_type");
- p->calendar_specify = glade_xml_get_widget (gui, "calendar_specify");
- p->spin_relative = glade_xml_get_widget (gui, "spin_relative");
- p->combobox_relative = glade_xml_get_widget (gui, "combobox_relative");
- p->combobox_past_future = glade_xml_get_widget (gui, "combobox_past_future");
+ p->notebook_type = e_builder_get_widget (builder, "notebook_type");
+ p->combobox_type = e_builder_get_widget (builder, "combobox_type");
+ p->calendar_specify = e_builder_get_widget (builder, "calendar_specify");
+ p->spin_relative = e_builder_get_widget (builder, "spin_relative");
+ p->combobox_relative = e_builder_get_widget (builder, "combobox_relative");
+ p->combobox_past_future = e_builder_get_widget (builder, "combobox_past_future");
set_values (fds);
diff --git a/filter/e-rule-editor.c b/filter/e-rule-editor.c
index 59b0d5d..4e64d7f 100644
--- a/filter/e-rule-editor.c
+++ b/filter/e-rule-editor.c
@@ -33,6 +33,7 @@
#include "e-util/e-error.h"
#include "e-util/e-util-private.h"
+#include "e-util/e-util.h"
#include "e-rule-editor.h"
@@ -693,17 +694,14 @@ e_rule_editor_new (ERuleContext *context,
const gchar *label)
{
ERuleEditor *editor = (ERuleEditor *) g_object_new (E_TYPE_RULE_EDITOR, NULL);
- GladeXML *gui;
- gchar *filter_glade = g_build_filename (EVOLUTION_GLADEDIR,
- "filter.glade",
- NULL);
-
- gui = glade_xml_new (filter_glade, "rule_editor", NULL);
- g_free (filter_glade);
- e_rule_editor_construct (editor, context, gui, source, label);
- gtk_widget_hide (glade_xml_get_widget (gui, "label17"));
- gtk_widget_hide (glade_xml_get_widget (gui, "filter_source_combobox"));
- g_object_unref (gui);
+ GtkBuilder *builder;
+
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "filter.ui");
+ e_rule_editor_construct (editor, context, builder, source, label);
+ gtk_widget_hide (e_builder_get_widget (builder, "label17"));
+ gtk_widget_hide (e_builder_get_widget (builder, "filter_source_combobox"));
+ g_object_unref (builder);
return editor;
}
@@ -856,7 +854,7 @@ rule_editor_treeview_new (gchar *widget_name,
void
e_rule_editor_construct (ERuleEditor *editor,
ERuleContext *context,
- GladeXML *gui,
+ GtkBuilder *builder,
const gchar *source,
const gchar *label)
{
@@ -868,7 +866,7 @@ e_rule_editor_construct (ERuleEditor *editor,
g_return_if_fail (E_IS_RULE_EDITOR (editor));
g_return_if_fail (E_IS_RULE_CONTEXT (context));
- g_return_if_fail (GLADE_IS_XML (gui));
+ g_return_if_fail (GTK_IS_BUILDER (builder));
editor->context = g_object_ref (context);
@@ -880,22 +878,22 @@ e_rule_editor_construct (ERuleEditor *editor,
gtk_widget_realize ((GtkWidget *) editor);
gtk_container_set_border_width (GTK_CONTAINER (action_area), 12);
- w = glade_xml_get_widget(gui, "rule_editor");
+ w = e_builder_get_widget(builder, "rule_editor");
gtk_box_pack_start (GTK_BOX (content_area), w, TRUE, TRUE, 3);
for (i = 0; i < BUTTON_LAST; i++) {
- editor->priv->buttons[i] = (GtkButton *) (w = glade_xml_get_widget (gui, edit_buttons[i].name));
+ editor->priv->buttons[i] = (GtkButton *) (w = e_builder_get_widget (builder, edit_buttons[i].name));
g_signal_connect (w, "clicked", edit_buttons[i].func, editor);
}
- w = glade_xml_get_widget (gui, "rule_list");
+ w = e_builder_get_widget (builder, "rule_list");
editor->list = (GtkTreeView *) g_object_get_data ((GObject *) w, "table");
editor->model = (GtkListStore *) g_object_get_data ((GObject *) w, "model");
g_signal_connect (editor->list, "cursor-changed", G_CALLBACK (cursor_changed), editor);
g_signal_connect (editor->list, "row-activated", G_CALLBACK (double_click), editor);
- w = glade_xml_get_widget (gui, "rule_label");
+ w = e_builder_get_widget (builder, "rule_label");
tmp = alloca(strlen(label)+8);
sprintf(tmp, "<b>%s</b>", label);
gtk_label_set_label((GtkLabel *)w, tmp);
diff --git a/filter/e-rule-editor.h b/filter/e-rule-editor.h
index f7f2d2d..2b1a4f2 100644
--- a/filter/e-rule-editor.h
+++ b/filter/e-rule-editor.h
@@ -25,7 +25,6 @@
#define E_RULE_EDITOR_H
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include "e-rule-context.h"
#include "e-filter-rule.h"
@@ -109,7 +108,7 @@ ERuleEditor * e_rule_editor_new (ERuleContext *context,
const gchar *label);
void e_rule_editor_construct (ERuleEditor *editor,
ERuleContext *context,
- GladeXML *gui,
+ GtkBuilder *builder,
const gchar *source,
const gchar *label);
void e_rule_editor_set_source (ERuleEditor *editor,
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index cc07fbb..572423a 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -47,6 +47,7 @@
#include <gconf/gconf-client.h>
#include "shell/e-shell.h"
+#include "e-util/e-util.h"
#include "e-util/e-error.h"
#include "e-util/e-account-utils.h"
#include "e-util/e-signature-list.h"
@@ -565,34 +566,30 @@ emae_load_text (GtkTextView *view, const gchar *filename)
static gboolean
emae_display_license (EMAccountEditor *emae, CamelProvider *prov)
{
- GladeXML *xml;
+ GtkBuilder *builder;
GtkWidget *w, *dialog;
gchar *tmp;
GtkResponseType response = GTK_RESPONSE_NONE;
- gchar *gladefile;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-dialogs.glade",
- NULL);
- xml = glade_xml_new (gladefile, "license_dialog", NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "mail-dialogs.ui");
- dialog = glade_xml_get_widget (xml, "license_dialog");
+ dialog = e_builder_get_widget (builder, "license_dialog");
gtk_dialog_set_response_sensitive ((GtkDialog *)dialog, GTK_RESPONSE_ACCEPT, FALSE);
tmp = g_strdup_printf (_("%s License Agreement"), prov->license);
gtk_window_set_title ((GtkWindow *)dialog, tmp);
g_free (tmp);
- g_signal_connect (glade_xml_get_widget (xml, "license_checkbutton"),
+ g_signal_connect (e_builder_get_widget (builder, "license_checkbutton"),
"toggled", G_CALLBACK(emae_license_state), dialog);
tmp = g_strdup_printf (_("\nPlease read carefully the license agreement\n"
"for %s displayed below\n"
"and tick the check box for accepting it\n"), prov->license);
- gtk_label_set_text ((GtkLabel *)glade_xml_get_widget (xml, "license_top_label"), tmp);
+ gtk_label_set_text ((GtkLabel *)e_builder_get_widget (builder, "license_top_label"), tmp);
g_free (tmp);
- w = glade_xml_get_widget (xml, "license_textview");
+ w = e_builder_get_widget (builder, "license_textview");
if (emae_load_text ((GtkTextView *)w, prov->license_file)) {
gtk_text_view_set_editable ((GtkTextView *)w, FALSE);
response = gtk_dialog_run ((GtkDialog *)dialog);
@@ -602,7 +599,7 @@ emae_display_license (EMAccountEditor *emae, CamelProvider *prov)
}
gtk_widget_destroy (dialog);
- g_object_unref (xml);
+ g_object_unref (builder);
return (response == GTK_RESPONSE_ACCEPT);
}
@@ -711,8 +708,8 @@ emae_auto_detect_free (gpointer key, gpointer value, gpointer user_data)
static void
emae_auto_detect (EMAccountEditor *emae)
{
- EMAccountEditorPrivate *gui = emae->priv;
- EMAccountEditorService *service = &gui->source;
+ EMAccountEditorPrivate *priv = emae->priv;
+ EMAccountEditorService *service = &priv->source;
GHashTable *auto_detected;
GSList *l;
CamelProviderConfEntry *entries;
@@ -888,11 +885,11 @@ emae_signature_new (GtkWidget *widget, EMAccountEditor *emae)
}
static GtkWidget *
-emae_setup_signatures (EMAccountEditor *emae, GladeXML *xml)
+emae_setup_signatures (EMAccountEditor *emae, GtkBuilder *builder)
{
EMAccountEditorPrivate *p = emae->priv;
EAccount *account;
- GtkComboBox *dropdown = (GtkComboBox *)glade_xml_get_widget (xml, "signature_dropdown");
+ GtkComboBox *dropdown = (GtkComboBox *)e_builder_get_widget (builder, "signature_dropdown");
GtkCellRenderer *cell = gtk_cell_renderer_text_new ();
GtkListStore *store;
gint i, active=0;
@@ -952,7 +949,7 @@ emae_setup_signatures (EMAccountEditor *emae, GladeXML *xml)
g_signal_connect (dropdown, "changed", G_CALLBACK(emae_signaturetype_changed), emae);
gtk_widget_set_sensitive ((GtkWidget *)dropdown, e_account_writable (account, E_ACCOUNT_ID_SIGNATURE));
- button = glade_xml_get_widget (xml, "sigAddNew");
+ button = e_builder_get_widget (builder, "sigAddNew");
g_signal_connect (button, "clicked", G_CALLBACK(emae_signature_new), emae);
gtk_widget_set_sensitive (button,
gconf_client_key_is_writable (mail_config_get_gconf_client (),
@@ -982,10 +979,10 @@ emae_receipt_policy_changed (GtkComboBox *dropdown, EMAccountEditor *emae)
}
static GtkWidget *
-emae_setup_receipt_policy (EMAccountEditor *emae, GladeXML *xml)
+emae_setup_receipt_policy (EMAccountEditor *emae, GtkBuilder *builder)
{
EAccount *account;
- GtkComboBox *dropdown = (GtkComboBox *)glade_xml_get_widget (xml, "receipt_policy_dropdown");
+ GtkComboBox *dropdown = (GtkComboBox *)e_builder_get_widget (builder, "receipt_policy_dropdown");
GtkListStore *store;
gint i = 0, active = 0;
GtkTreeIter iter;
@@ -1040,14 +1037,14 @@ emae_account_entry_changed (GtkEntry *entry, EMAccountEditor *emae)
}
static GtkEntry *
-emae_account_entry (EMAccountEditor *emae, const gchar *name, gint item, GladeXML *xml)
+emae_account_entry (EMAccountEditor *emae, const gchar *name, gint item, GtkBuilder *builder)
{
EAccount *account;
GtkEntry *entry;
const gchar *text;
account = em_account_editor_get_modified_account (emae);
- entry = (GtkEntry *)glade_xml_get_widget (xml, name);
+ entry = (GtkEntry *)e_builder_get_widget (builder, name);
text = e_account_get_string (account, item);
if (text)
gtk_entry_set_text (entry, text);
@@ -1097,11 +1094,11 @@ emae_account_toggle_widget (EMAccountEditor *emae, GtkToggleButton *toggle, gint
}
static GtkToggleButton *
-emae_account_toggle (EMAccountEditor *emae, const gchar *name, gint item, GladeXML *xml)
+emae_account_toggle (EMAccountEditor *emae, const gchar *name, gint item, GtkBuilder *builder)
{
GtkToggleButton *toggle;
- toggle = (GtkToggleButton *)glade_xml_get_widget (xml, name);
+ toggle = (GtkToggleButton *)e_builder_get_widget (builder, name);
emae_account_toggle_widget (emae, toggle, item);
return toggle;
@@ -1151,7 +1148,7 @@ emae_account_spinint (EMAccountEditor *emae, const gchar *name, gint item)
{
GtkSpinButton *spin;
- spin = (GtkSpinButton *)glade_xml_get_widget (emae->priv->xml, name);
+ spin = (GtkSpinButton *)e_builder_get_widget (emae->priv->xml, name);
emae_account_spinint_widget (emae, spin, item);
return spin;
@@ -1173,14 +1170,14 @@ emae_account_folder_changed (EMFolderSelectionButton *folder, EMAccountEditor *e
}
static EMFolderSelectionButton *
-emae_account_folder (EMAccountEditor *emae, const gchar *name, gint item, gint deffolder, GladeXML *xml)
+emae_account_folder (EMAccountEditor *emae, const gchar *name, gint item, gint deffolder, GtkBuilder *builder)
{
EAccount *account;
EMFolderSelectionButton *folder;
const gchar *uri;
account = em_account_editor_get_modified_account (emae);
- folder = (EMFolderSelectionButton *)glade_xml_get_widget (xml, name);
+ folder = (EMFolderSelectionButton *)e_builder_get_widget (builder, name);
uri = e_account_get_string (account, item);
if (uri) {
gchar *tmp = em_uri_to_camel (uri);
@@ -1208,35 +1205,35 @@ emae_account_folder (EMAccountEditor *emae, const gchar *name, gint item, gint d
static void
smime_changed (EMAccountEditor *emae)
{
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
gint act;
const gchar *tmp;
- tmp = gtk_entry_get_text (gui->smime_sign_key);
+ tmp = gtk_entry_get_text (priv->smime_sign_key);
act = tmp && tmp[0];
- gtk_widget_set_sensitive ((GtkWidget *)gui->smime_sign_key_clear, act);
- gtk_widget_set_sensitive ((GtkWidget *)gui->smime_sign_default, act);
+ gtk_widget_set_sensitive ((GtkWidget *)priv->smime_sign_key_clear, act);
+ gtk_widget_set_sensitive ((GtkWidget *)priv->smime_sign_default, act);
if (!act)
- gtk_toggle_button_set_active (gui->smime_sign_default, FALSE);
+ gtk_toggle_button_set_active (priv->smime_sign_default, FALSE);
- tmp = gtk_entry_get_text (gui->smime_encrypt_key);
+ tmp = gtk_entry_get_text (priv->smime_encrypt_key);
act = tmp && tmp[0];
- gtk_widget_set_sensitive ((GtkWidget *)gui->smime_encrypt_key_clear, act);
- gtk_widget_set_sensitive ((GtkWidget *)gui->smime_encrypt_default, act);
- gtk_widget_set_sensitive ((GtkWidget *)gui->smime_encrypt_to_self, act);
+ gtk_widget_set_sensitive ((GtkWidget *)priv->smime_encrypt_key_clear, act);
+ gtk_widget_set_sensitive ((GtkWidget *)priv->smime_encrypt_default, act);
+ gtk_widget_set_sensitive ((GtkWidget *)priv->smime_encrypt_to_self, act);
if (!act) {
- gtk_toggle_button_set_active (gui->smime_encrypt_default, FALSE);
- gtk_toggle_button_set_active (gui->smime_encrypt_to_self, FALSE);
+ gtk_toggle_button_set_active (priv->smime_encrypt_default, FALSE);
+ gtk_toggle_button_set_active (priv->smime_encrypt_to_self, FALSE);
}
}
static void
smime_sign_key_selected (GtkWidget *dialog, const gchar *key, EMAccountEditor *emae)
{
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
if (key != NULL) {
- gtk_entry_set_text (gui->smime_sign_key, key);
+ gtk_entry_set_text (priv->smime_sign_key, key);
smime_changed (emae);
}
@@ -1246,10 +1243,10 @@ smime_sign_key_selected (GtkWidget *dialog, const gchar *key, EMAccountEditor *e
static void
smime_sign_key_select (GtkWidget *button, EMAccountEditor *emae)
{
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
GtkWidget *w;
- w = e_cert_selector_new (E_CERT_SELECTOR_SIGNER, gtk_entry_get_text (gui->smime_sign_key));
+ w = e_cert_selector_new (E_CERT_SELECTOR_SIGNER, gtk_entry_get_text (priv->smime_sign_key));
gtk_window_set_modal ((GtkWindow *)w, TRUE);
gtk_window_set_transient_for ((GtkWindow *)w, (GtkWindow *)gtk_widget_get_toplevel (button));
g_signal_connect (w, "selected", G_CALLBACK(smime_sign_key_selected), emae);
@@ -1259,19 +1256,19 @@ smime_sign_key_select (GtkWidget *button, EMAccountEditor *emae)
static void
smime_sign_key_clear (GtkWidget *w, EMAccountEditor *emae)
{
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
- gtk_entry_set_text (gui->smime_sign_key, "");
+ gtk_entry_set_text (priv->smime_sign_key, "");
smime_changed (emae);
}
static void
smime_encrypt_key_selected (GtkWidget *dialog, const gchar *key, EMAccountEditor *emae)
{
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
if (key != NULL) {
- gtk_entry_set_text (gui->smime_encrypt_key, key);
+ gtk_entry_set_text (priv->smime_encrypt_key, key);
smime_changed (emae);
}
@@ -1281,10 +1278,10 @@ smime_encrypt_key_selected (GtkWidget *dialog, const gchar *key, EMAccountEditor
static void
smime_encrypt_key_select (GtkWidget *button, EMAccountEditor *emae)
{
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
GtkWidget *w;
- w = e_cert_selector_new (E_CERT_SELECTOR_SIGNER, gtk_entry_get_text (gui->smime_encrypt_key));
+ w = e_cert_selector_new (E_CERT_SELECTOR_SIGNER, gtk_entry_get_text (priv->smime_encrypt_key));
gtk_window_set_modal ((GtkWindow *)w, TRUE);
gtk_window_set_transient_for ((GtkWindow *)w, (GtkWindow *)gtk_widget_get_toplevel (button));
g_signal_connect (w, "selected", G_CALLBACK(smime_encrypt_key_selected), emae);
@@ -1294,9 +1291,9 @@ smime_encrypt_key_select (GtkWidget *button, EMAccountEditor *emae)
static void
smime_encrypt_key_clear (GtkWidget *w, EMAccountEditor *emae)
{
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
- gtk_entry_set_text (gui->smime_encrypt_key, "");
+ gtk_entry_set_text (priv->smime_encrypt_key, "");
smime_changed (emae);
}
#endif
@@ -1953,7 +1950,7 @@ static void emae_check_authtype (GtkWidget *w, EMAccountEditorService *service)
}
static void
-emae_setup_service (EMAccountEditor *emae, EMAccountEditorService *service, GladeXML *xml)
+emae_setup_service (EMAccountEditor *emae, EMAccountEditorService *service, GtkBuilder *builder)
{
EAccount *account;
struct _service_info *info = &emae_service_info[service->type];
@@ -1966,23 +1963,23 @@ emae_setup_service (EMAccountEditor *emae, EMAccountEditorService *service, Glad
uri = e_account_get_string (account, info->account_uri_key);
service->provider = uri?camel_provider_get (uri, NULL):NULL;
- service->frame = glade_xml_get_widget (xml, info->frame);
- service->container = glade_xml_get_widget (xml, info->container);
- service->description = GTK_LABEL (glade_xml_get_widget (xml, info->description));
- service->hostname = GTK_ENTRY (glade_xml_get_widget (xml, info->hostname));
- service->hostlabel = (GtkLabel *)glade_xml_get_widget (xml, info->hostlabel);
- service->username = GTK_ENTRY (glade_xml_get_widget (xml, info->username));
- service->userlabel = (GtkLabel *)glade_xml_get_widget (xml, info->userlabel);
+ service->frame = e_builder_get_widget (builder, info->frame);
+ service->container = e_builder_get_widget (builder, info->container);
+ service->description = GTK_LABEL (e_builder_get_widget (builder, info->description));
+ service->hostname = GTK_ENTRY (e_builder_get_widget (builder, info->hostname));
+ service->hostlabel = (GtkLabel *)e_builder_get_widget (builder, info->hostlabel);
+ service->username = GTK_ENTRY (e_builder_get_widget (builder, info->username));
+ service->userlabel = (GtkLabel *)e_builder_get_widget (builder, info->userlabel);
if (info->pathentry) {
- service->pathlabel = (GtkLabel *)glade_xml_get_widget (xml, info->pathlabel);
- service->pathentry = glade_xml_get_widget (xml, info->pathentry);
+ service->pathlabel = (GtkLabel *)e_builder_get_widget (builder, info->pathlabel);
+ service->pathentry = e_builder_get_widget (builder, info->pathentry);
}
- service->ssl_frame = glade_xml_get_widget (xml, info->security_frame);
+ service->ssl_frame = e_builder_get_widget (builder, info->security_frame);
gtk_widget_hide (service->ssl_frame);
- service->ssl_hbox = glade_xml_get_widget (xml, info->ssl_hbox);
- service->use_ssl = (GtkComboBox *)glade_xml_get_widget (xml, info->use_ssl);
- service->no_ssl = glade_xml_get_widget (xml, info->ssl_disabled);
+ service->ssl_hbox = e_builder_get_widget (builder, info->ssl_hbox);
+ service->use_ssl = (GtkComboBox *)e_builder_get_widget (builder, info->use_ssl);
+ service->no_ssl = e_builder_get_widget (builder, info->ssl_disabled);
/* configure ui for current settings */
if (url->host) {
@@ -2028,18 +2025,18 @@ emae_setup_service (EMAccountEditor *emae, EMAccountEditorService *service, Glad
g_signal_connect (service->use_ssl, "changed", G_CALLBACK(emae_ssl_changed), service);
- service->auth_frame = glade_xml_get_widget (xml, info->auth_frame);
- service->remember = emae_account_toggle (emae, info->remember_password, info->save_passwd_key, xml);
- service->check_supported = (GtkButton *)glade_xml_get_widget (xml, info->authtype_check);
- service->authtype = (GtkComboBox *)glade_xml_get_widget (xml, info->authtype);
+ service->auth_frame = e_builder_get_widget (builder, info->auth_frame);
+ service->remember = emae_account_toggle (emae, info->remember_password, info->save_passwd_key, builder);
+ service->check_supported = (GtkButton *)e_builder_get_widget (builder, info->authtype_check);
+ service->authtype = (GtkComboBox *)e_builder_get_widget (builder, info->authtype);
/* old authtype will be destroyed when we exit */
service->auth_changed_id = 0;
- service->providers = (GtkComboBox *)glade_xml_get_widget (xml, info->type_dropdown);
+ service->providers = (GtkComboBox *)e_builder_get_widget (builder, info->type_dropdown);
emae_refresh_providers (emae, service);
emae_refresh_authtype (emae, service);
if (info->needs_auth) {
- service->needs_auth = (GtkToggleButton *)glade_xml_get_widget (xml, info->needs_auth);
+ service->needs_auth = (GtkToggleButton *)e_builder_get_widget (builder, info->needs_auth);
gtk_toggle_button_set_active (service->needs_auth, url->authmech != NULL);
g_signal_connect (service->needs_auth, "toggled", G_CALLBACK(emae_needs_auth), service);
emae_needs_auth (service->needs_auth, service);
@@ -2135,7 +2132,7 @@ static struct {
/* its a bit obtuse, but its simple */
static void
-emae_queue_widgets (EMAccountEditor *emae, GladeXML *xml, const gchar *first, ...)
+emae_queue_widgets (EMAccountEditor *emae, GtkBuilder *builder, const gchar *first, ...)
{
gint i = 0;
va_list ap;
@@ -2143,7 +2140,7 @@ emae_queue_widgets (EMAccountEditor *emae, GladeXML *xml, const gchar *first, ..
va_start (ap, first);
while (first) {
emae->priv->widgets_name[i] = first;
- emae->priv->widgets[i++] = glade_xml_get_widget (xml, first);
+ emae->priv->widgets[i++] = e_builder_get_widget (builder, first);
first = va_arg (ap, const gchar *);
}
va_end (ap);
@@ -2158,51 +2155,47 @@ static GtkWidget *
emae_identity_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
{
EMAccountEditor *emae = data;
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
EAccount *account;
gint i;
GtkWidget *w;
- GladeXML *xml;
- gchar *gladefile;
+ GtkBuilder *builder;
/*if (old)
return old;*/
account = em_account_editor_get_modified_account (emae);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-config.glade",
- NULL);
- xml = glade_xml_new (gladefile, item->label, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "mail-config.ui");
/* Management & Identity fields, in the assistant the management frame is relocated to the last page later on */
for (i=0;i<G_N_ELEMENTS (emae_identity_entries);i++)
- gui->identity_entries[i] = emae_account_entry (emae, emae_identity_entries[i].name, emae_identity_entries[i].item, xml);
+ priv->identity_entries[i] = emae_account_entry (emae, emae_identity_entries[i].name, emae_identity_entries[i].item, builder);
- gui->management_frame = glade_xml_get_widget (xml, "management_frame");
+ priv->management_frame = e_builder_get_widget (builder, "management_frame");
- gui->default_account = GTK_TOGGLE_BUTTON (glade_xml_get_widget (xml, "management_default"));
+ priv->default_account = GTK_TOGGLE_BUTTON (e_builder_get_widget (builder, "management_default"));
if (!e_get_default_account ()
|| (account == e_get_default_account ())
|| (GPOINTER_TO_INT(g_object_get_data (G_OBJECT (account), "default_flagged"))) )
- gtk_toggle_button_set_active (gui->default_account, TRUE);
+ gtk_toggle_button_set_active (priv->default_account, TRUE);
if (emae->do_signature) {
- emae_setup_signatures (emae, xml);
+ emae_setup_signatures (emae, builder);
} else {
/* TODO: this could/should probably be neater */
- gtk_widget_hide (glade_xml_get_widget (xml, "sigLabel"));
+ gtk_widget_hide (e_builder_get_widget (builder, "sigLabel"));
#if 0
- gtk_widget_hide (glade_xml_get_widget (xml, "sigOption"));
+ gtk_widget_hide (e_builder_get_widget (builder, "sigOption"));
#endif
- gtk_widget_hide (glade_xml_get_widget (xml, "sigAddNew"));
+ gtk_widget_hide (e_builder_get_widget (builder, "sigAddNew"));
}
- w = glade_xml_get_widget (xml, item->label);
+ w = e_builder_get_widget (builder, item->label);
if (emae->type == EMAE_PAGES) {
gtk_box_pack_start ((GtkBox *)emae->pages[0], w, TRUE, TRUE, 0);
- } else if (((EConfig *)gui->config)->type == E_CONFIG_ASSISTANT) {
+ } else if (((EConfig *)priv->config)->type == E_CONFIG_ASSISTANT) {
GtkWidget *page = emae_create_basic_assistant_page (GTK_ASSISTANT (parent), "identity_page", old);
gtk_box_pack_start (GTK_BOX (page), w, TRUE, TRUE, 0);
@@ -2212,9 +2205,9 @@ emae_identity_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Identity")));
}
- emae_queue_widgets (emae, xml, "account_vbox", "identity_required_table", "identity_optional_table", NULL);
+ emae_queue_widgets (emae, builder, "account_vbox", "identity_required_table", "identity_optional_table", NULL);
- g_object_unref (xml);
+ g_object_unref (builder);
return w;
}
@@ -2223,27 +2216,23 @@ static GtkWidget *
emae_receive_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
{
EMAccountEditor *emae = data;
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
GtkWidget *w;
- GladeXML *xml;
- gchar *gladefile;
+ GtkBuilder *builder;
/*if (old)
return old;*/
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-config.glade",
- NULL);
- xml = glade_xml_new (gladefile, item->label, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "mail-config.ui");
- gui->source.type = CAMEL_PROVIDER_STORE;
- emae_setup_service (emae, &gui->source, xml);
+ priv->source.type = CAMEL_PROVIDER_STORE;
+ emae_setup_service (emae, &priv->source, builder);
- w = glade_xml_get_widget (xml, item->label);
+ w = e_builder_get_widget (builder, item->label);
if (emae->type == EMAE_PAGES) {
gtk_box_pack_start ((GtkBox *)emae->pages[1], w, TRUE, TRUE, 0);
- } else if (((EConfig *)gui->config)->type == E_CONFIG_ASSISTANT) {
+ } else if (((EConfig *)priv->config)->type == E_CONFIG_ASSISTANT) {
GtkWidget *page = emae_create_basic_assistant_page (GTK_ASSISTANT (parent), "source_page", old);
gtk_box_pack_start (GTK_BOX (page), w, TRUE, TRUE, 0);
@@ -2253,9 +2242,9 @@ emae_receive_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Receiving Email")));
}
- emae_queue_widgets (emae, xml, "source_type_table", "table4", "vbox181", "vbox179", NULL);
+ emae_queue_widgets (emae, builder, "source_type_table", "table4", "vbox181", "vbox179", NULL);
- g_object_unref (xml);
+ g_object_unref (builder);
return w;
}
@@ -2679,31 +2668,27 @@ static GtkWidget *
emae_send_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
{
EMAccountEditor *emae = data;
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
GtkWidget *w;
- GladeXML *xml;
- gchar *gladefile;
+ GtkBuilder *builder;
/* no transport options page at all for these types of providers */
- if (gui->source.provider && CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT(gui->source.provider)) {
- memset (&gui->transport.frame, 0, ((gchar *)&gui->transport.check_dialog)-((gchar *)&gui->transport.frame));
+ if (priv->source.provider && CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT(priv->source.provider)) {
+ memset (&priv->transport.frame, 0, ((gchar *)&priv->transport.check_dialog)-((gchar *)&priv->transport.frame));
return NULL;
}
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-config.glade",
- NULL);
- xml = glade_xml_new (gladefile, item->label, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "mail-config.ui");
/* Transport */
- gui->transport.type = CAMEL_PROVIDER_TRANSPORT;
- emae_setup_service (emae, &gui->transport, xml);
+ priv->transport.type = CAMEL_PROVIDER_TRANSPORT;
+ emae_setup_service (emae, &priv->transport, builder);
- w = glade_xml_get_widget (xml, item->label);
+ w = e_builder_get_widget (builder, item->label);
if (emae->type == EMAE_PAGES) {
gtk_box_pack_start ((GtkBox *)emae->pages[2], w, TRUE, TRUE, 0);
- } else if (((EConfig *)gui->config)->type == E_CONFIG_ASSISTANT) {
+ } else if (((EConfig *)priv->config)->type == E_CONFIG_ASSISTANT) {
GtkWidget *page = emae_create_basic_assistant_page (GTK_ASSISTANT (parent), "transport_page", old);
gtk_box_pack_start (GTK_BOX (page), w, TRUE, TRUE, 0);
@@ -2713,9 +2698,9 @@ emae_send_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *ol
gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Sending Email")));
}
- emae_queue_widgets (emae, xml, "transport_type_table", "vbox12", "vbox183", "vbox61", NULL);
+ emae_queue_widgets (emae, builder, "transport_type_table", "vbox12", "vbox183", "vbox61", NULL);
- g_object_unref (xml);
+ g_object_unref (builder);
return w;
}
@@ -2724,59 +2709,55 @@ static GtkWidget *
emae_defaults_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
{
EMAccountEditor *emae = data;
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
EAccount *account;
GtkWidget *w;
- GladeXML *xml;
- gchar *gladefile;
+ GtkBuilder *builder;
/*if (old)
return old;*/
account = em_account_editor_get_modified_account (emae);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-config.glade",
- NULL);
- xml = glade_xml_new (gladefile, item->label, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "mail-config.ui");
/* Special folders */
- gui->drafts_folder_button = (GtkButton *)emae_account_folder (emae, "drafts_button", E_ACCOUNT_DRAFTS_FOLDER_URI, E_MAIL_FOLDER_DRAFTS, xml);
- gui->sent_folder_button = (GtkButton *)emae_account_folder (emae, "sent_button", E_ACCOUNT_SENT_FOLDER_URI, E_MAIL_FOLDER_SENT, xml);
+ priv->drafts_folder_button = (GtkButton *)emae_account_folder (emae, "drafts_button", E_ACCOUNT_DRAFTS_FOLDER_URI, E_MAIL_FOLDER_DRAFTS, builder);
+ priv->sent_folder_button = (GtkButton *)emae_account_folder (emae, "sent_button", E_ACCOUNT_SENT_FOLDER_URI, E_MAIL_FOLDER_SENT, builder);
/* Special Folders "Reset Defaults" button */
- gui->restore_folders_button = (GtkButton *)glade_xml_get_widget (xml, "default_folders_button");
- g_signal_connect (gui->restore_folders_button, "clicked", G_CALLBACK (default_folders_clicked), emae);
+ priv->restore_folders_button = (GtkButton *)e_builder_get_widget (builder, "default_folders_button");
+ g_signal_connect (priv->restore_folders_button, "clicked", G_CALLBACK (default_folders_clicked), emae);
/* Always Cc/Bcc */
- emae_account_toggle (emae, "always_cc", E_ACCOUNT_CC_ALWAYS, xml);
- emae_account_entry (emae, "cc_addrs", E_ACCOUNT_CC_ADDRS, xml);
- emae_account_toggle (emae, "always_bcc", E_ACCOUNT_BCC_ALWAYS, xml);
- emae_account_entry (emae, "bcc_addrs", E_ACCOUNT_BCC_ADDRS, xml);
+ emae_account_toggle (emae, "always_cc", E_ACCOUNT_CC_ALWAYS, builder);
+ emae_account_entry (emae, "cc_addrs", E_ACCOUNT_CC_ADDRS, builder);
+ emae_account_toggle (emae, "always_bcc", E_ACCOUNT_BCC_ALWAYS, builder);
+ emae_account_entry (emae, "bcc_addrs", E_ACCOUNT_BCC_ADDRS, builder);
- gtk_widget_set_sensitive ((GtkWidget *)gui->drafts_folder_button, e_account_writable (account, E_ACCOUNT_DRAFTS_FOLDER_URI));
+ gtk_widget_set_sensitive ((GtkWidget *)priv->drafts_folder_button, e_account_writable (account, E_ACCOUNT_DRAFTS_FOLDER_URI));
- gtk_widget_set_sensitive ( (GtkWidget *)gui->sent_folder_button,
+ gtk_widget_set_sensitive ( (GtkWidget *)priv->sent_folder_button,
e_account_writable (account, E_ACCOUNT_SENT_FOLDER_URI)
&&
(emae->priv->source.provider ? !(emae->priv->source.provider->flags & CAMEL_PROVIDER_DISABLE_SENT_FOLDER): TRUE)
);
- gtk_widget_set_sensitive ((GtkWidget *)gui->restore_folders_button,
+ gtk_widget_set_sensitive ((GtkWidget *)priv->restore_folders_button,
(e_account_writable (account, E_ACCOUNT_SENT_FOLDER_URI)
&& ((emae->priv->source.provider && !( emae->priv->source.provider->flags & CAMEL_PROVIDER_DISABLE_SENT_FOLDER))
|| e_account_writable (account, E_ACCOUNT_DRAFTS_FOLDER_URI))));
/* Receipt policy */
- emae_setup_receipt_policy (emae, xml);
+ emae_setup_receipt_policy (emae, builder);
- w = glade_xml_get_widget (xml, item->label);
+ w = e_builder_get_widget (builder, item->label);
gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Defaults")));
- emae_queue_widgets (emae, xml, "vbox184", "table8", NULL);
+ emae_queue_widgets (emae, builder, "vbox184", "table8", NULL);
- g_object_unref (xml);
+ g_object_unref (builder);
return w;
}
@@ -2786,61 +2767,57 @@ emae_security_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
{
EMAccountEditor *emae = data;
#if defined (HAVE_NSS)
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
#endif
GtkWidget *w;
- GladeXML *xml;
- gchar *gladefile;
+ GtkBuilder *builder;
/*if (old)
return old;*/
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-config.glade",
- NULL);
- xml = glade_xml_new (gladefile, item->label, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "mail-config.ui");
/* Security */
- emae_account_entry (emae, "pgp_key", E_ACCOUNT_PGP_KEY, xml);
- emae_account_toggle (emae, "pgp_encrypt_to_self", E_ACCOUNT_PGP_ENCRYPT_TO_SELF, xml);
- emae_account_toggle (emae, "pgp_always_sign", E_ACCOUNT_PGP_ALWAYS_SIGN, xml);
- emae_account_toggle (emae, "pgp_no_imip_sign", E_ACCOUNT_PGP_NO_IMIP_SIGN, xml);
- emae_account_toggle (emae, "pgp_always_trust", E_ACCOUNT_PGP_ALWAYS_TRUST, xml);
+ emae_account_entry (emae, "pgp_key", E_ACCOUNT_PGP_KEY, builder);
+ emae_account_toggle (emae, "pgp_encrypt_to_self", E_ACCOUNT_PGP_ENCRYPT_TO_SELF, builder);
+ emae_account_toggle (emae, "pgp_always_sign", E_ACCOUNT_PGP_ALWAYS_SIGN, builder);
+ emae_account_toggle (emae, "pgp_no_imip_sign", E_ACCOUNT_PGP_NO_IMIP_SIGN, builder);
+ emae_account_toggle (emae, "pgp_always_trust", E_ACCOUNT_PGP_ALWAYS_TRUST, builder);
#if defined (HAVE_NSS)
/* TODO: this should handle its entry separately? */
- gui->smime_sign_key = emae_account_entry (emae, "smime_sign_key", E_ACCOUNT_SMIME_SIGN_KEY, xml);
- gui->smime_sign_key_select = (GtkButton *)glade_xml_get_widget (xml, "smime_sign_key_select");
- gui->smime_sign_key_clear = (GtkButton *)glade_xml_get_widget (xml, "smime_sign_key_clear");
- g_signal_connect (gui->smime_sign_key_select, "clicked", G_CALLBACK(smime_sign_key_select), emae);
- g_signal_connect (gui->smime_sign_key_clear, "clicked", G_CALLBACK(smime_sign_key_clear), emae);
-
- gui->smime_sign_default = emae_account_toggle (emae, "smime_sign_default", E_ACCOUNT_SMIME_SIGN_DEFAULT, xml);
-
- gui->smime_encrypt_key = emae_account_entry (emae, "smime_encrypt_key", E_ACCOUNT_SMIME_ENCRYPT_KEY, xml);
- gui->smime_encrypt_key_select = (GtkButton *)glade_xml_get_widget (xml, "smime_encrypt_key_select");
- gui->smime_encrypt_key_clear = (GtkButton *)glade_xml_get_widget (xml, "smime_encrypt_key_clear");
- g_signal_connect (gui->smime_encrypt_key_select, "clicked", G_CALLBACK(smime_encrypt_key_select), emae);
- g_signal_connect (gui->smime_encrypt_key_clear, "clicked", G_CALLBACK(smime_encrypt_key_clear), emae);
-
- gui->smime_encrypt_default = emae_account_toggle (emae, "smime_encrypt_default", E_ACCOUNT_SMIME_ENCRYPT_DEFAULT, xml);
- gui->smime_encrypt_to_self = emae_account_toggle (emae, "smime_encrypt_to_self", E_ACCOUNT_SMIME_ENCRYPT_TO_SELF, xml);
+ priv->smime_sign_key = emae_account_entry (emae, "smime_sign_key", E_ACCOUNT_SMIME_SIGN_KEY, builder);
+ priv->smime_sign_key_select = (GtkButton *)e_builder_get_widget (builder, "smime_sign_key_select");
+ priv->smime_sign_key_clear = (GtkButton *)e_builder_get_widget (builder, "smime_sign_key_clear");
+ g_signal_connect (priv->smime_sign_key_select, "clicked", G_CALLBACK(smime_sign_key_select), emae);
+ g_signal_connect (priv->smime_sign_key_clear, "clicked", G_CALLBACK(smime_sign_key_clear), emae);
+
+ priv->smime_sign_default = emae_account_toggle (emae, "smime_sign_default", E_ACCOUNT_SMIME_SIGN_DEFAULT, builder);
+
+ priv->smime_encrypt_key = emae_account_entry (emae, "smime_encrypt_key", E_ACCOUNT_SMIME_ENCRYPT_KEY, builder);
+ priv->smime_encrypt_key_select = (GtkButton *)e_builder_get_widget (builder, "smime_encrypt_key_select");
+ priv->smime_encrypt_key_clear = (GtkButton *)e_builder_get_widget (builder, "smime_encrypt_key_clear");
+ g_signal_connect (priv->smime_encrypt_key_select, "clicked", G_CALLBACK(smime_encrypt_key_select), emae);
+ g_signal_connect (priv->smime_encrypt_key_clear, "clicked", G_CALLBACK(smime_encrypt_key_clear), emae);
+
+ priv->smime_encrypt_default = emae_account_toggle (emae, "smime_encrypt_default", E_ACCOUNT_SMIME_ENCRYPT_DEFAULT, builder);
+ priv->smime_encrypt_to_self = emae_account_toggle (emae, "smime_encrypt_to_self", E_ACCOUNT_SMIME_ENCRYPT_TO_SELF, builder);
smime_changed (emae);
#else
{
/* Since we don't have NSS, hide the S/MIME config options */
GtkWidget *frame;
- frame = glade_xml_get_widget (xml, "smime_vbox");
+ frame = e_builder_get_widget (builder, "smime_vbox");
gtk_widget_destroy (frame);
}
#endif /* HAVE_NSS */
- w = glade_xml_get_widget (xml, item->label);
+ w = e_builder_get_widget (builder, item->label);
gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Security")));
- g_object_unref (xml);
+ g_object_unref (builder);
return w;
}
@@ -2900,11 +2877,11 @@ static GtkWidget *
emae_management_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
{
EMAccountEditor *emae = data;
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
GtkWidget *w;
- w = gui->management_frame;
- if (((EConfig *)gui->config)->type == E_CONFIG_ASSISTANT) {
+ w = priv->management_frame;
+ if (((EConfig *)priv->config)->type == E_CONFIG_ASSISTANT) {
GtkWidget *page = emae_create_basic_assistant_page (GTK_ASSISTANT (parent), "management_page", old);
gtk_widget_reparent (w, page);
@@ -3309,7 +3286,7 @@ emae_editor_destroyed (GtkWidget *dialog, EMAccountEditor *emae)
static void
em_account_editor_construct (EMAccountEditor *emae, EMAccountEditorType type, const gchar *id)
{
- EMAccountEditorPrivate *gui = emae->priv;
+ EMAccountEditorPrivate *priv = emae->priv;
EAccount *account;
gint i, index;
GSList *l;
@@ -3322,7 +3299,7 @@ em_account_editor_construct (EMAccountEditor *emae, EMAccountEditorType type, co
emae->type = type;
/* sort the providers, remote first */
- gui->providers = g_list_sort (camel_provider_list (TRUE), (GCompareFunc)provider_compare);
+ priv->providers = g_list_sort (camel_provider_list (TRUE), (GCompareFunc)provider_compare);
if (type == EMAE_NOTEBOOK) {
ec = em_config_new (E_CONFIG_BOOK, id);
@@ -3346,7 +3323,7 @@ em_account_editor_construct (EMAccountEditor *emae, EMAccountEditorType type, co
}
}
- emae->config = gui->config = ec;
+ emae->config = priv->config = ec;
l = NULL;
for (i=0;items[i].path;i++)
l = g_slist_prepend (l, &items[i]);
@@ -3356,7 +3333,7 @@ em_account_editor_construct (EMAccountEditor *emae, EMAccountEditorType type, co
l = NULL;
have = g_hash_table_new (g_str_hash, g_str_equal);
index = 20;
- for (prov=gui->providers;prov;prov=g_list_next (prov)) {
+ for (prov=priv->providers;prov;prov=g_list_next (prov)) {
CamelProviderConfEntry *entries = ((CamelProvider *)prov->data)->extra_conf;
for (i=0;entries && entries[i].type != CAMEL_PROVIDER_CONF_END;i++) {
@@ -3394,7 +3371,7 @@ em_account_editor_construct (EMAccountEditor *emae, EMAccountEditorType type, co
}
g_hash_table_destroy (have);
e_config_add_items ((EConfig *)ec, l, NULL, NULL, emae_free_auto, emae);
- gui->extra_items = l;
+ priv->extra_items = l;
e_config_add_page_check ((EConfig *)ec, NULL, emae_check_complete, emae);
diff --git a/mail/em-filter-editor.c b/mail/em-filter-editor.c
index f104cef..ecc1bbc 100644
--- a/mail/em-filter-editor.c
+++ b/mail/em-filter-editor.c
@@ -28,6 +28,7 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
#include "e-util/gconf-bridge.h"
@@ -116,18 +117,14 @@ em_filter_editor_new (EMFilterContext *fc,
const EMFilterSource *source_names)
{
EMFilterEditor *fe;
- GladeXML *gui;
- gchar *gladefile;
+ GtkBuilder *builder;
fe = g_object_new (EM_TYPE_FILTER_EDITOR, NULL);
- gladefile = g_build_filename (
- EVOLUTION_UIDIR, "filter.glade", NULL);
- gui = glade_xml_new (gladefile, "rule_editor", NULL);
- g_free (gladefile);
-
- em_filter_editor_construct (fe, fc, gui, source_names);
- g_object_unref (gui);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "filter.ui");
+ em_filter_editor_construct (fe, fc, builder, source_names);
+ g_object_unref (builder);
return fe;
}
@@ -164,7 +161,7 @@ select_source (GtkComboBox *combobox, EMFilterEditor *fe)
void
em_filter_editor_construct (EMFilterEditor *fe,
EMFilterContext *fc,
- GladeXML *gui,
+ GtkBuilder *builder,
const EMFilterSource *source_names)
{
GtkWidget *combobox;
@@ -172,7 +169,7 @@ em_filter_editor_construct (EMFilterEditor *fe,
GtkTreeViewColumn *column;
GSList *sources = NULL;
- combobox = glade_xml_get_widget (gui, "filter_source_combobox");
+ combobox = e_builder_get_widget (builder, "filter_source_combobox");
gtk_list_store_clear (GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (combobox))));
for (i = 0; source_names[i].source; i++) {
@@ -185,7 +182,7 @@ em_filter_editor_construct (EMFilterEditor *fe,
g_object_set_data_full (G_OBJECT (combobox), "sources", sources, free_sources);
gtk_widget_show (combobox);
- e_rule_editor_construct ((ERuleEditor *) fe, (ERuleContext *) fc, gui, source_names[0].source, _("_Filter Rules"));
+ e_rule_editor_construct ((ERuleEditor *) fe, (ERuleContext *) fc, builder, source_names[0].source, _("_Filter Rules"));
/* Show the Enabled column, we support it here */
column = gtk_tree_view_get_column (GTK_TREE_VIEW (E_RULE_EDITOR (fe)->list), 0);
diff --git a/mail/em-filter-editor.h b/mail/em-filter-editor.h
index e70b346..3df5b75 100644
--- a/mail/em-filter-editor.h
+++ b/mail/em-filter-editor.h
@@ -72,7 +72,7 @@ EMFilterEditor *em_filter_editor_new (EMFilterContext *f,
const EMFilterSource *source_names);
void em_filter_editor_construct (EMFilterEditor *fe,
EMFilterContext *fc,
- GladeXML *gui,
+ GtkBuilder *builder,
const EMFilterSource *source_names);
#endif /* EM_FILTER_EDITOR_H */
diff --git a/mail/em-format-html-display.c b/mail/em-format-html-display.c
index 786936a..ba5514a 100644
--- a/mail/em-format-html-display.c
+++ b/mail/em-format-html-display.c
@@ -278,22 +278,19 @@ efhd_xpkcs7mime_validity_clicked (GtkWidget *button,
EMFormatHTMLPObject *pobject)
{
struct _smime_pobject *po = (struct _smime_pobject *)pobject;
- GladeXML *xml;
+ GtkBuilder *builder;
GtkWidget *vbox, *w;
- gchar *gladefile;
if (po->widget)
/* FIXME: window raise? */
return;
- gladefile = g_build_filename (
- EVOLUTION_UIDIR, "mail-dialogs.glade", NULL);
- xml = glade_xml_new (gladefile, "message_security_dialog", NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "mail-dialogs.ui");
- po->widget = glade_xml_get_widget(xml, "message_security_dialog");
+ po->widget = e_builder_get_widget(builder, "message_security_dialog");
- vbox = glade_xml_get_widget(xml, "signature_vbox");
+ vbox = e_builder_get_widget(builder, "signature_vbox");
w = gtk_label_new (_(smime_sign_table[po->valid->sign.status].description));
gtk_misc_set_alignment((GtkMisc *)w, 0.0, 0.5);
gtk_label_set_line_wrap((GtkLabel *)w, TRUE);
@@ -325,7 +322,7 @@ efhd_xpkcs7mime_validity_clicked (GtkWidget *button,
gtk_widget_show_all(vbox);
- vbox = glade_xml_get_widget(xml, "encryption_vbox");
+ vbox = e_builder_get_widget(builder, "encryption_vbox");
w = gtk_label_new(_(smime_encrypt_table[po->valid->encrypt.status].description));
gtk_misc_set_alignment((GtkMisc *)w, 0.0, 0.5);
gtk_label_set_line_wrap((GtkLabel *)w, TRUE);
@@ -357,7 +354,7 @@ efhd_xpkcs7mime_validity_clicked (GtkWidget *button,
gtk_widget_show_all(vbox);
- g_object_unref(xml);
+ g_object_unref(builder);
g_signal_connect(po->widget, "response", G_CALLBACK(efhd_xpkcs7mime_info_response), po);
gtk_widget_show(po->widget);
diff --git a/mail/em-subscribe-editor.c b/mail/em-subscribe-editor.c
index b07c0e1..76fec73 100644
--- a/mail/em-subscribe-editor.c
+++ b/mail/em-subscribe-editor.c
@@ -34,6 +34,7 @@
#include "camel/camel-store.h"
#include "camel/camel-session.h"
+#include "e-util/e-util.h"
#include "e-util/e-account-utils.h"
#include "e-util/e-util-private.h"
@@ -819,34 +820,27 @@ em_subscribe_editor_new(void)
EMSubscribeEditor *se;
EAccountList *accounts;
EIterator *iter;
- GladeXML *xml;
+ GtkBuilder *builder;
GtkWidget *w;
GtkCellRenderer *cell;
GtkListStore *store;
GtkTreeIter gtiter;
- gchar *gladefile;
se = g_malloc0(sizeof(*se));
g_queue_init (&se->stores);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-dialogs.glade",
- NULL);
- xml = glade_xml_new (gladefile, "subscribe_dialog", NULL);
- g_free (gladefile);
+ /* XXX I think we're leaking the GtkBuilder. */
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "mail-dialogs.ui");
- if (xml == NULL) {
- /* ?? */
- return NULL;
- }
- se->dialog = (GtkDialog *)glade_xml_get_widget (xml, "subscribe_dialog");
+ se->dialog = (GtkDialog *)e_builder_get_widget (builder, "subscribe_dialog");
g_signal_connect(se->dialog, "destroy", G_CALLBACK(sub_editor_destroy), se);
gtk_widget_ensure_style ((GtkWidget *)se->dialog);
gtk_container_set_border_width ((GtkContainer *) ((GtkDialog *)se->dialog)->action_area, 12);
gtk_container_set_border_width ((GtkContainer *) ((GtkDialog *)se->dialog)->vbox, 0);
- se->vbox = glade_xml_get_widget(xml, "tree_box");
+ se->vbox = e_builder_get_widget(builder, "tree_box");
/* FIXME: This is just to get the shadow, is there a better way? */
w = gtk_label_new(_("Please select a server."));
@@ -858,17 +852,17 @@ em_subscribe_editor_new(void)
gtk_box_pack_start((GtkBox *)se->vbox, se->none_selected, TRUE, TRUE, 0);
gtk_widget_show(se->none_selected);
- se->progress = glade_xml_get_widget(xml, "progress_bar");
+ se->progress = e_builder_get_widget(builder, "progress_bar");
gtk_widget_hide(se->progress);
- w = glade_xml_get_widget(xml, "close_button");
+ w = e_builder_get_widget(builder, "close_button");
g_signal_connect(w, "clicked", G_CALLBACK(sub_editor_close), se);
- w = glade_xml_get_widget(xml, "refresh_button");
+ w = e_builder_get_widget(builder, "refresh_button");
g_signal_connect(w, "clicked", G_CALLBACK(sub_editor_refresh), se);
/* setup stores combobox */
- se->combobox = glade_xml_get_widget (xml, "store_combobox");
+ se->combobox = e_builder_get_widget (builder, "store_combobox");
store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN);
gtk_combo_box_set_model (GTK_COMBO_BOX (se->combobox), GTK_TREE_MODEL (store));
g_object_unref (store);
diff --git a/mail/em-vfolder-editor.c b/mail/em-vfolder-editor.c
index e038f52..0522e49 100644
--- a/mail/em-vfolder-editor.c
+++ b/mail/em-vfolder-editor.c
@@ -30,6 +30,7 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
#include "e-util/gconf-bridge.h"
@@ -113,20 +114,17 @@ GtkWidget *
em_vfolder_editor_new (EMVFolderContext *vc)
{
EMVFolderEditor *ve;
- GladeXML *gui;
- gchar *gladefile;
+ GtkBuilder *builder;
ve = g_object_new (EM_TYPE_VFOLDER_EDITOR, NULL);
- gladefile = g_build_filename (
- EVOLUTION_UIDIR, "filter.glade", NULL);
- gui = glade_xml_new (gladefile, "rule_editor", NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "filter.ui");
- e_rule_editor_construct ((ERuleEditor *) ve, (ERuleContext *) vc, gui, "incoming", _("Search _Folders"));
- gtk_widget_hide (glade_xml_get_widget (gui, "label17"));
- gtk_widget_hide (glade_xml_get_widget (gui, "filter_source_combobox"));
- g_object_unref (gui);
+ e_rule_editor_construct ((ERuleEditor *) ve, (ERuleContext *) vc, builder, "incoming", _("Search _Folders"));
+ gtk_widget_hide (e_builder_get_widget (builder, "label17"));
+ gtk_widget_hide (e_builder_get_widget (builder, "filter_source_combobox"));
+ g_object_unref (builder);
return GTK_WIDGET (ve);
}
diff --git a/mail/em-vfolder-rule.c b/mail/em-vfolder-rule.c
index ada89d0..b1a3f76 100644
--- a/mail/em-vfolder-rule.c
+++ b/mail/em-vfolder-rule.c
@@ -37,6 +37,8 @@
#include "mail/em-utils.h"
#include "mail/em-folder-tree.h"
#include "mail/em-folder-selector.h"
+
+#include "e-util/e-util.h"
#include "e-util/e-error.h"
#include "e-util/e-util-private.h"
@@ -618,9 +620,8 @@ get_widget(EFilterRule *fr, ERuleContext *rc)
GtkRadioButton *rb;
const gchar *source;
GtkTreeIter iter;
- GladeXML *gui;
+ GtkBuilder *builder;
gint i;
- gchar *gladefile;
widget = E_FILTER_RULE_CLASS(parent_class)->get_widget(fr, rc);
@@ -628,22 +629,19 @@ get_widget(EFilterRule *fr, ERuleContext *rc)
data->rc = rc;
data->vr = vr;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-dialogs.glade",
- NULL);
- gui = glade_xml_new(gladefile, "vfolder_source_frame", NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "mail-dialogs.ui");
- frame = glade_xml_get_widget(gui, "vfolder_source_frame");
+ frame = e_builder_get_widget(builder, "vfolder_source_frame");
g_object_set_data_full((GObject *)frame, "data", data, g_free);
for (i = 0; i < BUTTON_LAST; i++) {
- data->buttons[i] =(GtkButton *)glade_xml_get_widget(gui, edit_buttons[i].name);
+ data->buttons[i] =(GtkButton *)e_builder_get_widget(builder, edit_buttons[i].name);
g_signal_connect(data->buttons[i], "clicked", edit_buttons[i].func, data);
}
- list = glade_xml_get_widget(gui, "source_list");
+ list = e_builder_get_widget(builder, "source_list");
data->list =(GtkTreeView *)g_object_get_data((GObject *)list, "table");
data->model =(GtkListStore *)g_object_get_data((GObject *)list, "model");
@@ -658,19 +656,19 @@ get_widget(EFilterRule *fr, ERuleContext *rc)
g_signal_connect(data->list, "cursor-changed", G_CALLBACK(select_source), data);
- rb = (GtkRadioButton *)glade_xml_get_widget (gui, "local_rb");
+ rb = (GtkRadioButton *)e_builder_get_widget (builder, "local_rb");
g_signal_connect (GTK_WIDGET(rb), "toggled", G_CALLBACK(select_source_with_changed), data);
- rb = (GtkRadioButton *)glade_xml_get_widget (gui, "remote_rb");
+ rb = (GtkRadioButton *)e_builder_get_widget (builder, "remote_rb");
g_signal_connect (GTK_WIDGET(rb), "toggled", G_CALLBACK(select_source_with_changed), data);
- rb = (GtkRadioButton *)glade_xml_get_widget (gui, "local_and_remote_rb");
+ rb = (GtkRadioButton *)e_builder_get_widget (builder, "local_and_remote_rb");
g_signal_connect (GTK_WIDGET(rb), "toggled", G_CALLBACK(select_source_with_changed), data);
- rb = (GtkRadioButton *)glade_xml_get_widget (gui, "specific_rb");
+ rb = (GtkRadioButton *)e_builder_get_widget (builder, "specific_rb");
g_signal_connect (GTK_WIDGET(rb), "toggled", G_CALLBACK(select_source_with_changed), data);
- data->source_selector = (GtkWidget *)glade_xml_get_widget (gui, "source_selector");
+ data->source_selector = (GtkWidget *)e_builder_get_widget (builder, "source_selector");
rb = g_slist_nth_data(gtk_radio_button_get_group (rb), vr->with);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb), TRUE);
@@ -678,7 +676,7 @@ get_widget(EFilterRule *fr, ERuleContext *rc)
set_sensitive(data);
- g_object_unref(gui);
+ g_object_unref(builder);
gtk_box_pack_start(GTK_BOX(widget), frame, TRUE, TRUE, 3);
diff --git a/mail/message-tag-followup.c b/mail/message-tag-followup.c
index 557c822..39283a2 100644
--- a/mail/message-tag-followup.c
+++ b/mail/message-tag-followup.c
@@ -34,6 +34,7 @@
#include <glib/gi18n.h>
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
#include "misc/e-dateedit.h"
@@ -260,9 +261,8 @@ construct (MessageTagEditor *editor)
GtkCellRenderer *renderer;
GtkListStore *model;
GtkWidget *widget;
- GladeXML *gui;
+ GtkBuilder *builder;
gint i;
- gchar *gladefile;
gtk_window_set_title (GTK_WINDOW (editor), _("Flag to Follow Up"));
@@ -273,24 +273,21 @@ construct (MessageTagEditor *editor)
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (editor)->vbox), 0);
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (editor)->action_area), 12);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-dialogs.glade",
- NULL);
- gui = glade_xml_new (gladefile, "followup_editor", NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "mail-dialogs.ui");
- widget = glade_xml_get_widget (gui, "toplevel");
+ widget = e_builder_get_widget (builder, "toplevel");
/* reparent */
gtk_widget_reparent (widget, GTK_DIALOG (editor)->vbox);
gtk_box_set_child_packing (GTK_BOX (GTK_DIALOG (editor)->vbox), widget, TRUE, TRUE, 6, GTK_PACK_START);
- widget = glade_xml_get_widget (gui, "pixmap");
+ widget = e_builder_get_widget (builder, "pixmap");
gtk_image_set_from_icon_name (
GTK_IMAGE (widget), "stock_mail-flag-for-followup",
GTK_ICON_SIZE_DIALOG);
- followup->message_list = GTK_TREE_VIEW (glade_xml_get_widget (gui, "message_list"));
+ followup->message_list = GTK_TREE_VIEW (e_builder_get_widget (builder, "message_list"));
model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
gtk_tree_view_set_model (followup->message_list, (GtkTreeModel *) model);
@@ -302,26 +299,24 @@ construct (MessageTagEditor *editor)
gtk_tree_view_insert_column_with_attributes (followup->message_list, -1, _("Subject"),
renderer, "text", 1, NULL);
- followup->combo_entry = GTK_COMBO_BOX (glade_xml_get_widget (gui, "combo"));
+ followup->combo_entry = GTK_COMBO_BOX (e_builder_get_widget (builder, "combo"));
gtk_list_store_clear (GTK_LIST_STORE (gtk_combo_box_get_model (followup->combo_entry)));
for (i = 0; i < G_N_ELEMENTS (available_flags); i++)
gtk_combo_box_append_text (followup->combo_entry, (gchar *) _(available_flags[i]));
gtk_combo_box_set_active (followup->combo_entry, DEFAULT_FLAG);
- followup->target_date = E_DATE_EDIT (glade_xml_get_widget (gui, "target_date"));
+ followup->target_date = E_DATE_EDIT (e_builder_get_widget (builder, "target_date"));
/* glade bug, need to show this ourselves */
gtk_widget_show ((GtkWidget *) followup->target_date);
e_date_edit_set_time (followup->target_date, (time_t) -1);
- followup->completed = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "completed"));
+ followup->completed = GTK_TOGGLE_BUTTON (e_builder_get_widget (builder, "completed"));
g_signal_connect (followup->completed, "toggled", G_CALLBACK (completed_toggled), followup);
- followup->clear = GTK_BUTTON (glade_xml_get_widget (gui, "clear"));
- gtk_button_set_label (followup->clear, _("Clea_r"));
- gtk_button_set_image (followup->clear, gtk_image_new_from_stock (GTK_STOCK_CLEAR, GTK_ICON_SIZE_BUTTON));
+ followup->clear = GTK_BUTTON (e_builder_get_widget (builder, "clear"));
g_signal_connect (followup->clear, "clicked", G_CALLBACK (clear_clicked), followup);
- g_object_unref (gui);
+ g_object_unref (builder);
}
MessageTagEditor *
diff --git a/modules/addressbook/addressbook-config.c b/modules/addressbook/addressbook-config.c
index 460f9de..bbd74d4 100644
--- a/modules/addressbook/addressbook-config.c
+++ b/modules/addressbook/addressbook-config.c
@@ -44,6 +44,7 @@
#include "addressbook.h"
#include "addressbook-config.h"
+#include "e-util/e-util.h"
#include "e-util/e-error.h"
#include "e-util/e-util-private.h"
@@ -66,8 +67,6 @@
#define LDAP_PORT_STRING "389"
#define LDAPS_PORT_STRING "636"
-#define GLADE_FILE_NAME "ldap-config.glade"
-
GtkWidget* supported_bases_create_table (gchar *name, gchar *string1, gchar *string2,
gint num1, gint num2);
@@ -83,7 +82,7 @@ GtkWidget* supported_bases_create_table (gchar *name, gchar *string1, gchar *str
typedef struct _AddressbookSourceDialog AddressbookSourceDialog;
struct _AddressbookSourceDialog {
- GladeXML *gui;
+ GtkBuilder *builder;
EABConfig *config; /* the config manager */
@@ -410,17 +409,13 @@ query_for_supported_bases (GtkWidget *button, AddressbookSourceDialog *sdialog)
GtkTreeView *table;
GtkWidget *dialog;
GtkWidget *supported_bases_table;
- GladeXML *gui;
+ GtkBuilder *builder;
GtkTreeIter iter;
- gchar *gladefile;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- GLADE_FILE_NAME,
- NULL);
- gui = glade_xml_new (gladefile, "supported-bases-dialog", NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "ldap-config.ui");
- dialog = glade_xml_get_widget (gui, "supported-bases-dialog");
+ dialog = e_builder_get_widget (builder, "supported-bases-dialog");
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (sdialog->window));
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
@@ -429,7 +424,7 @@ query_for_supported_bases (GtkWidget *button, AddressbookSourceDialog *sdialog)
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), 0);
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area), 12);
- supported_bases_table = glade_xml_get_widget (gui, "supported-bases-table");
+ supported_bases_table = e_builder_get_widget (builder, "supported-bases-table");
gtk_widget_show_all (supported_bases_table);
table = g_object_get_data (G_OBJECT (supported_bases_table), "table");
@@ -583,22 +578,18 @@ eabc_general_name(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
AddressbookSourceDialog *sdialog = data;
const gchar *uri;
GtkWidget *w;
- GladeXML *gui;
- gchar *gladefile;
+ GtkBuilder *builder;
if (old)
return old;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- GLADE_FILE_NAME,
- NULL);
- gui = glade_xml_new (gladefile, item->label, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "ldap-config.ui");
- w = glade_xml_get_widget(gui, item->label);
+ w = e_builder_get_widget(builder, item->label);
gtk_box_pack_start((GtkBox *)parent, w, FALSE, FALSE, 0);
- sdialog->display_name = glade_xml_get_widget (gui, "account-editor-display-name-entry");
+ sdialog->display_name = e_builder_get_widget (builder, "account-editor-display-name-entry");
g_signal_connect(sdialog->display_name, "changed", G_CALLBACK(name_changed_cb), sdialog);
gtk_entry_set_text((GtkEntry *)sdialog->display_name, e_source_peek_name(sdialog->source));
@@ -610,7 +601,7 @@ eabc_general_name(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
}
}
- g_object_unref(gui);
+ g_object_unref(builder);
return w;
}
@@ -754,19 +745,15 @@ eabc_general_host(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
GtkWidget *w;
gchar *uri, port[16];
LDAPURLDesc *lud;
- GladeXML *gui;
- gchar *gladefile;
+ GtkBuilder *builder;
if (!source_group_is_remote(sdialog->source_group))
return NULL;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- GLADE_FILE_NAME,
- NULL);
- gui = glade_xml_new (gladefile, item->label, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "ldap-config.ui");
- w = glade_xml_get_widget(gui, item->label);
+ w = e_builder_get_widget(builder, item->label);
gtk_box_pack_start((GtkBox *)parent, w, FALSE, FALSE, 0);
uri = e_source_get_uri(sdialog->source);
@@ -774,11 +761,11 @@ eabc_general_host(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
lud = NULL;
g_free(uri);
- sdialog->host = glade_xml_get_widget (gui, "server-name-entry");
+ sdialog->host = e_builder_get_widget (builder, "server-name-entry");
gtk_entry_set_text((GtkEntry *)sdialog->host, lud && lud->lud_host ? lud->lud_host : "");
g_signal_connect (sdialog->host, "changed", G_CALLBACK (host_changed_cb), sdialog);
- sdialog->port_comboentry = glade_xml_get_widget (gui, "port-comboentry");
+ sdialog->port_comboentry = e_builder_get_widget (builder, "port-comboentry");
gtk_widget_set_has_tooltip (sdialog->port_comboentry, TRUE);
gtk_widget_set_tooltip_text (sdialog->port_comboentry, _("This is the port on the LDAP server that Evolution will try to connect to. A list of standard ports has been provided. Ask your system administrator what port you should specify."));
sprintf(port, "%u", lud && lud->lud_port? lud->lud_port : LDAP_PORT);
@@ -788,7 +775,7 @@ eabc_general_host(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
if (lud)
ldap_free_urldesc (lud);
- sdialog->ssl_combobox = glade_xml_get_widget (gui, "ssl-combobox");
+ sdialog->ssl_combobox = e_builder_get_widget (builder, "ssl-combobox");
gtk_widget_set_has_tooltip (sdialog->ssl_combobox, TRUE);
tmp = e_source_get_property (sdialog->source, "ssl");
sdialog->ssl = ldap_parse_ssl (tmp);
@@ -797,7 +784,7 @@ eabc_general_host(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
gtk_widget_set_sensitive (sdialog->ssl_combobox, strcmp (port, LDAPS_PORT_STRING) != 0);
g_signal_connect (sdialog->ssl_combobox, "changed", G_CALLBACK (ssl_combobox_changed_cb), sdialog);
- g_object_unref(gui);
+ g_object_unref(builder);
return w;
}
@@ -841,22 +828,18 @@ eabc_general_auth(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
AddressbookSourceDialog *sdialog = data;
GtkWidget *w;
const gchar *tmp;
- GladeXML *gui;
- gchar *gladefile;
+ GtkBuilder *builder;
if (!source_group_is_remote(sdialog->source_group))
return NULL;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- GLADE_FILE_NAME,
- NULL);
- gui = glade_xml_new (gladefile, item->label, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "ldap-config.ui");
- w = glade_xml_get_widget(gui, item->label);
+ w = e_builder_get_widget(builder, item->label);
gtk_box_pack_start((GtkBox *)parent, w, FALSE, FALSE, 0);
- sdialog->auth_combobox = glade_xml_get_widget (gui, "auth-combobox");
+ sdialog->auth_combobox = e_builder_get_widget (builder, "auth-combobox");
gtk_widget_set_has_tooltip (sdialog->auth_combobox, TRUE);
gtk_widget_set_tooltip_text (sdialog->auth_combobox, _("This is the method Evolution will use to authenticate you. Note that setting this to \"Email Address\" requires anonymous access to your LDAP server."));
tmp = e_source_get_property(sdialog->source, "auth");
@@ -864,7 +847,7 @@ eabc_general_auth(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
gtk_combo_box_set_active (GTK_COMBO_BOX (sdialog->auth_combobox), sdialog->auth);
g_signal_connect (sdialog->auth_combobox, "changed", G_CALLBACK(auth_combobox_changed_cb), sdialog);
- sdialog->auth_principal = glade_xml_get_widget (gui, "auth-entry");
+ sdialog->auth_principal = e_builder_get_widget (builder, "auth-entry");
switch (sdialog->auth) {
case ADDRESSBOOK_LDAP_AUTH_SIMPLE_EMAIL:
tmp = e_source_get_property(sdialog->source, "email_addr");
@@ -880,7 +863,7 @@ eabc_general_auth(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
gtk_entry_set_text((GtkEntry *)sdialog->auth_principal, tmp?tmp:"");
g_signal_connect (sdialog->auth_principal, "changed", G_CALLBACK (auth_entry_changed_cb), sdialog);
- g_object_unref(gui);
+ g_object_unref(builder);
return w;
}
@@ -911,19 +894,15 @@ eabc_details_search(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
GtkWidget *w;
LDAPURLDesc *lud;
gchar *uri;
- GladeXML *gui;
- gchar *gladefile;
+ GtkBuilder *builder;
if (!source_group_is_remote(sdialog->source_group))
return NULL;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- GLADE_FILE_NAME,
- NULL);
- gui = glade_xml_new (gladefile, item->label, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "ldap-config.ui");
- w = glade_xml_get_widget(gui, item->label);
+ w = e_builder_get_widget(builder, item->label);
gtk_box_pack_start((GtkBox *)parent, w, FALSE, FALSE, 0);
uri = e_source_get_uri(sdialog->source);
@@ -931,11 +910,11 @@ eabc_details_search(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
lud = NULL;
g_free(uri);
- sdialog->rootdn = glade_xml_get_widget (gui, "rootdn-entry");
+ sdialog->rootdn = e_builder_get_widget (builder, "rootdn-entry");
gtk_entry_set_text((GtkEntry *)sdialog->rootdn, lud && lud->lud_dn ? lud->lud_dn : "");
g_signal_connect (sdialog->rootdn, "changed", G_CALLBACK (rootdn_changed_cb), sdialog);
- sdialog->scope_combobox = glade_xml_get_widget (gui, "scope-combobox");
+ sdialog->scope_combobox = e_builder_get_widget (builder, "scope-combobox");
gtk_widget_set_has_tooltip (sdialog->scope_combobox, TRUE);
gtk_widget_set_tooltip_text (sdialog->scope_combobox, _("The search scope defines how deep you would like the search to extend down the directory tree. A search scope of \"sub\" will include all entries below your search base. A search scope of \"one\" will only include the entries one level beneath your base."));
if (lud) {
@@ -955,17 +934,17 @@ eabc_details_search(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
gtk_combo_box_set_active (GTK_COMBO_BOX (sdialog->scope_combobox), sdialog->scope);
g_signal_connect (sdialog->scope_combobox, "changed", G_CALLBACK(scope_combobox_changed_cb), sdialog);
- sdialog->search_filter = glade_xml_get_widget (gui, "search-filter-entry");
+ sdialog->search_filter = e_builder_get_widget (builder, "search-filter-entry");
gtk_entry_set_text((GtkEntry *)sdialog->search_filter, lud && lud->lud_filter ? lud->lud_filter : "");
g_signal_connect (sdialog->search_filter, "changed", G_CALLBACK (search_filter_changed_cb), sdialog);
- g_signal_connect (glade_xml_get_widget(gui, "rootdn-button"), "clicked",
+ g_signal_connect (e_builder_get_widget(builder, "rootdn-button"), "clicked",
G_CALLBACK(query_for_supported_bases), sdialog);
if (lud)
ldap_free_urldesc (lud);
- g_object_unref(gui);
+ g_object_unref(builder);
return w;
}
@@ -1004,36 +983,32 @@ eabc_details_limit(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
AddressbookSourceDialog *sdialog = data;
GtkWidget *w;
const gchar *tmp;
- GladeXML *gui;
- gchar *gladefile;
+ GtkBuilder *builder;
if (!source_group_is_remote(sdialog->source_group))
return NULL;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- GLADE_FILE_NAME,
- NULL);
- gui = glade_xml_new (gladefile, item->label, NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "ldap-config.ui");
- w = glade_xml_get_widget(gui, item->label);
+ w = e_builder_get_widget(builder, item->label);
gtk_box_pack_start((GtkBox *)parent, w, FALSE, FALSE, 0);
- sdialog->timeout_scale = glade_xml_get_widget (gui, "timeout-scale");
+ sdialog->timeout_scale = e_builder_get_widget (builder, "timeout-scale");
tmp = e_source_get_property(sdialog->source, "timeout");
gtk_adjustment_set_value(((GtkRange *)sdialog->timeout_scale)->adjustment, tmp?g_strtod(tmp, NULL):3.0);
g_signal_connect (GTK_RANGE(sdialog->timeout_scale)->adjustment, "value_changed", G_CALLBACK (timeout_changed_cb), sdialog);
- sdialog->limit_spinbutton = glade_xml_get_widget (gui, "download-limit-spinbutton");
+ sdialog->limit_spinbutton = e_builder_get_widget (builder, "download-limit-spinbutton");
tmp = e_source_get_property(sdialog->source, "limit");
gtk_spin_button_set_value((GtkSpinButton *)sdialog->limit_spinbutton, tmp?g_strtod(tmp, NULL):100.0);
g_signal_connect (sdialog->limit_spinbutton, "value_changed", G_CALLBACK (limit_changed_cb), sdialog);
- sdialog->canbrowsecheck = glade_xml_get_widget (gui, "canbrowsecheck");
+ sdialog->canbrowsecheck = e_builder_get_widget (builder, "canbrowsecheck");
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sdialog->canbrowsecheck), e_source_get_property (sdialog->source, "can-browse") && strcmp (e_source_get_property (sdialog->source, "can-browse"), "1") == 0);
g_signal_connect (sdialog->canbrowsecheck, "toggled", G_CALLBACK (canbrowse_toggled_cb), sdialog->source);
- g_object_unref(gui);
+ g_object_unref(builder);
return w;
}
@@ -1115,7 +1090,7 @@ eabc_free(EConfig *ec, GSList *items, gpointer data)
g_object_unref(sdialog->source_list);
g_slist_free(sdialog->menu_source_groups);
- g_object_unref(sdialog->gui);
+ g_object_unref(sdialog->builder);
g_free(sdialog);
}
@@ -1198,13 +1173,9 @@ addressbook_config_edit_source (GtkWidget *parent, ESource *source)
GSList *items = NULL;
EABConfigTargetSource *target;
gchar *xml;
- gchar *gladefile;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- GLADE_FILE_NAME,
- NULL);
- sdialog->gui = glade_xml_new (gladefile, "account-editor-notebook", NULL);
- g_free (gladefile);
+ sdialog->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (sdialog->builder, "ldap-config.ui");
if (source) {
sdialog->original_source = source;
diff --git a/modules/mail/em-composer-prefs.c b/modules/mail/em-composer-prefs.c
index 37fe3b1..6e27e7a 100644
--- a/modules/mail/em-composer-prefs.c
+++ b/modules/mail/em-composer-prefs.c
@@ -47,6 +47,7 @@
#include <gtkhtml/gtkhtml.h>
#include <editor/gtkhtml-spell-language.h>
+#include "e-util/e-util.h"
#include "e-util/e-error.h"
#include "e-util/e-util-private.h"
#include "widgets/misc/e-charset-combo-box.h"
@@ -168,7 +169,7 @@ composer_prefs_finalize (GObject *object)
{
EMComposerPrefs *prefs = (EMComposerPrefs *) object;
- g_object_unref (prefs->gui);
+ g_object_unref (prefs->builder);
/* Chain up to parent's finalize() method. */
G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -329,7 +330,7 @@ emcp_widget_glade (EConfig *ec,
{
EMComposerPrefs *prefs = data;
- return glade_xml_get_widget (prefs->gui, item->label);
+ return e_builder_get_widget (prefs->builder, item->label);
}
/* plugin meta-data */
@@ -362,7 +363,6 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
EShellSettings *shell_settings;
ESignatureList *signature_list;
ESignatureTreeView *signature_tree_view;
- GladeXML *gui;
GtkTreeView *view;
GtkListStore *store;
GtkTreeSelection *selection;
@@ -373,18 +373,13 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
EMConfigTargetPrefs *target;
GSList *l;
gint i;
- gchar *gladefile;
bridge = gconf_bridge_get ();
client = mail_config_get_gconf_client ();
shell_settings = e_shell_get_shell_settings (shell);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-config.glade",
- NULL);
- gui = glade_xml_new (gladefile, "composer_toplevel", NULL);
- prefs->gui = gui;
- g_free (gladefile);
+ prefs->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (prefs->builder, "mail-config.ui");
/** @HookPoint-EMConfig: Mail Composer Preferences
* @Id: org.gnome.evolution.mail.composerPrefs
@@ -403,53 +398,53 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
/* General tab */
/* Default Behavior */
- widget = glade_xml_get_widget (gui, "chkSendHTML");
+ widget = e_builder_get_widget (prefs->builder, "chkSendHTML");
e_mutual_binding_new (
shell_settings, "composer-format-html",
widget, "active");
- widget = glade_xml_get_widget (gui, "chkPromptEmptySubject");
+ widget = e_builder_get_widget (prefs->builder, "chkPromptEmptySubject");
e_mutual_binding_new (
shell_settings, "composer-prompt-empty-subject",
widget, "active");
- widget = glade_xml_get_widget (gui, "chkPromptBccOnly");
+ widget = e_builder_get_widget (prefs->builder, "chkPromptBccOnly");
e_mutual_binding_new (
shell_settings, "composer-prompt-only-bcc",
widget, "active");
- widget = glade_xml_get_widget (gui, "chkAutoSmileys");
+ widget = e_builder_get_widget (prefs->builder, "chkAutoSmileys");
e_mutual_binding_new (
shell_settings, "composer-magic-smileys",
widget, "active");
- widget = glade_xml_get_widget (gui, "chkRequestReceipt");
+ widget = e_builder_get_widget (prefs->builder, "chkRequestReceipt");
e_mutual_binding_new (
shell_settings, "composer-request-receipt",
widget, "active");
- widget = glade_xml_get_widget (gui, "chkReplyStartBottom");
+ widget = e_builder_get_widget (prefs->builder, "chkReplyStartBottom");
e_mutual_binding_new (
shell_settings, "composer-reply-start-bottom",
widget, "active");
- widget = glade_xml_get_widget (gui, "chkOutlookFilenames");
+ widget = e_builder_get_widget (prefs->builder, "chkOutlookFilenames");
e_mutual_binding_new (
shell_settings, "composer-outlook-filenames",
widget, "active");
- widget = glade_xml_get_widget (gui, "chkTopSignature");
+ widget = e_builder_get_widget (prefs->builder, "chkTopSignature");
e_mutual_binding_new (
shell_settings, "composer-top-signature",
widget, "active");
- widget = glade_xml_get_widget (gui, "chkEnableSpellChecking");
+ widget = e_builder_get_widget (prefs->builder, "chkEnableSpellChecking");
e_mutual_binding_new (
shell_settings, "composer-inline-spelling",
widget, "active");
widget = e_charset_combo_box_new ();
- container = glade_xml_get_widget (gui, "hboxComposerCharset");
+ container = e_builder_get_widget (prefs->builder, "hboxComposerCharset");
gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
gtk_widget_show (widget);
e_mutual_binding_new (
@@ -457,7 +452,7 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
widget, "charset");
/* Spell Checking */
- widget = glade_xml_get_widget (gui, "listSpellCheckLanguage");
+ widget = e_builder_get_widget (prefs->builder, "listSpellCheckLanguage");
view = GTK_TREE_VIEW (widget);
store = gtk_list_store_new (
3, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER);
@@ -480,12 +475,12 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
"text", 1, NULL);
selection = gtk_tree_view_get_selection (view);
gtk_tree_selection_set_mode (selection, GTK_SELECTION_NONE);
- info_pixmap = glade_xml_get_widget (gui, "pixmapSpellInfo");
+ info_pixmap = e_builder_get_widget (prefs->builder, "pixmapSpellInfo");
gtk_image_set_from_stock (
GTK_IMAGE (info_pixmap),
GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_BUTTON);
- widget = glade_xml_get_widget (gui, "colorButtonSpellCheckColor");
+ widget = e_builder_get_widget (prefs->builder, "colorButtonSpellCheckColor");
e_mutual_binding_new_full (
shell_settings, "composer-spell-color",
widget, "color",
@@ -496,12 +491,12 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
spell_setup (prefs);
/* Forwards and Replies */
- widget = glade_xml_get_widget (gui, "comboboxForwardStyle");
+ widget = e_builder_get_widget (prefs->builder, "comboboxForwardStyle");
e_mutual_binding_new (
shell_settings, "mail-forward-style",
widget, "active");
- widget = glade_xml_get_widget (gui, "comboboxReplyStyle");
+ widget = e_builder_get_widget (prefs->builder, "comboboxReplyStyle");
e_mutual_binding_new_full (
shell_settings, "mail-reply-style",
widget, "active",
@@ -511,7 +506,7 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
/* Signatures */
signature_list = e_get_signature_list ();
- container = glade_xml_get_widget (gui, "alignSignatures");
+ container = e_builder_get_widget (prefs->builder, "alignSignatures");
widget = e_signature_manager_new (signature_list);
gtk_container_add (GTK_CONTAINER (container), widget);
gtk_widget_show (widget);
@@ -533,7 +528,7 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
signature_tree_view = e_signature_manager_get_tree_view (
E_SIGNATURE_MANAGER (widget));
- container = glade_xml_get_widget (gui, "scrolled-sig");
+ container = e_builder_get_widget (prefs->builder, "scrolled-sig");
widget = e_signature_preview_new ();
gtk_container_add (GTK_CONTAINER (container), widget);
gtk_widget_show (widget);
diff --git a/modules/mail/em-composer-prefs.h b/modules/mail/em-composer-prefs.h
index e23a18d..af4979a 100644
--- a/modules/mail/em-composer-prefs.h
+++ b/modules/mail/em-composer-prefs.h
@@ -57,7 +57,7 @@ struct _ESignature;
struct _EMComposerPrefs {
GtkVBox parent;
- GladeXML *gui;
+ GtkBuilder *builder;
/* General tab */
diff --git a/modules/mail/em-mailer-prefs.c b/modules/mail/em-mailer-prefs.c
index f92ff4d..762d237 100644
--- a/modules/mail/em-mailer-prefs.c
+++ b/modules/mail/em-mailer-prefs.c
@@ -38,6 +38,7 @@
#include "libedataserverui/e-cell-renderer-color.h"
+#include "e-util/e-util.h"
#include "e-util/e-binding.h"
#include "e-util/e-datetime-format.h"
#include "e-util/e-util-private.h"
@@ -141,7 +142,7 @@ em_mailer_prefs_finalize (GObject *obj)
{
EMMailerPrefs *prefs = (EMMailerPrefs *) obj;
- g_object_unref (prefs->gui);
+ g_object_unref (prefs->builder);
if (prefs->labels_change_notify_id) {
gconf_client_notify_remove (prefs->gconf, prefs->labels_change_notify_id);
@@ -669,7 +670,7 @@ emmp_widget_glade(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
{
EMMailerPrefs *prefs = data;
- return glade_xml_get_widget(prefs->gui, item->label);
+ return e_builder_get_widget(prefs->builder, item->label);
}
/* plugin meta-data */
@@ -821,23 +822,16 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
GtkTreeSelection *selection;
GtkCellRenderer *renderer;
GtkTreeIter iter;
- GladeXML *gui;
gboolean locked;
gint val, i;
EMConfig *ec;
EMConfigTargetPrefs *target;
GSList *l;
- gchar *gladefile;
shell_settings = e_shell_get_shell_settings (shell);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-config.glade",
- NULL);
- gui = glade_xml_new (gladefile, "preferences_toplevel", NULL);
- g_free (gladefile);
-
- prefs->gui = gui;
+ prefs->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (prefs->builder, "mail-config.ui");
/** @HookPoint-EMConfig: Mail Preferences Page
* @Id: org.gnome.evolution.mail.prefs
@@ -856,7 +850,7 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
/* General tab */
/* Message Display */
- widget = glade_xml_get_widget (gui, "chkMarkTimeout");
+ widget = e_builder_get_widget (prefs->builder, "chkMarkTimeout");
e_mutual_binding_new (
shell_settings, "mail-mark-seen",
widget, "active");
@@ -864,7 +858,7 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
/* The "mark seen" timeout requires special transform functions
* because we display the timeout value to the user in seconds
* but store the settings value in milliseconds. */
- widget = glade_xml_get_widget (gui, "spinMarkTimeout");
+ widget = e_builder_get_widget (prefs->builder, "spinMarkTimeout");
prefs->timeout = GTK_SPIN_BUTTON (widget);
e_mutual_binding_new (
shell_settings, "mail-mark-seen",
@@ -876,12 +870,12 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
mark_seen_timeout_reverse_transform,
NULL, NULL);
- widget = glade_xml_get_widget (gui, "mlimit_checkbutton");
+ widget = e_builder_get_widget (prefs->builder, "mlimit_checkbutton");
e_mutual_binding_new (
shell_settings, "mail-force-message-limit",
widget, "active");
- widget = glade_xml_get_widget (gui, "mlimit_spin");
+ widget = e_builder_get_widget (prefs->builder, "mlimit_spin");
e_mutual_binding_new (
shell_settings, "mail-force-message-limit",
widget, "sensitive");
@@ -889,12 +883,12 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
shell_settings, "mail-message-text-part-limit",
widget, "value");
- widget = glade_xml_get_widget (gui, "address_checkbox");
+ widget = e_builder_get_widget (prefs->builder, "address_checkbox");
e_mutual_binding_new (
shell_settings, "mail-address-compress",
widget, "active");
- widget = glade_xml_get_widget (gui, "address_spin");
+ widget = e_builder_get_widget (prefs->builder, "address_spin");
e_mutual_binding_new (
shell_settings, "mail-address-compress",
widget, "sensitive");
@@ -902,25 +896,25 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
shell_settings, "mail-address-count",
widget, "value");
- widget = glade_xml_get_widget (gui, "magic_spacebar_checkbox");
+ widget = e_builder_get_widget (prefs->builder, "magic_spacebar_checkbox");
e_mutual_binding_new (
shell_settings, "mail-magic-spacebar",
widget, "active");
widget = e_charset_combo_box_new ();
- container = glade_xml_get_widget (gui, "hboxDefaultCharset");
+ container = e_builder_get_widget (prefs->builder, "hboxDefaultCharset");
gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
gtk_widget_show (widget);
e_mutual_binding_new (
shell_settings, "mail-charset",
widget, "charset");
- widget = glade_xml_get_widget (gui, "chkHighlightCitations");
+ widget = e_builder_get_widget (prefs->builder, "chkHighlightCitations");
e_mutual_binding_new (
shell_settings, "mail-mark-citations",
widget, "active");
- widget = glade_xml_get_widget (gui, "colorButtonHighlightCitations");
+ widget = e_builder_get_widget (prefs->builder, "colorButtonHighlightCitations");
e_mutual_binding_new (
shell_settings, "mail-mark-citations",
widget, "sensitive");
@@ -931,35 +925,35 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
e_binding_transform_color_to_string,
NULL, NULL);
- widget = glade_xml_get_widget (gui, "chkEnableSearchFolders");
+ widget = e_builder_get_widget (prefs->builder, "chkEnableSearchFolders");
e_mutual_binding_new (
shell_settings, "mail-enable-search-folders",
widget, "active");
/* Deleting Mail */
- widget = glade_xml_get_widget (gui, "chkEmptyTrashOnExit");
+ widget = e_builder_get_widget (prefs->builder, "chkEmptyTrashOnExit");
e_mutual_binding_new (
shell_settings, "mail-empty-trash-on-exit",
widget, "active");
- widget = glade_xml_get_widget (gui, "comboboxEmptyTrashDays");
+ widget = e_builder_get_widget (prefs->builder, "comboboxEmptyTrashDays");
e_mutual_binding_new (
shell_settings, "mail-empty-trash-on-exit",
widget, "sensitive");
emmp_empty_trash_init (prefs, GTK_COMBO_BOX (widget));
- widget = glade_xml_get_widget (gui, "chkConfirmExpunge");
+ widget = e_builder_get_widget (prefs->builder, "chkConfirmExpunge");
e_mutual_binding_new (
shell_settings, "mail-confirm-expunge",
widget, "active");
/* Mail Fonts */
- widget = glade_xml_get_widget (gui, "radFontUseSame");
+ widget = e_builder_get_widget (prefs->builder, "radFontUseSame");
e_mutual_binding_new_with_negation (
shell_settings, "mail-use-custom-fonts",
widget, "active");
- widget = glade_xml_get_widget (gui, "FontFixed");
+ widget = e_builder_get_widget (prefs->builder, "FontFixed");
e_mutual_binding_new (
shell_settings, "mail-font-monospace",
widget, "font-name");
@@ -967,7 +961,7 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
shell_settings, "mail-use-custom-fonts",
widget, "sensitive");
- widget = glade_xml_get_widget (gui, "FontVariable");
+ widget = e_builder_get_widget (prefs->builder, "FontVariable");
e_mutual_binding_new (
shell_settings, "mail-font-variable",
widget, "font-name");
@@ -981,17 +975,17 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
locked = !gconf_client_key_is_writable (prefs->gconf, "/apps/evolution/mail/display/load_http_images", NULL);
val = gconf_client_get_int (prefs->gconf, "/apps/evolution/mail/display/load_http_images", NULL);
- prefs->images_never = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "radImagesNever"));
+ prefs->images_never = GTK_TOGGLE_BUTTON (e_builder_get_widget (prefs->builder, "radImagesNever"));
gtk_toggle_button_set_active (prefs->images_never, val == MAIL_CONFIG_HTTP_NEVER);
if (locked)
gtk_widget_set_sensitive ((GtkWidget *) prefs->images_never, FALSE);
- prefs->images_sometimes = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "radImagesSometimes"));
+ prefs->images_sometimes = GTK_TOGGLE_BUTTON (e_builder_get_widget (prefs->builder, "radImagesSometimes"));
gtk_toggle_button_set_active (prefs->images_sometimes, val == MAIL_CONFIG_HTTP_SOMETIMES);
if (locked)
gtk_widget_set_sensitive ((GtkWidget *) prefs->images_sometimes, FALSE);
- prefs->images_always = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "radImagesAlways"));
+ prefs->images_always = GTK_TOGGLE_BUTTON (e_builder_get_widget (prefs->builder, "radImagesAlways"));
gtk_toggle_button_set_active (prefs->images_always, val == MAIL_CONFIG_HTTP_ALWAYS);
if (locked)
gtk_widget_set_sensitive ((GtkWidget *) prefs->images_always, FALSE);
@@ -1000,17 +994,17 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
g_signal_connect (prefs->images_sometimes, "toggled", G_CALLBACK (http_images_changed), prefs);
g_signal_connect (prefs->images_always, "toggled", G_CALLBACK (http_images_changed), prefs);
- widget = glade_xml_get_widget (gui, "chkShowAnimatedImages");
+ widget = e_builder_get_widget (prefs->builder, "chkShowAnimatedImages");
e_mutual_binding_new (
shell_settings, "mail-show-animated-images",
widget, "active");
- widget = glade_xml_get_widget (gui, "chkPromptWantHTML");
+ widget = e_builder_get_widget (prefs->builder, "chkPromptWantHTML");
e_mutual_binding_new (
shell_settings, "mail-confirm-unwanted-html",
widget, "active");
- container = glade_xml_get_widget (gui, "labels-alignment");
+ container = e_builder_get_widget (prefs->builder, "labels-alignment");
widget = e_mail_label_manager_new ();
gtk_container_add (GTK_CONTAINER (container), widget);
gtk_widget_show (widget);
@@ -1022,12 +1016,12 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
/* headers */
locked = !gconf_client_key_is_writable (prefs->gconf, "/apps/evolution/mail/display/headers", NULL);
- widget = glade_xml_get_widget (gui, "photo_show");
+ widget = e_builder_get_widget (prefs->builder, "photo_show");
e_mutual_binding_new (
shell_settings, "mail-show-sender-photo",
widget, "active");
- widget = glade_xml_get_widget (gui, "photo_local");
+ widget = e_builder_get_widget (prefs->builder, "photo_local");
e_mutual_binding_new (
shell_settings, "mail-show-sender-photo",
widget, "sensitive");
@@ -1036,17 +1030,17 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
widget, "active");
/* always de-sensitised until the user types something in the entry */
- prefs->add_header = GTK_BUTTON (glade_xml_get_widget (gui, "cmdHeadersAdd"));
+ prefs->add_header = GTK_BUTTON (e_builder_get_widget (prefs->builder, "cmdHeadersAdd"));
gtk_widget_set_sensitive ((GtkWidget *) prefs->add_header, FALSE);
/* always de-sensitised until the user selects a header in the list */
- prefs->remove_header = GTK_BUTTON (glade_xml_get_widget (gui, "cmdHeadersRemove"));
+ prefs->remove_header = GTK_BUTTON (e_builder_get_widget (prefs->builder, "cmdHeadersRemove"));
gtk_widget_set_sensitive ((GtkWidget *) prefs->remove_header, FALSE);
- prefs->entry_header = GTK_ENTRY (glade_xml_get_widget (gui, "txtHeaders"));
+ prefs->entry_header = GTK_ENTRY (e_builder_get_widget (prefs->builder, "txtHeaders"));
gtk_widget_set_sensitive ((GtkWidget *) prefs->entry_header, !locked);
- prefs->header_list = GTK_TREE_VIEW (glade_xml_get_widget (gui, "treeHeaders"));
+ prefs->header_list = GTK_TREE_VIEW (e_builder_get_widget (prefs->builder, "treeHeaders"));
gtk_widget_set_sensitive ((GtkWidget *) prefs->header_list, !locked);
selection = gtk_tree_view_get_selection (prefs->header_list);
@@ -1140,38 +1134,38 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
g_slist_free (header_add_list);
/* date/time format */
- table = glade_xml_get_widget (gui, "datetime_format_table");
+ table = e_builder_get_widget (prefs->builder, "datetime_format_table");
e_datetime_format_add_setup_widget (table, 0, "mail", "header", DTFormatKindDateTime, _("Date header:"));
e_datetime_format_add_setup_widget (table, 1, "mail", "table", DTFormatKindDateTime, _("Table column:"));
/* Junk prefs */
- widget = glade_xml_get_widget (gui, "chkCheckIncomingMail");
+ widget = e_builder_get_widget (prefs->builder, "chkCheckIncomingMail");
e_mutual_binding_new (
shell_settings, "mail-check-for-junk",
widget, "active");
- widget = glade_xml_get_widget (gui, "junk_empty_check");
+ widget = e_builder_get_widget (prefs->builder, "junk_empty_check");
e_mutual_binding_new (
shell_settings, "mail-empty-junk-on-exit",
widget, "active");
- widget = glade_xml_get_widget (gui, "junk_empty_combobox");
+ widget = e_builder_get_widget (prefs->builder, "junk_empty_combobox");
e_mutual_binding_new (
shell_settings, "mail-empty-junk-on-exit",
widget, "sensitive");
emmp_empty_junk_init (prefs, GTK_COMBO_BOX (widget));
- prefs->default_junk_plugin = GTK_COMBO_BOX (glade_xml_get_widget (gui, "default_junk_plugin"));
- prefs->plugin_status = GTK_LABEL (glade_xml_get_widget (gui, "plugin_status"));
- prefs->plugin_image = GTK_IMAGE (glade_xml_get_widget (gui, "plugin_image"));
+ prefs->default_junk_plugin = GTK_COMBO_BOX (e_builder_get_widget (prefs->builder, "default_junk_plugin"));
+ prefs->plugin_status = GTK_LABEL (e_builder_get_widget (prefs->builder, "plugin_status"));
+ prefs->plugin_image = GTK_IMAGE (e_builder_get_widget (prefs->builder, "plugin_image"));
junk_plugin_setup (GTK_WIDGET (prefs->default_junk_plugin), prefs);
- prefs->junk_header_check = (GtkToggleButton *)glade_xml_get_widget (gui, "junk_header_check");
- prefs->junk_header_tree = (GtkTreeView *)glade_xml_get_widget (gui, "junk_header_tree");
- prefs->junk_header_add = (GtkButton *)glade_xml_get_widget (gui, "junk_header_add");
- prefs->junk_header_remove = (GtkButton *)glade_xml_get_widget (gui, "junk_header_remove");
- prefs->junk_book_lookup = (GtkToggleButton *)glade_xml_get_widget (gui, "lookup_book");
- prefs->junk_lookup_local_only = (GtkToggleButton *)glade_xml_get_widget (gui, "junk_lookup_local_only");
+ prefs->junk_header_check = (GtkToggleButton *)e_builder_get_widget (prefs->builder, "junk_header_check");
+ prefs->junk_header_tree = (GtkTreeView *)e_builder_get_widget (prefs->builder, "junk_header_tree");
+ prefs->junk_header_add = (GtkButton *)e_builder_get_widget (prefs->builder, "junk_header_add");
+ prefs->junk_header_remove = (GtkButton *)e_builder_get_widget (prefs->builder, "junk_header_remove");
+ prefs->junk_book_lookup = (GtkToggleButton *)e_builder_get_widget (prefs->builder, "lookup_book");
+ prefs->junk_lookup_local_only = (GtkToggleButton *)e_builder_get_widget (prefs->builder, "junk_lookup_local_only");
toggle_button_init (prefs, prefs->junk_book_lookup, FALSE,
"/apps/evolution/mail/junk/lookup_addressbook",
G_CALLBACK (junk_book_lookup_button_toggled));
diff --git a/modules/mail/em-mailer-prefs.h b/modules/mail/em-mailer-prefs.h
index 8980e03..8ad6ad2 100644
--- a/modules/mail/em-mailer-prefs.h
+++ b/modules/mail/em-mailer-prefs.h
@@ -61,7 +61,7 @@ struct _EMMailerPrefsHeader {
struct _EMMailerPrefs {
GtkVBox parent_object;
- GladeXML *gui;
+ GtkBuilder *builder;
GConfClient *gconf;
/* General tab */
diff --git a/modules/mail/em-network-prefs.c b/modules/mail/em-network-prefs.c
index 4e4ce83..b2e2e26 100644
--- a/modules/mail/em-network-prefs.c
+++ b/modules/mail/em-network-prefs.c
@@ -37,6 +37,7 @@
#include <glib/gstdio.h>
+#include "e-util/e-util.h"
#include "e-util/e-error.h"
#include "e-util/e-util-private.h"
@@ -160,7 +161,7 @@ emnp_widget_glade(EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *
{
EMNetworkPrefs *prefs = data;
- return glade_xml_get_widget(prefs->gui, item->label);
+ return e_builder_get_widget(prefs->builder, item->label);
}
static void
@@ -294,23 +295,17 @@ static void
em_network_prefs_construct (EMNetworkPrefs *prefs)
{
GtkWidget *toplevel;
- GladeXML *gui;
GSList* l;
gchar *buf;
EMConfig *ec;
EMConfigTargetPrefs *target;
gboolean locked;
gint i, val, port;
- gchar *gladefile;
prefs->gconf = mail_config_get_gconf_client ();
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "mail-config.glade",
- NULL);
- gui = glade_xml_new (gladefile, "network_preferences_toplevel", NULL);
- prefs->gui = gui;
- g_free (gladefile);
+ prefs->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (prefs->builder, "mail-config.ui");
/** @HookPoint-EMConfig: Network Preferences
* @Id: org.gnome.evolution.mail.networkPrefs
@@ -337,14 +332,14 @@ em_network_prefs_construct (EMNetworkPrefs *prefs)
if (val == NETWORK_PROXY_AUTOCONFIG)
val = NETWORK_PROXY_SYS_SETTINGS;
- prefs->sys_proxy = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "rdoSysSettings"));
+ prefs->sys_proxy = GTK_TOGGLE_BUTTON (e_builder_get_widget (prefs->builder, "rdoSysSettings"));
gtk_toggle_button_set_active (prefs->sys_proxy, val == NETWORK_PROXY_SYS_SETTINGS);
if (locked)
gtk_widget_set_sensitive ((GtkWidget *) prefs->sys_proxy, FALSE);
d(g_print ("Sys settings ----!!! \n"));
- prefs->no_proxy = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "rdoNoProxy"));
+ prefs->no_proxy = GTK_TOGGLE_BUTTON (e_builder_get_widget (prefs->builder, "rdoNoProxy"));
gtk_toggle_button_set_active (prefs->no_proxy, val == NETWORK_PROXY_DIRECT_CONNECTION);
if (locked)
gtk_widget_set_sensitive ((GtkWidget *) prefs->no_proxy, FALSE);
@@ -353,8 +348,8 @@ em_network_prefs_construct (EMNetworkPrefs *prefs)
/* no auto-proxy at the moment */
#if 0
- prefs->auto_proxy = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "rdoAutoConfig"));
- prefs->auto_proxy_url = GTK_ENTRY (glade_xml_get_widget (gui, "txtAutoConfigUrl"));
+ prefs->auto_proxy = GTK_TOGGLE_BUTTON (e_builder_get_widget (prefs->builder, "rdoAutoConfig"));
+ prefs->auto_proxy_url = GTK_ENTRY (e_builder_get_widget (prefs->builder, "txtAutoConfigUrl"));
gtk_toggle_button_set_active (prefs->auto_proxy, val == NETWORK_PROXY_AUTOCONFIG);
@@ -365,29 +360,29 @@ em_network_prefs_construct (EMNetworkPrefs *prefs)
d(g_print ("Auto config settings ----!!! \n"));
- prefs->manual_proxy = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "rdoManualProxy"));
- prefs->http_host = GTK_ENTRY (glade_xml_get_widget (gui, "txtHttpHost"));
- prefs->https_host = GTK_ENTRY (glade_xml_get_widget (gui, "txtHttpsHost"));
- prefs->ignore_hosts = GTK_ENTRY (glade_xml_get_widget (gui, "txtIgnoreHosts"));
- prefs->http_port = GTK_SPIN_BUTTON (glade_xml_get_widget (gui, "spnHttpPort"));
- prefs->https_port = GTK_SPIN_BUTTON (glade_xml_get_widget (gui, "spnHttpsPort"));
- prefs->lbl_http_host = GTK_LABEL (glade_xml_get_widget (gui, "lblHttpHost"));
- prefs->lbl_http_port = GTK_LABEL (glade_xml_get_widget (gui, "lblHttpPort"));
- prefs->lbl_https_host = GTK_LABEL (glade_xml_get_widget (gui, "lblHttpsHost"));
- prefs->lbl_https_port = GTK_LABEL (glade_xml_get_widget (gui, "lblHttpsPort"));
- prefs->lbl_ignore_hosts = GTK_LABEL (glade_xml_get_widget (gui, "lblIgnoreHosts"));
- prefs->use_auth = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "chkUseAuth"));
+ prefs->manual_proxy = GTK_TOGGLE_BUTTON (e_builder_get_widget (prefs->builder, "rdoManualProxy"));
+ prefs->http_host = GTK_ENTRY (e_builder_get_widget (prefs->builder, "txtHttpHost"));
+ prefs->https_host = GTK_ENTRY (e_builder_get_widget (prefs->builder, "txtHttpsHost"));
+ prefs->ignore_hosts = GTK_ENTRY (e_builder_get_widget (prefs->builder, "txtIgnoreHosts"));
+ prefs->http_port = GTK_SPIN_BUTTON (e_builder_get_widget (prefs->builder, "spnHttpPort"));
+ prefs->https_port = GTK_SPIN_BUTTON (e_builder_get_widget (prefs->builder, "spnHttpsPort"));
+ prefs->lbl_http_host = GTK_LABEL (e_builder_get_widget (prefs->builder, "lblHttpHost"));
+ prefs->lbl_http_port = GTK_LABEL (e_builder_get_widget (prefs->builder, "lblHttpPort"));
+ prefs->lbl_https_host = GTK_LABEL (e_builder_get_widget (prefs->builder, "lblHttpsHost"));
+ prefs->lbl_https_port = GTK_LABEL (e_builder_get_widget (prefs->builder, "lblHttpsPort"));
+ prefs->lbl_ignore_hosts = GTK_LABEL (e_builder_get_widget (prefs->builder, "lblIgnoreHosts"));
+ prefs->use_auth = GTK_TOGGLE_BUTTON (e_builder_get_widget (prefs->builder, "chkUseAuth"));
toggle_button_init (prefs, prefs->use_auth, GCONF_E_USE_AUTH_KEY);
- prefs->lbl_auth_user = GTK_LABEL (glade_xml_get_widget (gui, "lblAuthUser"));
- prefs->lbl_auth_pwd = GTK_LABEL (glade_xml_get_widget (gui, "lblAuthPwd"));
- prefs->auth_user = GTK_ENTRY (glade_xml_get_widget (gui, "txtAuthUser"));
- prefs->auth_pwd = GTK_ENTRY (glade_xml_get_widget (gui, "txtAuthPwd"));
+ prefs->lbl_auth_user = GTK_LABEL (e_builder_get_widget (prefs->builder, "lblAuthUser"));
+ prefs->lbl_auth_pwd = GTK_LABEL (e_builder_get_widget (prefs->builder, "lblAuthPwd"));
+ prefs->auth_user = GTK_ENTRY (e_builder_get_widget (prefs->builder, "txtAuthUser"));
+ prefs->auth_pwd = GTK_ENTRY (e_builder_get_widget (prefs->builder, "txtAuthPwd"));
#if 0
- prefs->socks_host = GTK_ENTRY (glade_xml_get_widget (gui, "txtSocksHost"));
- prefs->socks_port = GTK_SPIN_BUTTON (glade_xml_get_widget (gui, "spnSocksPort"));
- prefs->lbl_socks_host = GTK_LABEL (glade_xml_get_widget (gui, "lblSocksHost"));
- prefs->lbl_socks_port = GTK_LABEL (glade_xml_get_widget (gui, "lblSocksPort"));
+ prefs->socks_host = GTK_ENTRY (e_builder_get_widget (prefs->builder, "txtSocksHost"));
+ prefs->socks_port = GTK_SPIN_BUTTON (e_builder_get_widget (prefs->builder, "spnSocksPort"));
+ prefs->lbl_socks_host = GTK_LABEL (e_builder_get_widget (prefs->builder, "lblSocksHost"));
+ prefs->lbl_socks_port = GTK_LABEL (e_builder_get_widget (prefs->builder, "lblSocksPort"));
g_signal_connect (prefs->socks_host, "changed",
G_CALLBACK(widget_entry_changed_cb), GCONF_E_SOCKS_HOST_KEY);
g_signal_connect (prefs->socks_port, "value_changed",
diff --git a/modules/mail/em-network-prefs.h b/modules/mail/em-network-prefs.h
index 78816b0..c7a70a8 100644
--- a/modules/mail/em-network-prefs.h
+++ b/modules/mail/em-network-prefs.h
@@ -62,7 +62,7 @@ struct _EMNetworkPrefs {
GConfClient *gconf;
- GladeXML *gui;
+ GtkBuilder *builder;
/* Default Behavior */
GtkToggleButton *sys_proxy;
diff --git a/plugins/attachment-reminder/Makefile.am b/plugins/attachment-reminder/Makefile.am
index b213db0..22c8a7c 100644
--- a/plugins/attachment-reminder/Makefile.am
+++ b/plugins/attachment-reminder/Makefile.am
@@ -5,8 +5,9 @@ error_DATA = org-gnome-attachment-reminder.error
errordir = $(privdatadir)/errors
plugin_DATA = \
- org-gnome-evolution-attachment-reminder.eplug \
- attachment-reminder.ui
+ org-gnome-evolution-attachment-reminder.eplug
+
+ui_DATA = attachment-reminder.ui
plugin_LTLIBRARIES = liborg-gnome-evolution-attachment-reminder.la
diff --git a/plugins/attachment-reminder/attachment-reminder.c b/plugins/attachment-reminder/attachment-reminder.c
index 330fd5d..71137a4 100644
--- a/plugins/attachment-reminder/attachment-reminder.c
+++ b/plugins/attachment-reminder/attachment-reminder.c
@@ -27,6 +27,7 @@
#include <glade/glade-xml.h>
#include <gconf/gconf-client.h>
+#include <e-util/e-util.h>
#include <e-util/e-config.h>
#include <mail/em-config.h>
#include <mail/em-event.h>
@@ -53,7 +54,7 @@
#define SIGNATURE "-- "
typedef struct {
- GladeXML *xml;
+ GtkBuilder *builder;
GConfClient *gconf;
GtkWidget *treeview;
GtkWidget *clue_add;
@@ -438,7 +439,7 @@ destroy_ui_data (gpointer data)
if (!ui)
return;
- g_object_unref (ui->xml);
+ g_object_unref (ui->builder);
g_object_unref (ui->gconf);
g_free (ui);
}
@@ -456,17 +457,12 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
UIData *ui = g_new0 (UIData, 1);
- gchar *gladefile;
-
- gladefile = g_build_filename (EVOLUTION_PLUGINDIR,
- "attachment-reminder.glade",
- NULL);
- ui->xml = glade_xml_new (gladefile, "reminder_configuration_box", NULL);
- g_free (gladefile);
+ ui->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (ui->builder, "attachment-reminder.ui");
ui->gconf = gconf_client_get_default ();
- ui->treeview = glade_xml_get_widget (ui->xml, "clue_treeview");
+ ui->treeview = e_builder_get_widget (ui->builder, "clue_treeview");
ui->store = gtk_list_store_new (CLUE_N_COLUMNS, G_TYPE_STRING);
@@ -483,14 +479,14 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (selection_changed), ui);
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (ui->treeview), TRUE);
- ui->clue_add = glade_xml_get_widget (ui->xml, "clue_add");
+ ui->clue_add = e_builder_get_widget (ui->builder, "clue_add");
g_signal_connect (G_OBJECT (ui->clue_add), "clicked", G_CALLBACK (clue_add_clicked), ui);
- ui->clue_remove = glade_xml_get_widget (ui->xml, "clue_remove");
+ ui->clue_remove = e_builder_get_widget (ui->builder, "clue_remove");
g_signal_connect (G_OBJECT (ui->clue_remove), "clicked", G_CALLBACK (clue_remove_clicked), ui);
gtk_widget_set_sensitive (ui->clue_remove, FALSE);
- ui->clue_edit = glade_xml_get_widget (ui->xml, "clue_edit");
+ ui->clue_edit = e_builder_get_widget (ui->builder, "clue_edit");
g_signal_connect (G_OBJECT (ui->clue_edit), "clicked", G_CALLBACK (clue_edit_clicked), ui);
gtk_widget_set_sensitive (ui->clue_edit, FALSE);
@@ -514,7 +510,7 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
hbox = gtk_vbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), glade_xml_get_widget (ui->xml, "reminder_configuration_box"), TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), e_builder_get_widget (ui->builder, "reminder_configuration_box"), TRUE, TRUE, 0);
/* to let free data properly on destroy of configuration widget */
g_object_set_data_full (G_OBJECT (hbox), "myui-data", ui, destroy_ui_data);
diff --git a/plugins/email-custom-header/email-custom-header.c b/plugins/email-custom-header/email-custom-header.c
index d42732d..85b7a8a 100644
--- a/plugins/email-custom-header/email-custom-header.c
+++ b/plugins/email-custom-header/email-custom-header.c
@@ -40,7 +40,7 @@
#define GCONF_KEY_CUSTOM_HEADER "/apps/evolution/eplugin/email_custom_header/customHeader"
typedef struct {
- GladeXML *xml;
+ GtkBuilder *builder;
GConfClient *gconf;
GtkWidget *treeview;
GtkWidget *header_add;
@@ -56,8 +56,7 @@ enum {
};
struct _EmailCustomHeaderOptionsDialogPrivate {
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
/*Widgets*/
GtkWidget *main;
GtkWidget *page;
@@ -118,7 +117,7 @@ epech_get_widgets (CustomHeaderOptionsDialog *mch)
EmailCustomHeaderOptionsDialogPrivate *priv;
priv = mch->priv;
-#define EMAIL_CUSTOM_HEADER(name) glade_xml_get_widget (priv->xml, name)
+#define EMAIL_CUSTOM_HEADER(name) e_builder_get_widget (priv->builder, name)
priv->main = EMAIL_CUSTOM_HEADER ("email-custom-header-dialog");
if (!priv->main)
@@ -206,7 +205,7 @@ epech_header_options_cb (GtkDialog *dialog, gint state, gpointer func_data)
case GTK_RESPONSE_CANCEL:
gtk_widget_hide (priv->main);
gtk_widget_destroy (priv->main);
- g_object_unref (priv->xml);
+ g_object_unref (priv->builder);
break;
case GTK_RESPONSE_HELP:
e_display_help (
@@ -223,24 +222,17 @@ epech_dialog_run (CustomHeaderOptionsDialog *mch, GtkWidget *parent)
{
EmailCustomHeaderOptionsDialogPrivate *priv;
GtkWidget *toplevel;
- gchar *filename;
g_return_val_if_fail (mch != NULL || EMAIL_CUSTOM_HEADER_OPTIONS_IS_DIALOG (mch), FALSE);
priv = mch->priv;
epech_get_header_list (mch);
- filename = g_build_filename (EVOLUTION_UIDIR,
- "org-gnome-email-custom-header.glade",
- NULL);
- priv->xml = glade_xml_new (filename, NULL, NULL);
- g_free (filename);
-
- if (!priv->xml) {
- d (printf ("\n Could not load the Glade XML file\n"));
- }
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (
+ priv->builder, "org-gnome-email-custom-header.ui");
if (!epech_get_widgets(mch)) {
- g_object_unref (priv->xml);
+ g_object_unref (priv->builder);
d (printf ("\n Could not get the Widgets\n"));
}
@@ -423,7 +415,7 @@ epech_dialog_init (GObject *object)
mch = EMAIL_CUSTOM_HEADEROPTIONS_DIALOG (object);
priv = g_new0 (EmailCustomHeaderOptionsDialogPrivate, 1);
mch->priv = priv;
- priv->xml = NULL;
+ priv->builder = NULL;
priv->main = NULL;
priv->page = NULL;
priv->header_table = NULL;
@@ -860,7 +852,7 @@ destroy_cd_data (gpointer data)
if (!cd)
return;
- g_object_unref (cd->xml);
+ g_object_unref (cd->builder);
g_object_unref (cd->gconf);
g_free (cd);
}
@@ -884,17 +876,12 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
ConfigData *cd = g_new0 (ConfigData, 1);
- gchar *gladefile;
-
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "email-custom-header.glade",
- NULL);
- cd->xml = glade_xml_new (gladefile, "ech_configuration_box", NULL);
- g_free (gladefile);
+ cd->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (cd->builder, "email-custom-header.ui");
cd->gconf = gconf_client_get_default ();
- cd->treeview = glade_xml_get_widget (cd->xml, "header_treeview");
+ cd->treeview = e_builder_get_widget (cd->builder, "header_treeview");
cd->store = gtk_list_store_new (HEADER_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING);
@@ -926,14 +913,14 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (selection_changed), cd);
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (cd->treeview), TRUE);
- cd->header_add = glade_xml_get_widget (cd->xml, "header_add");
+ cd->header_add = e_builder_get_widget (cd->builder, "header_add");
g_signal_connect (G_OBJECT (cd->header_add), "clicked", G_CALLBACK (header_add_clicked), cd);
- cd->header_remove = glade_xml_get_widget (cd->xml, "header_remove");
+ cd->header_remove = e_builder_get_widget (cd->builder, "header_remove");
g_signal_connect (G_OBJECT (cd->header_remove), "clicked", G_CALLBACK (header_remove_clicked), cd);
gtk_widget_set_sensitive (cd->header_remove, FALSE);
- cd->header_edit = glade_xml_get_widget (cd->xml, "header_edit");
+ cd->header_edit = e_builder_get_widget (cd->builder, "header_edit");
g_signal_connect (G_OBJECT (cd->header_edit), "clicked", G_CALLBACK (header_edit_clicked), cd);
gtk_widget_set_sensitive (cd->header_edit, FALSE);
@@ -967,7 +954,7 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
hbox = gtk_vbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), glade_xml_get_widget (cd->xml, "ech_configuration_box"), TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), e_builder_get_widget (cd->builder, "ech_configuration_box"), TRUE, TRUE, 0);
/* to let free data properly on destroy of configuration widget */
g_object_set_data_full (G_OBJECT (hbox), "mycd-data", cd, destroy_cd_data);
diff --git a/plugins/groupwise-features/junk-settings.c b/plugins/groupwise-features/junk-settings.c
index 9c49cf0..ac985fd 100644
--- a/plugins/groupwise-features/junk-settings.c
+++ b/plugins/groupwise-features/junk-settings.c
@@ -26,6 +26,7 @@
#include "junk-settings.h"
#include <gtk/gtk.h>
#include <glib/gi18n.h>
+#include <e-util/e-util.h>
#include <e-util/e-error.h>
#include <e-util/e-util-private.h>
#include <e-gw-connection.h>
@@ -87,7 +88,7 @@ static void
junk_settings_finalise (GObject *obj)
{
JunkSettings *js = (JunkSettings *) obj;
- g_object_unref (js->xml);
+ g_object_unref (js->builder);
free_all(js);
G_OBJECT_CLASS (parent_class)->finalize (obj);
@@ -369,42 +370,31 @@ user_selected(GtkTreeSelection *selection, JunkSettings *js)
static void
junk_settings_construct (JunkSettings *js)
{
- GladeXML *xml;
- gchar *gladefile;
+ js->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (js->builder, "junk-settings.ui");
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "junk-settings.glade",
- NULL);
- xml = glade_xml_new (gladefile, ROOTNODE, NULL);
- g_free (gladefile);
-
- js->xml =xml;
-
- if (!js->xml) {
- g_warning ("could not get xml");
- }
- js->vbox = GTK_VBOX (glade_xml_get_widget(js->xml, "vboxSettings"));
- js->table = GTK_VBOX (glade_xml_get_widget (js->xml, "vbox194"));
+ js->vbox = GTK_VBOX (e_builder_get_widget(js->builder, "vboxSettings"));
+ js->table = GTK_VBOX (e_builder_get_widget (js->builder, "vbox194"));
gtk_widget_set_sensitive (GTK_WIDGET (js->table), FALSE);
- js->enable = GTK_RADIO_BUTTON (glade_xml_get_widget (js->xml, "radEnable"));
+ js->enable = GTK_RADIO_BUTTON (e_builder_get_widget (js->builder, "radEnable"));
g_signal_connect ((gpointer) js->enable, "clicked", G_CALLBACK (enable_clicked), js);
- js->disable = GTK_RADIO_BUTTON (glade_xml_get_widget (js->xml, "radDisable"));
+ js->disable = GTK_RADIO_BUTTON (e_builder_get_widget (js->builder, "radDisable"));
g_signal_connect ((gpointer) js->disable, "clicked", G_CALLBACK (disable_clicked), js);
- js->add_button = GTK_BUTTON (glade_xml_get_widget(js->xml, "Add"));
+ js->add_button = GTK_BUTTON (e_builder_get_widget(js->builder, "Add"));
g_signal_connect((GtkWidget *) js->add_button, "clicked", G_CALLBACK (add_clicked), js);
- js->remove = GTK_BUTTON(glade_xml_get_widget(js->xml, "Remove"));
+ js->remove = GTK_BUTTON(e_builder_get_widget(js->builder, "Remove"));
g_signal_connect ((GtkWidget *) js->remove, "clicked", G_CALLBACK (remove_clicked), js);
gtk_widget_set_sensitive(GTK_WIDGET (js->remove), FALSE);
- js->entry = GTK_ENTRY (glade_xml_get_widget (js->xml, "entry4"));
+ js->entry = GTK_ENTRY (e_builder_get_widget (js->builder, "entry4"));
/*TODO:connect entry and label*/
gtk_widget_show ((GtkWidget *) js->entry);
- js->scrolled_window = GTK_WIDGET (glade_xml_get_widget (js->xml,"scrolledwindow4"));
+ js->scrolled_window = GTK_WIDGET (e_builder_get_widget (js->builder,"scrolledwindow4"));
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (js->scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
diff --git a/plugins/groupwise-features/junk-settings.h b/plugins/groupwise-features/junk-settings.h
index 3216ed9..d4b59ae 100644
--- a/plugins/groupwise-features/junk-settings.h
+++ b/plugins/groupwise-features/junk-settings.h
@@ -24,8 +24,6 @@
#ifndef __JUNK_SETTINGS_H__
#define __JUNK_SETTINGS_H__
-G_BEGIN_DECLS
-
#include <gtk/gtk.h>
#include <camel/camel-store.h>
#include <e-gw-connection.h>
@@ -36,13 +34,15 @@ G_BEGIN_DECLS
#define IS_JUNK_SETTINGS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), JUNK_SETTINGS_TYPE))
#define IS_JUNK_SETTINGS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), JUNK_SETTINGS_TYPE))
+G_BEGIN_DECLS
+
typedef struct _JunkSettings JunkSettings;
typedef struct _JunkSettingsClass JunkSettingsClass;
struct _JunkSettings {
GtkVBox parent_object;
- GladeXML *xml;
+ GtkBuilder *builder;
/* General tab */
diff --git a/plugins/groupwise-features/proxy-login.c b/plugins/groupwise-features/proxy-login.c
index 452d7f5..8a8c103 100644
--- a/plugins/groupwise-features/proxy-login.c
+++ b/plugins/groupwise-features/proxy-login.c
@@ -37,6 +37,7 @@
#include <camel/camel-store.h>
#include <mail/mail-ops.h>
#include <libedataserver/e-account.h>
+#include <e-util/e-util.h>
#include <e-util/e-error.h>
#include <e-util/e-icon-factory.h>
#include <e-util/e-util-private.h>
@@ -51,7 +52,7 @@
#include "gw-ui.h"
#include "proxy-login.h"
-#define GW(name) glade_xml_get_widget (priv->xml, name)
+#define GW(name) e_builder_get_widget (priv->builder, name)
#define ACCOUNT_PICTURE 0
#define ACCOUNT_NAME 1
@@ -60,8 +61,8 @@ proxyLogin *pld = NULL;
static GObjectClass *parent_class = NULL;
struct _proxyLoginPrivate {
- /* Glade XML data for the Add/Edit Proxy dialog*/
- GladeXML *xml;
+ /* UI data for the Add/Edit Proxy dialog*/
+ GtkBuilder *builder;
/* Widgets */
GtkWidget *main;
@@ -84,7 +85,7 @@ proxy_login_finalize (GObject *object)
g_list_foreach (prd->proxy_list, (GFunc)g_free, NULL);
g_list_free (prd->proxy_list);
prd->proxy_list = NULL;
- g_object_unref (priv->xml);
+ g_object_unref (priv->builder);
g_free (priv->help_section);
if (prd->priv) {
@@ -133,7 +134,7 @@ proxy_login_init (GObject *object)
prd->priv = priv;
prd->proxy_list = NULL;
- priv->xml = NULL;
+ priv->builder = NULL;
priv->main = NULL;
priv->store = NULL;
priv->tree = NULL;
@@ -281,7 +282,7 @@ proxy_login_cb (GtkDialog *dialog, gint state, GtkWindow *parent)
gchar *proxy_name;
priv = pld->priv;
- account_name_tbox = glade_xml_get_widget (priv->xml, "account_name");
+ account_name_tbox = e_builder_get_widget (priv->builder, "account_name");
proxy_name = g_strdup ((gchar *) gtk_entry_get_text ((GtkEntry *) account_name_tbox));
switch (state) {
@@ -404,7 +405,7 @@ proxy_login_tree_view_changed_cb(GtkDialog *dialog)
return;
gtk_tree_model_get (model, &iter, ACCOUNT_NAME, &account_mailid, -1);
account_mailid = g_strrstr (account_mailid, "\n") + 1;
- account_name_tbox = glade_xml_get_widget (priv->xml, "account_name");
+ account_name_tbox = e_builder_get_widget (priv->builder, "account_name");
gtk_entry_set_text((GtkEntry*) account_name_tbox,account_mailid);
}
@@ -482,7 +483,6 @@ gw_proxy_login_cb (GtkAction *action, EShellView *shell_view)
gchar *uri = NULL;
proxyLoginPrivate *priv;
EGwConnection *cnc;
- gchar *gladefile;
shell_sidebar = e_shell_view_get_shell_sidebar (shell_view);
g_object_get (shell_sidebar, "folder-tree", &folder_tree, NULL);
@@ -509,15 +509,12 @@ gw_proxy_login_cb (GtkAction *action, EShellView *shell_view)
pld = proxy_login_new();
priv = pld->priv;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "proxy-login-dialog.glade",
- NULL);
- priv->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "proxy-login-dialog.ui");
- priv->main = glade_xml_get_widget (priv->xml, "proxy_login_dialog");
+ priv->main = e_builder_get_widget (priv->builder, "proxy_login_dialog");
pld->account = mail_config_get_account_by_source_url (uri);
- priv->tree = GTK_TREE_VIEW (glade_xml_get_widget (priv->xml, "proxy_login_treeview"));
+ priv->tree = GTK_TREE_VIEW (e_builder_get_widget (priv->builder, "proxy_login_treeview"));
priv->store = gtk_tree_store_new (2,
GDK_TYPE_PIXBUF,
G_TYPE_STRING
diff --git a/plugins/groupwise-features/proxy.c b/plugins/groupwise-features/proxy.c
index 82746c3..7e2aea3 100644
--- a/plugins/groupwise-features/proxy.c
+++ b/plugins/groupwise-features/proxy.c
@@ -30,6 +30,7 @@
#include <libedataserverui/e-contact-store.h>
+#include <e-util/e-util.h>
#include <e-util/e-error.h>
#include <e-util/e-util-private.h>
#include <e-gw-container.h>
@@ -51,7 +52,7 @@
#include <proxy.h>
#include <string.h>
-#define GW(name) glade_xml_get_widget (priv->xml, name)
+#define GW(name) e_builder_get_widget (priv->builder, name)
#define ACCOUNT_PICTURE 0
#define ACCOUNT_NAME 1
@@ -63,10 +64,10 @@ static GObjectClass *parent_class = NULL;
static gboolean proxy_page_changed_cb (GtkNotebook *notebook, GtkNotebookPage *page, gint num, EAccount *account);
struct _proxyDialogPrivate {
- /* Glade XML data for the Add/Edit Proxy dialog*/
- GladeXML *xml;
- /*Glade XML data for Proxy Tab*/
- GladeXML *xml_tab;
+ /* UI data for the Add/Edit Proxy dialog*/
+ GtkBuilder *builder;
+ /* UI data for Proxy Tab*/
+ GtkBuilder *builder_tab;
/* Widgets */
GtkWidget *main;
@@ -150,7 +151,7 @@ proxy_dialog_finalize (GObject *object)
if (priv) {
free_proxy_list (priv->proxy_list);
g_free (priv->help_section);
- g_object_unref (priv->xml_tab);
+ g_object_unref (priv->builder_tab);
g_free (prd->priv);
prd->priv = NULL;
}
@@ -188,8 +189,8 @@ proxy_dialog_init (GObject *object)
prd->cnc = NULL;
priv->tab_dialog = NULL;
- priv->xml = NULL;
- priv->xml_tab = NULL;
+ priv->builder = NULL;
+ priv->builder_tab = NULL;
priv->main = NULL;
priv->tree = NULL;
priv->store = NULL;
@@ -637,7 +638,6 @@ org_gnome_proxy (EPlugin *epl, EConfigHookItemFactoryData *data)
CamelOfflineStore *store;
CamelException ex;
gint pag_num;
- gchar *gladefile;
target_account = (EMConfigTargetAccount *)data->config->target;
account = target_account->account;
@@ -656,24 +656,21 @@ org_gnome_proxy (EPlugin *epl, EConfigHookItemFactoryData *data)
g_object_set_data_full ((GObject *) account, "prd", prd, (GDestroyNotify) g_object_unref);
priv = prd->priv;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "proxy-listing.glade",
- NULL);
- priv->xml_tab = glade_xml_new (gladefile, "proxy_vbox", NULL);
- g_free (gladefile);
+ priv->builder_tab = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder_tab, "proxy-listing.ui");
if (account->enabled && (store->state == CAMEL_OFFLINE_STORE_NETWORK_AVAIL)) {
- priv->tab_dialog = GTK_WIDGET (glade_xml_get_widget (priv->xml_tab, "proxy_vbox"));
- priv->tree = GTK_TREE_VIEW (glade_xml_get_widget (priv->xml_tab, "proxy_access_list"));
+ priv->tab_dialog = GTK_WIDGET (e_builder_get_widget (priv->builder_tab, "proxy_vbox"));
+ priv->tree = GTK_TREE_VIEW (e_builder_get_widget (priv->builder_tab, "proxy_access_list"));
priv->store = gtk_tree_store_new (2,
GDK_TYPE_PIXBUF,
G_TYPE_STRING
);
proxy_setup_meta_tree_view (account);
- addProxy = (GtkButton *) glade_xml_get_widget (priv->xml_tab, "add_proxy");
- removeProxy = (GtkButton *) glade_xml_get_widget (priv->xml_tab, "remove_proxy");
- editProxy = (GtkButton *) glade_xml_get_widget (priv->xml_tab, "edit_proxy");
+ addProxy = (GtkButton *) e_builder_get_widget (priv->builder_tab, "add_proxy");
+ removeProxy = (GtkButton *) e_builder_get_widget (priv->builder_tab, "remove_proxy");
+ editProxy = (GtkButton *) e_builder_get_widget (priv->builder_tab, "edit_proxy");
g_signal_connect (addProxy, "clicked", G_CALLBACK(proxy_add_account), account);
g_signal_connect (removeProxy, "clicked", G_CALLBACK(proxy_remove_account), account);
@@ -779,7 +776,7 @@ proxy_cancel(GtkWidget *button, EAccount *account)
prd = g_object_get_data ((GObject *)account, "prd");
priv = prd->priv;
gtk_widget_destroy (priv->main);
- g_object_unref (priv->xml);
+ g_object_unref (priv->builder);
}
static void
@@ -796,7 +793,7 @@ proxy_add_ok (GtkWidget *button, EAccount *account)
proxy_update_tree_view (account);
gtk_widget_destroy (priv->main);
- g_object_unref (priv->xml);
+ g_object_unref (priv->builder);
}
static void
@@ -813,7 +810,7 @@ proxy_edit_ok (GtkWidget *button, EAccount *account)
proxy_update_tree_view (account);
gtk_widget_destroy (priv->main);
- g_object_unref (priv->xml);
+ g_object_unref (priv->builder);
}
static proxyHandler *
@@ -900,22 +897,18 @@ proxy_add_account (GtkWidget *button, EAccount *account)
ENameSelectorEntry *name_selector_entry;
GtkWidget *proxy_name, *name_box;
proxyDialog *prd = NULL;
- gchar *gladefile;
prd = g_object_get_data ((GObject *)account, "prd");
priv = prd->priv;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "proxy-add-dialog.glade",
- NULL);
- priv->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "proxy-add-dialog.ui");
proxy_dialog_initialize_widgets (account);
- priv->main = glade_xml_get_widget (priv->xml, "ProxyAccessRights");
- okButton = (GtkButton *) glade_xml_get_widget (priv->xml,"proxy_button_ok");
- contacts = (GtkButton *) glade_xml_get_widget (priv->xml,"contacts");
- cancel = (GtkButton *) glade_xml_get_widget (priv->xml,"proxy_cancel");
+ priv->main = e_builder_get_widget (priv->builder, "ProxyAccessRights");
+ okButton = (GtkButton *) e_builder_get_widget (priv->builder,"proxy_button_ok");
+ contacts = (GtkButton *) e_builder_get_widget (priv->builder,"contacts");
+ cancel = (GtkButton *) e_builder_get_widget (priv->builder,"proxy_cancel");
priv->proxy_name_selector = e_name_selector_new ();
name_selector_dialog = e_name_selector_peek_dialog (priv->proxy_name_selector);
@@ -933,8 +926,8 @@ proxy_add_account (GtkWidget *button, EAccount *account)
g_signal_connect (name_selector_entry, "changed",
G_CALLBACK (addressbook_entry_changed), prd);
- proxy_name = glade_xml_get_widget (priv->xml, "proxy_account_name");
- name_box = glade_xml_get_widget (priv->xml, "proxy_name_box");
+ proxy_name = e_builder_get_widget (priv->builder, "proxy_account_name");
+ name_box = e_builder_get_widget (priv->builder, "proxy_name_box");
gtk_widget_hide (proxy_name);
gtk_container_add ((GtkContainer *)name_box, (GtkWidget *)name_selector_entry);
gtk_widget_show ((GtkWidget *) name_selector_entry);
@@ -1001,7 +994,6 @@ proxy_edit_account (GtkWidget *button, EAccount *account)
gchar *account_mailid;
GtkWidget *contacts;
proxyDialog *prd = NULL;
- gchar *gladefile;
prd = g_object_get_data ((GObject *)account, "prd");
priv = prd->priv;
@@ -1015,17 +1007,14 @@ proxy_edit_account (GtkWidget *button, EAccount *account)
account_mailid = g_strrstr (account_mailid, "\n") + 1;
edited = proxy_get_item_from_list (account, account_mailid);
if (edited) {
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "proxy-add-dialog.glade",
- NULL);
- priv->xml = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "proxy-add-dialog.ui");
- priv->main = glade_xml_get_widget (priv->xml, "ProxyAccessRights");
+ priv->main = e_builder_get_widget (priv->builder, "ProxyAccessRights");
proxy_dialog_initialize_widgets (account);
- okButton = (GtkButton *) glade_xml_get_widget (priv->xml,"proxy_button_ok");
- proxyCancel = (GtkButton *) glade_xml_get_widget (priv->xml,"proxy_cancel");
- contacts = glade_xml_get_widget (priv->xml, "contacts");
+ okButton = (GtkButton *) e_builder_get_widget (priv->builder,"proxy_button_ok");
+ proxyCancel = (GtkButton *) e_builder_get_widget (priv->builder,"proxy_cancel");
+ contacts = e_builder_get_widget (priv->builder, "contacts");
g_signal_connect ((GtkWidget *)okButton, "clicked", G_CALLBACK (proxy_edit_ok), account);
g_signal_connect ((GtkWidget *)proxyCancel, "clicked", G_CALLBACK (proxy_cancel), account);
diff --git a/plugins/groupwise-features/share-folder.c b/plugins/groupwise-features/share-folder.c
index 3594a2e..9a39678 100644
--- a/plugins/groupwise-features/share-folder.c
+++ b/plugins/groupwise-features/share-folder.c
@@ -26,6 +26,7 @@
#include "share-folder.h"
#include <glib/gi18n-lib.h>
#include <libedataserverui/e-contact-store.h>
+#include <e-util/e-util.h>
#include <e-util/e-error.h>
#include <e-util/e-util-private.h>
#include <e-gw-container.h>
@@ -98,7 +99,7 @@ static void
share_folder_finalise (GObject *obj)
{
ShareFolder *sf = (ShareFolder *) obj;
- g_object_unref (sf->xml);
+ g_object_unref (sf->builder);
free_all(sf);
G_OBJECT_CLASS (parent_class)->finalize (obj);
}
@@ -503,29 +504,25 @@ not_cancel_clicked(GtkButton *button, GtkWidget *window)
static void
notification_clicked(GtkButton *button, ShareFolder *sf)
{
- static GladeXML *xmln;
+ static GtkBuilder *builder;
GtkButton *not_ok;
GtkButton *not_cancel;
GtkWidget *vbox;
- gchar *gladefile;
sf->window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_type_hint (GTK_WINDOW (sf->window), GDK_WINDOW_TYPE_HINT_DIALOG);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "properties.glade",
- NULL);
- xmln = glade_xml_new (gladefile, NROOTNODE , NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "properties.ui");
- vbox = GTK_WIDGET (glade_xml_get_widget (xmln, "vbox191"));
+ vbox = GTK_WIDGET (e_builder_get_widget (builder, "vbox191"));
gtk_container_add (GTK_CONTAINER (sf->window), vbox);
- sf->subject = GTK_ENTRY (glade_xml_get_widget (xmln, "entry3"));
+ sf->subject = GTK_ENTRY (e_builder_get_widget (builder, "entry3"));
gtk_entry_set_text(GTK_ENTRY (sf->subject) , sf->sub);
- sf->message = GTK_TEXT_VIEW (glade_xml_get_widget (xmln, "textview1"));
- not_ok = GTK_BUTTON (glade_xml_get_widget (xmln, "nOK"));
+ sf->message = GTK_TEXT_VIEW (e_builder_get_widget (builder, "textview1"));
+ not_ok = GTK_BUTTON (e_builder_get_widget (builder, "nOK"));
g_signal_connect ((gpointer) not_ok, "clicked", G_CALLBACK (not_ok_clicked), sf);
- not_cancel = GTK_BUTTON (glade_xml_get_widget (xmln, "nCancel"));
+ not_cancel = GTK_BUTTON (e_builder_get_widget (builder, "nCancel"));
g_signal_connect ((gpointer) not_cancel, "clicked", G_CALLBACK (not_cancel_clicked), sf->window);
gtk_window_set_title (GTK_WINDOW (sf->window), _("Custom Notification"));
gtk_window_set_position (GTK_WINDOW (sf->window) , GTK_WIN_POS_CENTER_ALWAYS);
@@ -671,35 +668,25 @@ delete_right_clicked(GtkCellRenderer *renderer, gchar *arg1, ShareFolder *sf )
static void
share_folder_construct (ShareFolder *sf)
{
- GladeXML *xml;
ENameSelectorDialog *name_selector_dialog;
ENameSelectorModel *name_selector_model;
ENameSelectorEntry *name_selector_entry;
GtkWidget *box;
- gchar *gladefile;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "properties.glade",
- NULL);
- xml = glade_xml_new (gladefile, ROOTNODE, NULL);
- g_free (gladefile);
+ sf->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (sf->builder, "properties.ui");
- sf->xml =xml;
-
- if (!sf->xml) {
- g_warning ("could not get xml");
- }
- sf->vbox = GTK_VBOX (glade_xml_get_widget(sf->xml, "vboxSharing"));
- sf->table = GTK_VBOX (glade_xml_get_widget (sf->xml, "vbox194"));
+ sf->vbox = GTK_VBOX (e_builder_get_widget(sf->builder, "vboxSharing"));
+ sf->table = GTK_VBOX (e_builder_get_widget (sf->builder, "vbox194"));
gtk_widget_set_sensitive (GTK_WIDGET (sf->table), FALSE);
- sf->shared = GTK_RADIO_BUTTON (glade_xml_get_widget (sf->xml, "radShared"));
+ sf->shared = GTK_RADIO_BUTTON (e_builder_get_widget (sf->builder, "radShared"));
g_signal_connect ((gpointer) sf->shared, "clicked", G_CALLBACK (shared_clicked), sf);
- sf->not_shared = GTK_RADIO_BUTTON (glade_xml_get_widget (sf->xml, "radNotShared"));
+ sf->not_shared = GTK_RADIO_BUTTON (e_builder_get_widget (sf->builder, "radNotShared"));
g_signal_connect ((gpointer) sf->not_shared, "clicked", G_CALLBACK (not_shared_clicked), sf);
- sf->add_book = GTK_BUTTON (glade_xml_get_widget (sf->xml, "Address"));
+ sf->add_book = GTK_BUTTON (e_builder_get_widget (sf->builder, "Address"));
gtk_widget_set_sensitive (GTK_WIDGET (sf->add_book), TRUE);
g_signal_connect((GtkWidget *) sf->add_book, "clicked", G_CALLBACK (address_button_clicked_cb), sf);
@@ -714,26 +701,26 @@ share_folder_construct (ShareFolder *sf)
name_selector_entry = e_name_selector_peek_section_entry (sf->name_selector, "Add User");
g_signal_connect (name_selector_entry, "changed",
G_CALLBACK (addressbook_entry_changed), sf);
- gtk_label_set_mnemonic_widget (GTK_LABEL (glade_xml_get_widget (sf->xml, "label557")), GTK_WIDGET (name_selector_entry));
+ gtk_label_set_mnemonic_widget (GTK_LABEL (e_builder_get_widget (sf->builder, "label557")), GTK_WIDGET (name_selector_entry));
- sf->add_button = GTK_BUTTON (glade_xml_get_widget(sf->xml, "Add"));
+ sf->add_button = GTK_BUTTON (e_builder_get_widget(sf->builder, "Add"));
g_signal_connect((GtkWidget *) sf->add_button, "clicked", G_CALLBACK (add_clicked), sf);
- sf->remove = GTK_BUTTON(glade_xml_get_widget(sf->xml, "Remove"));
+ sf->remove = GTK_BUTTON(e_builder_get_widget(sf->builder, "Remove"));
g_signal_connect ((GtkWidget *) sf->remove, "clicked", G_CALLBACK (remove_clicked), sf);
gtk_widget_set_sensitive(GTK_WIDGET (sf->remove), FALSE);
- sf->notification = GTK_BUTTON (glade_xml_get_widget (sf->xml, "Notification"));
+ sf->notification = GTK_BUTTON (e_builder_get_widget (sf->builder, "Notification"));
g_signal_connect((GtkWidget *) sf->notification, "clicked", G_CALLBACK (notification_clicked), sf);
- sf->name = GTK_ENTRY (glade_xml_get_widget (sf->xml, "entry4"));
+ sf->name = GTK_ENTRY (e_builder_get_widget (sf->builder, "entry4"));
/*TODO:connect name and label*/
gtk_widget_hide (GTK_WIDGET(sf->name));
- box = GTK_WIDGET (glade_xml_get_widget (sf->xml, "hbox227"));
+ box = GTK_WIDGET (e_builder_get_widget (sf->builder, "hbox227"));
gtk_box_pack_start (GTK_BOX (box), (GtkWidget *) name_selector_entry, TRUE, TRUE, 0);
gtk_widget_show ((GtkWidget *) name_selector_entry);
- sf->scrolled_window = GTK_WIDGET (glade_xml_get_widget (sf->xml,"scrolledwindow4"));
+ sf->scrolled_window = GTK_WIDGET (e_builder_get_widget (sf->builder,"scrolledwindow4"));
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sf->scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
diff --git a/plugins/groupwise-features/share-folder.h b/plugins/groupwise-features/share-folder.h
index 8f1f935..138266c 100644
--- a/plugins/groupwise-features/share-folder.h
+++ b/plugins/groupwise-features/share-folder.h
@@ -24,13 +24,10 @@
#ifndef __SHARE_FOLDER_H__
#define __SHARE_FOLDER_H__
-G_BEGIN_DECLS
-
#include <gtk/gtk.h>
#include <camel/camel-store.h>
#include <e-gw-connection.h>
#include <libedataserverui/e-name-selector.h>
-#include <glade/glade-xml.h>
#define _SHARE_FOLDER_TYPE (share_folder_get_type ())
#define SHARE_FOLDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SHARE_FOLDER, ShareFolder))
@@ -38,13 +35,15 @@ G_BEGIN_DECLS
#define IS_SHARE_FOLDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SHARE_FOLDER_TYPE))
#define IS_SHARE_FOLDER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SHARE_FOLDER_TYPE))
+G_BEGIN_DECLS
+
typedef struct _ShareFolder ShareFolder;
typedef struct _ShareFolderClass ShareFolderClass;
struct _ShareFolder {
GtkVBox parent_object;
- GladeXML *xml;
+ GtkBuilder *builder;
/* General tab */
diff --git a/plugins/imap-features/imap-headers.c b/plugins/imap-features/imap-headers.c
index 1e94958..df567aa 100644
--- a/plugins/imap-features/imap-headers.c
+++ b/plugins/imap-features/imap-headers.c
@@ -31,7 +31,8 @@
#include <gtk/gtk.h>
-#include "e-util/e-account-utils.h"
+#include <e-util/e-util.h>
+#include <e-util/e-account-utils.h>
#include <camel/camel-url.h>
#include <camel/camel-exception.h>
@@ -257,8 +258,7 @@ org_gnome_imap_headers (EPlugin *epl, EConfigHookItemFactoryData *data)
GtkWidget *vbox;
CamelURL *url = NULL;
CamelException ex;
- gchar *gladefile;
- GladeXML *gladexml;
+ GtkBuilder *builder;
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
GtkTreeIter iter;
@@ -273,19 +273,18 @@ org_gnome_imap_headers (EPlugin *epl, EConfigHookItemFactoryData *data)
if (!g_str_has_prefix (account->source->url, "imap://") && !(use_imap && g_str_has_prefix (account->source->url, "groupwise://")))
return NULL;
- gladefile = g_build_filename (EVOLUTION_UIDIR, "imap-headers.glade", NULL);
- gladexml = glade_xml_new (gladefile, "vbox2", NULL);
- g_free (gladefile);
-
- vbox = glade_xml_get_widget (gladexml, "vbox2");
- ui->all_headers = glade_xml_get_widget (gladexml, "allHeaders");
- ui->basic_headers = glade_xml_get_widget (gladexml, "basicHeaders");
- ui->mailing_list_headers = glade_xml_get_widget (gladexml, "mailingListHeaders");
- ui->custom_headers_box = glade_xml_get_widget (gladexml, "custHeaderHbox");
- ui->custom_headers_tree = GTK_TREE_VIEW(glade_xml_get_widget (gladexml, "custHeaderTree"));
- ui->add_header = GTK_BUTTON(glade_xml_get_widget (gladexml, "addHeader"));
- ui->remove_header = GTK_BUTTON(glade_xml_get_widget (gladexml, "removeHeader"));
- ui->entry_header = GTK_ENTRY (glade_xml_get_widget (gladexml, "customHeaderEntry"));
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "imap-headers.ui");
+
+ vbox = e_builder_get_widget (builder, "vbox2");
+ ui->all_headers = e_builder_get_widget (builder, "allHeaders");
+ ui->basic_headers = e_builder_get_widget (builder, "basicHeaders");
+ ui->mailing_list_headers = e_builder_get_widget (builder, "mailingListHeaders");
+ ui->custom_headers_box = e_builder_get_widget (builder, "custHeaderHbox");
+ ui->custom_headers_tree = GTK_TREE_VIEW(e_builder_get_widget (builder, "custHeaderTree"));
+ ui->add_header = GTK_BUTTON(e_builder_get_widget (builder, "addHeader"));
+ ui->remove_header = GTK_BUTTON(e_builder_get_widget (builder, "removeHeader"));
+ ui->entry_header = GTK_ENTRY (e_builder_get_widget (builder, "customHeaderEntry"));
url = camel_url_new (e_account_get_string(account, E_ACCOUNT_SOURCE_URL), &ex);
diff --git a/plugins/publish-calendar/publish-calendar.c b/plugins/publish-calendar/publish-calendar.c
index 1634f89..cda4169 100644
--- a/plugins/publish-calendar/publish-calendar.c
+++ b/plugins/publish-calendar/publish-calendar.c
@@ -29,6 +29,7 @@
#include <libedataserverui/e-passwords.h>
#include <calendar/gui/e-cal-config.h>
#include <shell/es-event.h>
+#include <e-util/e-util.h>
#include <e-util/e-util-private.h>
#include <e-util/e-dialog-utils.h>
@@ -690,7 +691,7 @@ online_state_changed (EShell *shell)
GtkWidget *
publish_calendar_locations (EPlugin *epl, EConfigHookItemFactoryData *data)
{
- GladeXML *xml;
+ GtkBuilder *builder;
GtkCellRenderer *renderer;
GtkTreeSelection *selection;
GtkWidget *toplevel;
@@ -698,15 +699,11 @@ publish_calendar_locations (EPlugin *epl, EConfigHookItemFactoryData *data)
GSList *l;
GtkTreeIter iter;
GConfClient *client;
- gchar *gladefile;
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "publish-calendar.glade",
- NULL);
- xml = glade_xml_new (gladefile, "toplevel", NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "publish-calendar.ui");
- ui->treeview = glade_xml_get_widget (xml, "url list");
+ ui->treeview = e_builder_get_widget (builder, "url list");
if (store == NULL)
store = gtk_list_store_new (URL_LIST_N_COLUMNS, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER);
else
@@ -728,10 +725,10 @@ publish_calendar_locations (EPlugin *epl, EConfigHookItemFactoryData *data)
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (ui->treeview), TRUE);
g_signal_connect (G_OBJECT (ui->treeview), "row-activated", G_CALLBACK (url_list_double_click), ui);
- ui->url_add = glade_xml_get_widget (xml, "url add");
- ui->url_edit = glade_xml_get_widget (xml, "url edit");
- ui->url_remove = glade_xml_get_widget (xml, "url remove");
- ui->url_enable = glade_xml_get_widget (xml, "url enable");
+ ui->url_add = e_builder_get_widget (builder, "url add");
+ ui->url_edit = e_builder_get_widget (builder, "url edit");
+ ui->url_remove = e_builder_get_widget (builder, "url remove");
+ ui->url_enable = e_builder_get_widget (builder, "url enable");
g_signal_connect (G_OBJECT (ui->url_add), "clicked", G_CALLBACK (url_add_clicked), ui);
g_signal_connect (G_OBJECT (ui->url_edit), "clicked", G_CALLBACK (url_edit_clicked), ui);
g_signal_connect (G_OBJECT (ui->url_remove), "clicked", G_CALLBACK (url_remove_clicked), ui);
@@ -759,11 +756,11 @@ publish_calendar_locations (EPlugin *epl, EConfigHookItemFactoryData *data)
if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter))
gtk_tree_selection_select_iter (selection, &iter);
- toplevel = glade_xml_get_widget (xml, "toplevel");
+ toplevel = e_builder_get_widget (builder, "toplevel");
gtk_widget_show_all (toplevel);
gtk_box_pack_start (GTK_BOX (data->parent), toplevel, FALSE, TRUE, 0);
- g_object_unref (xml);
+ g_object_unref (builder);
return toplevel;
}
diff --git a/plugins/publish-calendar/url-editor-dialog.c b/plugins/publish-calendar/url-editor-dialog.c
index 559a055..0ef0020 100644
--- a/plugins/publish-calendar/url-editor-dialog.c
+++ b/plugins/publish-calendar/url-editor-dialog.c
@@ -26,6 +26,7 @@
#include <glib.h>
#include <glib/gi18n.h>
#include <string.h>
+#include <e-util/e-util.h>
#include <e-util/e-util-private.h>
static GtkDialogClass *parent_class = NULL;
@@ -326,23 +327,17 @@ set_from_uri (UrlEditorDialog *dialog)
static gboolean
url_editor_dialog_construct (UrlEditorDialog *dialog)
{
- GladeXML *gui;
GtkWidget *toplevel;
GConfClient *gconf;
GtkSizeGroup *group;
EPublishUri *uri;
- gchar *gladefile;
gconf = gconf_client_get_default ();
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- "publish-calendar.glade",
- NULL);
- gui = glade_xml_new (gladefile, "publishing toplevel", NULL);
- g_free (gladefile);
- dialog->gui = gui;
+ dialog->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (dialog->builder, "publish-calendar.ui");
-#define GW(name) ((dialog->name) = glade_xml_get_widget (dialog->gui, #name))
+#define GW(name) ((dialog->name) = e_builder_get_widget (dialog->builder, #name))
GW(type_selector);
GW(fb_duration_label);
GW(fb_duration_spin);
@@ -375,11 +370,9 @@ url_editor_dialog_construct (UrlEditorDialog *dialog)
GW(file_label);
#undef GW
- g_return_val_if_fail (gui != NULL, FALSE);
-
uri = dialog->uri;
- toplevel = glade_xml_get_widget (gui, "publishing toplevel");
+ toplevel = e_builder_get_widget (dialog->builder, "publishing toplevel");
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), toplevel);
gtk_container_set_border_width (GTK_CONTAINER (dialog), 6);
@@ -498,9 +491,9 @@ url_editor_dialog_dispose (GObject *obj)
g_object_unref (dialog->url_list_model);
dialog->url_list_model = NULL;
}
- if (dialog->gui) {
- g_object_unref (dialog->gui);
- dialog->gui = NULL;
+ if (dialog->builder) {
+ g_object_unref (dialog->builder);
+ dialog->builder = NULL;
}
((GObjectClass *)(parent_class))->dispose (obj);
diff --git a/plugins/publish-calendar/url-editor-dialog.h b/plugins/publish-calendar/url-editor-dialog.h
index 0a5f8d4..d222354 100644
--- a/plugins/publish-calendar/url-editor-dialog.h
+++ b/plugins/publish-calendar/url-editor-dialog.h
@@ -61,7 +61,7 @@ struct _UrlEditorDialog {
GtkTreeModel *url_list_model;
EPublishUri *uri;
- GladeXML *gui;
+ GtkBuilder *builder;
GtkWidget *type_selector;
GtkWidget *fb_duration_label;
diff --git a/plugins/templates/templates.c b/plugins/templates/templates.c
index 5d25133..753dcc7 100644
--- a/plugins/templates/templates.c
+++ b/plugins/templates/templates.c
@@ -52,7 +52,7 @@
#define GCONF_KEY_TEMPLATE_PLACEHOLDERS "/apps/evolution/mail/template_placeholders"
typedef struct {
- GladeXML *xml;
+ GtkBuilder *builder;
GConfClient *gconf;
GtkWidget *treeview;
GtkWidget *clue_add;
@@ -113,7 +113,7 @@ destroy_ui_data (gpointer data)
if (!ui)
return;
- g_object_unref (ui->xml);
+ g_object_unref (ui->builder);
g_object_unref (ui->gconf);
g_free (ui);
}
@@ -357,17 +357,12 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
UIData *ui = g_new0 (UIData, 1);
- gchar *gladefile;
-
- gladefile = g_build_filename (EVOLUTION_PLUGINDIR,
- "templates.glade",
- NULL);
- ui->xml = glade_xml_new (gladefile, "templates_configuration_box", NULL);
- g_free (gladefile);
+ ui->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (ui->builder, "templates.ui");
ui->gconf = gconf_client_get_default ();
- ui->treeview = glade_xml_get_widget (ui->xml, "clue_treeview");
+ ui->treeview = e_builder_get_widget (ui->builder, "clue_treeview");
ui->store = gtk_list_store_new (CLUE_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING);
@@ -390,14 +385,14 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (selection_changed), ui);
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (ui->treeview), TRUE);
- ui->clue_add = glade_xml_get_widget (ui->xml, "clue_add");
+ ui->clue_add = e_builder_get_widget (ui->builder, "clue_add");
g_signal_connect (G_OBJECT (ui->clue_add), "clicked", G_CALLBACK (clue_add_clicked), ui);
- ui->clue_remove = glade_xml_get_widget (ui->xml, "clue_remove");
+ ui->clue_remove = e_builder_get_widget (ui->builder, "clue_remove");
g_signal_connect (G_OBJECT (ui->clue_remove), "clicked", G_CALLBACK (clue_remove_clicked), ui);
gtk_widget_set_sensitive (ui->clue_remove, FALSE);
- ui->clue_edit = glade_xml_get_widget (ui->xml, "clue_edit");
+ ui->clue_edit = e_builder_get_widget (ui->builder, "clue_edit");
g_signal_connect (G_OBJECT (ui->clue_edit), "clicked", G_CALLBACK (clue_edit_clicked), ui);
gtk_widget_set_sensitive (ui->clue_edit, FALSE);
@@ -423,7 +418,7 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
hbox = gtk_vbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), glade_xml_get_widget (ui->xml, "templates_configuration_box"), TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), e_builder_get_widget (ui->builder, "templates_configuration_box"), TRUE, TRUE, 0);
/* to let free data properly on destroy of configuration widget */
g_object_set_data_full (G_OBJECT (hbox), "myui-data", ui, destroy_ui_data);
diff --git a/shell/main.c b/shell/main.c
index f5c757a..6d6588a 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -573,7 +573,6 @@ main (gint argc, gchar **argv)
g_warning ("Could not set up debugging output file.");
}
- glade_init ();
e_cursors_init ();
e_icon_factory_init ();
e_passwords_init ();
diff --git a/smime/gui/ca-trust-dialog.c b/smime/gui/ca-trust-dialog.c
index 664c1f2..f21288d 100644
--- a/smime/gui/ca-trust-dialog.c
+++ b/smime/gui/ca-trust-dialog.c
@@ -30,12 +30,11 @@
#include <glib/gi18n.h>
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
-#define GLADE_FILE_NAME "smime-ui.glade"
-
typedef struct {
- GladeXML *gui;
+ GtkBuilder *builder;
GtkWidget *dialog;
GtkWidget *ssl_checkbutton;
GtkWidget *email_checkbutton;
@@ -50,7 +49,7 @@ free_data (gpointer data)
CATrustDialogData *ctd = data;
g_object_unref (ctd->cert);
- g_object_unref (ctd->gui);
+ g_object_unref (ctd->builder);
g_free (ctd);
}
@@ -75,17 +74,13 @@ ca_trust_dialog_show (ECert *cert, gboolean importing)
CATrustDialogData *ctd_data;
GtkWidget *w;
gchar *txt;
- gchar *gladefile;
ctd_data = g_new0 (CATrustDialogData, 1);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- GLADE_FILE_NAME,
- NULL);
- ctd_data->gui = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
+ ctd_data->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (ctd_data->builder, "smime-ui.ui");
- ctd_data->dialog = glade_xml_get_widget (ctd_data->gui, "ca-trust-dialog");
+ ctd_data->dialog = e_builder_get_widget (ctd_data->builder, "ca-trust-dialog");
gtk_widget_ensure_style (ctd_data->dialog);
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (ctd_data->dialog)->vbox), 0);
@@ -93,11 +88,11 @@ ca_trust_dialog_show (ECert *cert, gboolean importing)
ctd_data->cert = g_object_ref (cert);
- ctd_data->ssl_checkbutton = glade_xml_get_widget (ctd_data->gui, "ssl_trust_checkbutton");
- ctd_data->email_checkbutton = glade_xml_get_widget (ctd_data->gui, "email_trust_checkbutton");
- ctd_data->objsign_checkbutton = glade_xml_get_widget (ctd_data->gui, "objsign_trust_checkbutton");
+ ctd_data->ssl_checkbutton = e_builder_get_widget (ctd_data->builder, "ssl_trust_checkbutton");
+ ctd_data->email_checkbutton = e_builder_get_widget (ctd_data->builder, "email_trust_checkbutton");
+ ctd_data->objsign_checkbutton = e_builder_get_widget (ctd_data->builder, "objsign_trust_checkbutton");
- w = glade_xml_get_widget(ctd_data->gui, "ca-trust-label");
+ w = e_builder_get_widget(ctd_data->builder, "ca-trust-label");
txt = g_strdup_printf(_("Certificate '%s' is a CA certificate.\n\nEdit trust settings:"), e_cert_get_cn(cert));
gtk_label_set_text((GtkLabel *)w, txt);
g_free(txt);
diff --git a/smime/gui/cert-trust-dialog.c b/smime/gui/cert-trust-dialog.c
index 03c3ce6..9c87c66 100644
--- a/smime/gui/cert-trust-dialog.c
+++ b/smime/gui/cert-trust-dialog.c
@@ -35,12 +35,11 @@
#include <glib/gi18n.h>
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
-#define GLADE_FILE_NAME "smime-ui.glade"
-
typedef struct {
- GladeXML *gui;
+ GtkBuilder *builder;
GtkWidget *dialog;
GtkWidget *trust_button;
GtkWidget *notrust_button;
@@ -56,7 +55,7 @@ free_data (gpointer data)
g_object_unref (ctd->cert);
g_object_unref (ctd->cacert);
- g_object_unref (ctd->gui);
+ g_object_unref (ctd->builder);
g_free (ctd);
}
@@ -115,23 +114,19 @@ cert_trust_dialog_show (ECert *cert)
{
CertTrustDialogData *ctd_data;
CERTCertificate *icert;
- gchar *gladefile;
ctd_data = g_new0 (CertTrustDialogData, 1);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- GLADE_FILE_NAME,
- NULL);
- ctd_data->gui = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
+ ctd_data->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (ctd_data->builder, "smime-ui.ui");
- ctd_data->dialog = glade_xml_get_widget (ctd_data->gui, "cert-trust-dialog");
+ ctd_data->dialog = e_builder_get_widget (ctd_data->builder, "cert-trust-dialog");
ctd_data->cert = g_object_ref (cert);
ctd_data->cacert = e_cert_get_ca_cert(cert);
- ctd_data->trust_button = glade_xml_get_widget(ctd_data->gui, "cert-trust");
- ctd_data->notrust_button = glade_xml_get_widget(ctd_data->gui, "cert-notrust");
+ ctd_data->trust_button = e_builder_get_widget(ctd_data->builder, "cert-trust");
+ ctd_data->notrust_button = e_builder_get_widget(ctd_data->builder, "cert-notrust");
- ctd_data->label = glade_xml_get_widget(ctd_data->gui, "trust-label");
+ ctd_data->label = e_builder_get_widget(ctd_data->builder, "trust-label");
g_signal_connect(ctd_data->dialog, "response", G_CALLBACK(ctd_response), ctd_data);
diff --git a/smime/gui/certificate-manager.c b/smime/gui/certificate-manager.c
index d4ce9df..f3a175c 100644
--- a/smime/gui/certificate-manager.c
+++ b/smime/gui/certificate-manager.c
@@ -25,8 +25,6 @@
#include <config.h>
#endif
-#define GLADE_FILE_NAME "smime-ui.glade"
-
#include <gtk/gtk.h>
#include <glib/gi18n.h>
@@ -48,11 +46,12 @@
#include <pk11func.h>
#include "shell/e-shell.h"
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
#include "widgets/misc/e-preferences-window.h"
typedef struct {
- GladeXML *gui;
+ GtkBuilder *builder;
GtkWidget *yourcerts_treeview;
GtkTreeStore *yourcerts_treemodel;
@@ -993,7 +992,6 @@ certificate_manager_config_init (EShell *shell)
CertificateManagerData *cfm_data;
GtkWidget *preferences_window;
GtkWidget *widget;
- gchar *gladefile;
g_return_if_fail (E_IS_SHELL (shell));
@@ -1002,31 +1000,28 @@ certificate_manager_config_init (EShell *shell)
cfm_data = g_new0 (CertificateManagerData, 1);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- GLADE_FILE_NAME,
- NULL);
- cfm_data->gui = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
+ cfm_data->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (cfm_data->builder, "smime-ui.ui");
- cfm_data->yourcerts_treeview = glade_xml_get_widget (cfm_data->gui, "yourcerts-treeview");
- cfm_data->contactcerts_treeview = glade_xml_get_widget (cfm_data->gui, "contactcerts-treeview");
- cfm_data->authoritycerts_treeview = glade_xml_get_widget (cfm_data->gui, "authoritycerts-treeview");
+ cfm_data->yourcerts_treeview = e_builder_get_widget (cfm_data->builder, "yourcerts-treeview");
+ cfm_data->contactcerts_treeview = e_builder_get_widget (cfm_data->builder, "contactcerts-treeview");
+ cfm_data->authoritycerts_treeview = e_builder_get_widget (cfm_data->builder, "authoritycerts-treeview");
- cfm_data->view_your_button = glade_xml_get_widget (cfm_data->gui, "your-view-button");
- cfm_data->backup_your_button = glade_xml_get_widget (cfm_data->gui, "your-backup-button");
- cfm_data->backup_all_your_button = glade_xml_get_widget (cfm_data->gui, "your-backup-all-button");
- cfm_data->import_your_button = glade_xml_get_widget (cfm_data->gui, "your-import-button");
- cfm_data->delete_your_button = glade_xml_get_widget (cfm_data->gui, "your-delete-button");
+ cfm_data->view_your_button = e_builder_get_widget (cfm_data->builder, "your-view-button");
+ cfm_data->backup_your_button = e_builder_get_widget (cfm_data->builder, "your-backup-button");
+ cfm_data->backup_all_your_button = e_builder_get_widget (cfm_data->builder, "your-backup-all-button");
+ cfm_data->import_your_button = e_builder_get_widget (cfm_data->builder, "your-import-button");
+ cfm_data->delete_your_button = e_builder_get_widget (cfm_data->builder, "your-delete-button");
- cfm_data->view_contact_button = glade_xml_get_widget (cfm_data->gui, "contact-view-button");
- cfm_data->edit_contact_button = glade_xml_get_widget (cfm_data->gui, "contact-edit-button");
- cfm_data->import_contact_button = glade_xml_get_widget (cfm_data->gui, "contact-import-button");
- cfm_data->delete_contact_button = glade_xml_get_widget (cfm_data->gui, "contact-delete-button");
+ cfm_data->view_contact_button = e_builder_get_widget (cfm_data->builder, "contact-view-button");
+ cfm_data->edit_contact_button = e_builder_get_widget (cfm_data->builder, "contact-edit-button");
+ cfm_data->import_contact_button = e_builder_get_widget (cfm_data->builder, "contact-import-button");
+ cfm_data->delete_contact_button = e_builder_get_widget (cfm_data->builder, "contact-delete-button");
- cfm_data->view_ca_button = glade_xml_get_widget (cfm_data->gui, "authority-view-button");
- cfm_data->edit_ca_button = glade_xml_get_widget (cfm_data->gui, "authority-edit-button");
- cfm_data->import_ca_button = glade_xml_get_widget (cfm_data->gui, "authority-import-button");
- cfm_data->delete_ca_button = glade_xml_get_widget (cfm_data->gui, "authority-delete-button");
+ cfm_data->view_ca_button = e_builder_get_widget (cfm_data->builder, "authority-view-button");
+ cfm_data->edit_ca_button = e_builder_get_widget (cfm_data->builder, "authority-edit-button");
+ cfm_data->import_ca_button = e_builder_get_widget (cfm_data->builder, "authority-import-button");
+ cfm_data->delete_ca_button = e_builder_get_widget (cfm_data->builder, "authority-delete-button");
initialize_yourcerts_ui(cfm_data);
initialize_contactcerts_ui(cfm_data);
@@ -1034,7 +1029,7 @@ certificate_manager_config_init (EShell *shell)
populate_ui (cfm_data);
- widget = glade_xml_get_widget (cfm_data->gui, "cert-manager-notebook");
+ widget = e_builder_get_widget (cfm_data->builder, "cert-manager-notebook");
g_object_ref (widget);
gtk_container_remove (GTK_CONTAINER (widget->parent), widget);
diff --git a/smime/gui/certificate-viewer.c b/smime/gui/certificate-viewer.c
index 1733c74..f71993d 100644
--- a/smime/gui/certificate-viewer.c
+++ b/smime/gui/certificate-viewer.c
@@ -30,12 +30,11 @@
#include <glib/gi18n.h>
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
-#define GLADE_FILE_NAME "smime-ui.glade"
-
typedef struct {
- GladeXML *gui;
+ GtkBuilder *builder;
GtkWidget *dialog;
GtkTreeStore *hierarchy_store, *fields_store;
GtkWidget *hierarchy_tree, *fields_tree;
@@ -53,7 +52,7 @@ free_data (gpointer data, GObject *where_the_object_was)
g_list_foreach (cvm->cert_chain, (GFunc)g_object_unref, NULL);
g_list_free (cvm->cert_chain);
- g_object_unref (cvm->gui);
+ g_object_unref (cvm->builder);
g_free (cvm);
}
@@ -67,7 +66,7 @@ fill_in_general (CertificateViewerData *cvm_data, ECert *cert)
gchar *markup;
/* issued to */
- label = glade_xml_get_widget (cvm_data->gui, "issued-to-cn");
+ label = e_builder_get_widget (cvm_data->builder, "issued-to-cn");
if (e_cert_get_cn (cert)) {
gtk_label_set_text (GTK_LABEL (label), e_cert_get_cn (cert));
}
@@ -75,7 +74,7 @@ fill_in_general (CertificateViewerData *cvm_data, ECert *cert)
gtk_label_set_markup (GTK_LABEL (label), NOT_PART_OF_CERT_MARKUP);
}
- label = glade_xml_get_widget (cvm_data->gui, "issued-to-o");
+ label = e_builder_get_widget (cvm_data->builder, "issued-to-o");
if (e_cert_get_org (cert)) {
gtk_label_set_text (GTK_LABEL (label), e_cert_get_org (cert));
}
@@ -83,7 +82,7 @@ fill_in_general (CertificateViewerData *cvm_data, ECert *cert)
gtk_label_set_markup (GTK_LABEL (label), NOT_PART_OF_CERT_MARKUP);
}
- label = glade_xml_get_widget (cvm_data->gui, "issued-to-ou");
+ label = e_builder_get_widget (cvm_data->builder, "issued-to-ou");
if (e_cert_get_org_unit (cert)) {
gtk_label_set_text (GTK_LABEL (label), e_cert_get_org_unit (cert));
}
@@ -92,11 +91,11 @@ fill_in_general (CertificateViewerData *cvm_data, ECert *cert)
}
text = e_cert_get_serial_number (cert);
- label = glade_xml_get_widget (cvm_data->gui, "issued-to-serial");
+ label = e_builder_get_widget (cvm_data->builder, "issued-to-serial");
gtk_label_set_text (GTK_LABEL (label), text);
/* issued by */
- label = glade_xml_get_widget (cvm_data->gui, "issued-by-cn");
+ label = e_builder_get_widget (cvm_data->builder, "issued-by-cn");
if (e_cert_get_issuer_cn (cert)) {
gtk_label_set_text (GTK_LABEL (label), e_cert_get_issuer_cn (cert));
}
@@ -104,7 +103,7 @@ fill_in_general (CertificateViewerData *cvm_data, ECert *cert)
gtk_label_set_markup (GTK_LABEL (label), NOT_PART_OF_CERT_MARKUP);
}
- label = glade_xml_get_widget (cvm_data->gui, "issued-by-o");
+ label = e_builder_get_widget (cvm_data->builder, "issued-by-o");
if (e_cert_get_issuer_org (cert)) {
gtk_label_set_text (GTK_LABEL (label), e_cert_get_issuer_org (cert));
}
@@ -112,7 +111,7 @@ fill_in_general (CertificateViewerData *cvm_data, ECert *cert)
gtk_label_set_markup (GTK_LABEL (label), NOT_PART_OF_CERT_MARKUP);
}
- label = glade_xml_get_widget (cvm_data->gui, "issued-by-ou");
+ label = e_builder_get_widget (cvm_data->builder, "issued-by-ou");
if (e_cert_get_issuer_org_unit (cert)) {
gtk_label_set_text (GTK_LABEL (label), e_cert_get_issuer_org_unit (cert));
}
@@ -121,7 +120,7 @@ fill_in_general (CertificateViewerData *cvm_data, ECert *cert)
}
/* validity */
- label = glade_xml_get_widget (cvm_data->gui, "validity-issued-on");
+ label = e_builder_get_widget (cvm_data->builder, "validity-issued-on");
if (e_cert_get_issued_on (cert)) {
gtk_label_set_text (GTK_LABEL (label), e_cert_get_issued_on (cert));
}
@@ -129,7 +128,7 @@ fill_in_general (CertificateViewerData *cvm_data, ECert *cert)
gtk_label_set_markup (GTK_LABEL (label), NOT_PART_OF_CERT_MARKUP);
}
- label = glade_xml_get_widget (cvm_data->gui, "validity-expires-on");
+ label = e_builder_get_widget (cvm_data->builder, "validity-expires-on");
if (e_cert_get_expires_on (cert)) {
gtk_label_set_text (GTK_LABEL (label), e_cert_get_expires_on (cert));
}
@@ -139,12 +138,12 @@ fill_in_general (CertificateViewerData *cvm_data, ECert *cert)
/* fingerprints */
markup = g_strdup_printf ("<tt>%s</tt>", e_cert_get_sha1_fingerprint (cert));
- label = glade_xml_get_widget (cvm_data->gui, "fingerprints-sha1");
+ label = e_builder_get_widget (cvm_data->builder, "fingerprints-sha1");
gtk_label_set_markup (GTK_LABEL (label), markup);
g_free (markup);
markup = g_strdup_printf ("<tt>%s</tt>", e_cert_get_md5_fingerprint (cert));
- label = glade_xml_get_widget (cvm_data->gui, "fingerprints-md5");
+ label = e_builder_get_widget (cvm_data->builder, "fingerprints-md5");
gtk_label_set_markup (GTK_LABEL (label), markup);
g_free (markup);
}
@@ -259,7 +258,7 @@ fill_in_details (CertificateViewerData *cvm_data, ECert *cert)
/* hook up all the hierarchy tree foo */
cvm_data->hierarchy_store = gtk_tree_store_new (2, G_TYPE_STRING, G_TYPE_OBJECT);
- cvm_data->hierarchy_tree = glade_xml_get_widget (cvm_data->gui, "cert-hierarchy-treeview");
+ cvm_data->hierarchy_tree = e_builder_get_widget (cvm_data->builder, "cert-hierarchy-treeview");
gtk_tree_view_set_model (GTK_TREE_VIEW (cvm_data->hierarchy_tree),
GTK_TREE_MODEL (cvm_data->hierarchy_store));
@@ -271,7 +270,7 @@ fill_in_details (CertificateViewerData *cvm_data, ECert *cert)
g_signal_connect (selection, "changed", G_CALLBACK (hierarchy_selection_changed), cvm_data);
/* hook up all the fields tree foo */
- cvm_data->fields_tree = glade_xml_get_widget (cvm_data->gui, "cert-fields-treeview");
+ cvm_data->fields_tree = e_builder_get_widget (cvm_data->builder, "cert-fields-treeview");
gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (cvm_data->fields_tree),
-1, "Field", gtk_cell_renderer_text_new(),
@@ -281,7 +280,7 @@ fill_in_details (CertificateViewerData *cvm_data, ECert *cert)
g_signal_connect (selection, "changed", G_CALLBACK (fields_selection_changed), cvm_data);
/* hook up all the field display foo */
- cvm_data->field_text = glade_xml_get_widget (cvm_data->gui, "cert-field-value-textview");
+ cvm_data->field_text = e_builder_get_widget (cvm_data->builder, "cert-field-value-textview");
/* set the font of the field value viewer to be some fixed
width font to the hex display doesn't look like ass. */
@@ -319,17 +318,13 @@ certificate_viewer_show (ECert *cert)
{
CertificateViewerData *cvm_data;
gchar *title;
- gchar *gladefile;
cvm_data = g_new0 (CertificateViewerData, 1);
- gladefile = g_build_filename (EVOLUTION_UIDIR,
- GLADE_FILE_NAME,
- NULL);
- cvm_data->gui = glade_xml_new (gladefile, NULL, NULL);
- g_free (gladefile);
+ cvm_data->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (cvm_data->builder, "smime-ui.ui");
- cvm_data->dialog = glade_xml_get_widget (cvm_data->gui, "certificate-viewer-dialog");
+ cvm_data->dialog = e_builder_get_widget (cvm_data->builder, "certificate-viewer-dialog");
gtk_widget_realize (cvm_data->dialog);
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (cvm_data->dialog)->action_area), 12);
diff --git a/smime/gui/e-cert-selector.c b/smime/gui/e-cert-selector.c
index 5676244..5d500f5 100644
--- a/smime/gui/e-cert-selector.c
+++ b/smime/gui/e-cert-selector.c
@@ -34,6 +34,7 @@
#include "e-cert-selector.h"
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
struct _ECertSelectorPrivate {
@@ -146,24 +147,20 @@ e_cert_selector_new(gint type, const gchar *currentid)
SECCertUsage usage;
CERTCertList *certlist;
CERTCertListNode *node;
- GladeXML *gui;
+ GtkBuilder *builder;
GtkWidget *w;
gint n=0, active=0;
- gchar *gladefile;
ecs = g_object_new(e_cert_selector_get_type(), NULL);
p = ecs->priv;
- gladefile = g_build_filename(EVOLUTION_UIDIR,
- "smime-ui.glade",
- NULL);
- gui = glade_xml_new(gladefile, "cert_selector_vbox", NULL);
- g_free (gladefile);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "smime-ui.ui");
- p->combobox = glade_xml_get_widget(gui, "cert_combobox");
- p->description = glade_xml_get_widget(gui, "cert_description");
+ p->combobox = e_builder_get_widget(builder, "cert_combobox");
+ p->description = e_builder_get_widget(builder, "cert_description");
- w = glade_xml_get_widget(gui, "cert_selector_vbox");
+ w = e_builder_get_widget(builder, "cert_selector_vbox");
gtk_box_pack_start((GtkBox *)((GtkDialog *)ecs)->vbox, w, TRUE, TRUE, 3);
gtk_window_set_title(GTK_WINDOW(ecs), _("Select certificate"));
@@ -203,7 +200,7 @@ e_cert_selector_new(gint type, const gchar *currentid)
g_signal_connect (p->combobox, "changed", G_CALLBACK(ecs_cert_changed), ecs);
- g_object_unref(gui);
+ g_object_unref(builder);
ecs_cert_changed(p->combobox, ecs);
diff --git a/widgets/e-timezone-dialog/e-timezone-dialog.c b/widgets/e-timezone-dialog/e-timezone-dialog.c
index 3ed9628..a7ea43d 100644
--- a/widgets/e-timezone-dialog/e-timezone-dialog.c
+++ b/widgets/e-timezone-dialog/e-timezone-dialog.c
@@ -31,6 +31,7 @@
#include <libecal/e-cal-time-util.h>
#include <libecal/e-cal-system-timezone.h>
+#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
#include "e-timezone-dialog.h"
@@ -57,8 +58,7 @@ struct _ETimezoneDialogPrivate {
the displayed name is ""). */
icaltimezone *zone;
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
EMapPoint *point_selected;
EMapPoint *point_hover;
@@ -68,7 +68,7 @@ struct _ETimezoneDialogPrivate {
/* The timeout used to flash the nearest point. */
guint timeout_id;
- /* Widgets from the Glade file */
+ /* Widgets from the UI file */
GtkWidget *app;
GtkWidget *table;
GtkWidget *map_window;
@@ -160,9 +160,9 @@ e_timezone_dialog_dispose (GObject *object)
priv->timeout_id = 0;
}
- if (priv->xml) {
- g_object_unref (priv->xml);
- priv->xml = NULL;
+ if (priv->builder) {
+ g_object_unref (priv->builder);
+ priv->builder = NULL;
}
(* G_OBJECT_CLASS (e_timezone_dialog_parent_class)->dispose) (object);
@@ -260,7 +260,6 @@ e_timezone_dialog_construct (ETimezoneDialog *etd)
{
ETimezoneDialogPrivate *priv;
GtkWidget *map;
- gchar *filename;
g_return_val_if_fail (etd != NULL, NULL);
g_return_val_if_fail (E_IS_TIMEZONE_DIALOG (etd), NULL);
@@ -269,16 +268,8 @@ e_timezone_dialog_construct (ETimezoneDialog *etd)
/* Load the content widgets */
- filename = g_build_filename (EVOLUTION_UIDIR,
- "e-timezone-dialog.glade",
- NULL);
- priv->xml = glade_xml_new (filename, NULL, NULL);
- g_free (filename);
-
- if (!priv->xml) {
- g_message ("e_timezone_dialog_construct(): Could not load the Glade XML file!");
- goto error;
- }
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "e-timezone-dialog.ui");
if (!get_widgets (etd)) {
g_message ("e_timezone_dialog_construct(): Could not find all widgets in the XML file!");
@@ -363,16 +354,16 @@ static gboolean
get_widgets (ETimezoneDialog *etd)
{
ETimezoneDialogPrivate *priv;
+ GtkBuilder *builder;
priv = etd->priv;
+ builder = etd->priv->builder;
-#define GW(name) glade_xml_get_widget (priv->xml, name)
-
- priv->app = GW ("timezone-dialog");
- priv->map_window = GW ("map-window");
- priv->timezone_combo = GW ("timezone-combo");
- priv->table = GW ("timezone-table");
- priv->preview_label = GW ("preview-label");
+ priv->app = e_builder_get_widget (builder, "timezone-dialog");
+ priv->map_window = e_builder_get_widget (builder, "map-window");
+ priv->timezone_combo = e_builder_get_widget (builder, "timezone-combo");
+ priv->table = e_builder_get_widget (builder, "timezone-table");
+ priv->preview_label = e_builder_get_widget (builder, "preview-label");
return (priv->app
&& priv->map_window
diff --git a/widgets/menus/gal-define-views-dialog.c b/widgets/menus/gal-define-views-dialog.c
index c217a10..ade534b 100644
--- a/widgets/menus/gal-define-views-dialog.c
+++ b/widgets/menus/gal-define-views-dialog.c
@@ -186,7 +186,7 @@ gdvd_button_copy_callback(GtkWidget *widget, GalDefineViewsDialog *dialog)
GtkWidget *scrolled;
ETable *etable;
- scrolled = glade_xml_get_widget(dialog->gui, "custom-table");
+ scrolled = e_builder_get_widget(dialog->builder, "custom-table");
etable = e_table_scrolled_get_table(E_TABLE_SCROLLED(scrolled));
row = e_table_get_cursor_row (E_TABLE(etable));
@@ -210,10 +210,10 @@ gdvd_cursor_changed_callback (GtkWidget *widget, GalDefineViewsDialog *dialog)
&iter)) {
gtk_tree_model_get (dialog->model, &iter, COL_GALVIEW_DATA, &item, -1);
- button = glade_xml_get_widget (dialog->gui, "button-delete");
+ button = e_builder_get_widget (dialog->builder, "button-delete");
gtk_widget_set_sensitive (GTK_WIDGET (button), !item->built_in);
- button = glade_xml_get_widget (dialog->gui, "button-modify");
+ button = e_builder_get_widget (dialog->builder, "button-modify");
gtk_widget_set_sensitive (GTK_WIDGET (button), !item->built_in);
}
}
@@ -223,7 +223,7 @@ gdvd_connect_signal(GalDefineViewsDialog *dialog, const gchar *widget_name, cons
{
GtkWidget *widget;
- widget = glade_xml_get_widget (dialog->gui, widget_name);
+ widget = e_builder_get_widget (dialog->builder, widget_name);
if (widget)
g_signal_connect (widget, signal, handler, dialog);
@@ -238,20 +238,14 @@ dialog_response (GalDefineViewsDialog *dialog, gint response_id, gpointer data)
static void
gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
{
- GladeXML *gui;
GtkWidget *widget;
- gchar *filename = g_build_filename (EVOLUTION_UIDIR,
- "gal-define-views.glade",
- NULL);
-
dialog->collection = NULL;
- gui = glade_xml_new (filename, NULL, GETTEXT_PACKAGE);
- g_free (filename);
- dialog->gui = gui;
+ dialog->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (dialog->builder, "gal-define-views.ui");
- widget = glade_xml_get_widget (gui, "table-top");
+ widget = e_builder_get_widget (dialog->builder, "table-top");
if (!widget) {
return;
}
@@ -268,7 +262,7 @@ gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
NULL);
- dialog->treeview = GTK_TREE_VIEW (glade_xml_get_widget (dialog->gui, "treeview1"));
+ dialog->treeview = GTK_TREE_VIEW (e_builder_get_widget (dialog->builder, "treeview1"));
gtk_tree_view_set_reorderable (GTK_TREE_VIEW (dialog->treeview), FALSE);
gtk_tree_view_set_headers_visible (dialog->treeview, TRUE);
@@ -291,9 +285,9 @@ gal_define_views_dialog_dispose (GObject *object)
{
GalDefineViewsDialog *gal_define_views_dialog = GAL_DEFINE_VIEWS_DIALOG(object);
- if (gal_define_views_dialog->gui)
- g_object_unref(gal_define_views_dialog->gui);
- gal_define_views_dialog->gui = NULL;
+ if (gal_define_views_dialog->builder)
+ g_object_unref(gal_define_views_dialog->builder);
+ gal_define_views_dialog->builder = NULL;
if (G_OBJECT_CLASS (gal_define_views_dialog_parent_class)->dispose)
(* G_OBJECT_CLASS (gal_define_views_dialog_parent_class)->dispose) (object);
@@ -349,8 +343,8 @@ gal_define_views_dialog_set_collection(GalDefineViewsDialog *dialog,
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (dialog->model),
COL_GALVIEW_NAME, GTK_SORT_ASCENDING);
- if (dialog->gui) {
- GtkWidget *widget = glade_xml_get_widget(dialog->gui, "label-views");
+ if (dialog->builder) {
+ GtkWidget *widget = e_builder_get_widget(dialog->builder, "label-views");
if (widget && GTK_IS_LABEL (widget)) {
if (collection->title) {
gchar *text = g_strdup_printf (_("Define Views for %s"),
diff --git a/widgets/menus/gal-define-views-dialog.h b/widgets/menus/gal-define-views-dialog.h
index d6f618e..c4b79a7 100644
--- a/widgets/menus/gal-define-views-dialog.h
+++ b/widgets/menus/gal-define-views-dialog.h
@@ -51,7 +51,7 @@ struct _GalDefineViewsDialog
GtkDialog parent;
/* item specific fields */
- GladeXML *gui;
+ GtkBuilder *builder;
GtkTreeView *treeview;
GtkTreeModel *model;
diff --git a/widgets/menus/gal-view-instance-save-as-dialog.c b/widgets/menus/gal-view-instance-save-as-dialog.c
index 9ad2654..37d903c 100644
--- a/widgets/menus/gal-view-instance-save-as-dialog.c
+++ b/widgets/menus/gal-view-instance-save-as-dialog.c
@@ -198,9 +198,9 @@ gal_view_instance_save_as_dialog_dispose (GObject *object)
{
GalViewInstanceSaveAsDialog *gal_view_instance_save_as_dialog = GAL_VIEW_INSTANCE_SAVE_AS_DIALOG (object);
- if (gal_view_instance_save_as_dialog->gui)
- g_object_unref (gal_view_instance_save_as_dialog->gui);
- gal_view_instance_save_as_dialog->gui = NULL;
+ if (gal_view_instance_save_as_dialog->builder)
+ g_object_unref (gal_view_instance_save_as_dialog->builder);
+ gal_view_instance_save_as_dialog->builder = NULL;
if (G_OBJECT_CLASS (gal_view_instance_save_as_dialog_parent_class)->dispose)
(* G_OBJECT_CLASS (gal_view_instance_save_as_dialog_parent_class)->dispose) (object);
@@ -229,22 +229,17 @@ gal_view_instance_save_as_dialog_class_init (GalViewInstanceSaveAsDialogClass *k
static void
gal_view_instance_save_as_dialog_init (GalViewInstanceSaveAsDialog *dialog)
{
- GladeXML *gui;
GtkWidget *widget;
- gchar *filename = g_build_filename (EVOLUTION_UIDIR,
- "gal-view-instance-save-as-dialog.glade",
- NULL);
-
dialog->instance = NULL;
dialog->model = NULL;
dialog->collection = NULL;
- gui = glade_xml_new_with_domain (filename , NULL, GETTEXT_PACKAGE);
- g_free (filename);
- dialog->gui = gui;
+ dialog->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (
+ dialog->builder, "gal-view-instance-save-as-dialog.ui");
- widget = glade_xml_get_widget (gui, "vbox-top");
+ widget = e_builder_get_widget (dialog->builder, "vbox-top");
if (!widget) {
return;
}
@@ -262,11 +257,11 @@ gal_view_instance_save_as_dialog_init (GalViewInstanceSaveAsDialog *dialog)
GTK_STOCK_OK, GTK_RESPONSE_OK,
NULL);
- dialog->scrolledwindow = glade_xml_get_widget (dialog->gui, "scrolledwindow2");
- dialog->treeview = GTK_TREE_VIEW (glade_xml_get_widget (dialog->gui, "custom-replace"));
- dialog->entry_create = glade_xml_get_widget (dialog->gui, "entry-create");
- dialog->radiobutton_replace = glade_xml_get_widget (dialog->gui, "radiobutton-replace");
- dialog->radiobutton_create = glade_xml_get_widget (dialog->gui, "radiobutton-create");
+ dialog->scrolledwindow = e_builder_get_widget (dialog->builder, "scrolledwindow2");
+ dialog->treeview = GTK_TREE_VIEW (e_builder_get_widget (dialog->builder, "custom-replace"));
+ dialog->entry_create = e_builder_get_widget (dialog->builder, "entry-create");
+ dialog->radiobutton_replace = e_builder_get_widget (dialog->builder, "radiobutton-replace");
+ dialog->radiobutton_create = e_builder_get_widget (dialog->builder, "radiobutton-create");
gtk_tree_view_set_reorderable (GTK_TREE_VIEW (dialog->treeview), FALSE);
gtk_tree_view_set_headers_visible (dialog->treeview, FALSE);
diff --git a/widgets/menus/gal-view-instance-save-as-dialog.h b/widgets/menus/gal-view-instance-save-as-dialog.h
index 78ed07e..0f43666 100644
--- a/widgets/menus/gal-view-instance-save-as-dialog.h
+++ b/widgets/menus/gal-view-instance-save-as-dialog.h
@@ -56,7 +56,7 @@ struct _GalViewInstanceSaveAsDialog
GtkDialog parent;
/* item specific fields */
- GladeXML *gui;
+ GtkBuilder *builder;
GtkTreeView *treeview;
GtkTreeModel *model;
diff --git a/widgets/menus/gal-view-new-dialog.c b/widgets/menus/gal-view-new-dialog.c
index ed1a168..328cc5e 100644
--- a/widgets/menus/gal-view-new-dialog.c
+++ b/widgets/menus/gal-view-new-dialog.c
@@ -74,17 +74,13 @@ gal_view_new_dialog_class_init (GalViewNewDialogClass *klass)
static void
gal_view_new_dialog_init (GalViewNewDialog *dialog)
{
- GladeXML *gui;
GtkWidget *widget;
- gchar *filename = g_build_filename (EVOLUTION_UIDIR,
- "gal-view-new-dialog.glade",
- NULL);
- gui = glade_xml_new (filename, NULL, GETTEXT_PACKAGE);
- g_free (filename);
- dialog->gui = gui;
+ dialog->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (
+ dialog->builder, "gal-view-new-dialog.ui");
- widget = glade_xml_get_widget (gui, "table-top");
+ widget = e_builder_get_widget (dialog->builder, "table-top");
if (!widget) {
return;
}
@@ -111,9 +107,9 @@ gal_view_new_dialog_dispose (GObject *object)
{
GalViewNewDialog *gal_view_new_dialog = GAL_VIEW_NEW_DIALOG(object);
- if (gal_view_new_dialog->gui)
- g_object_unref(gal_view_new_dialog->gui);
- gal_view_new_dialog->gui = NULL;
+ if (gal_view_new_dialog->builder)
+ g_object_unref(gal_view_new_dialog->builder);
+ gal_view_new_dialog->builder = NULL;
if (G_OBJECT_CLASS (gal_view_new_dialog_parent_class)->dispose)
(* G_OBJECT_CLASS (gal_view_new_dialog_parent_class)->dispose) (object);
@@ -191,8 +187,8 @@ gal_view_new_dialog_construct (GalViewNewDialog *dialog,
GtkCellRenderer *rend;
dialog->collection = collection;
- dialog->list = glade_xml_get_widget(dialog->gui,"list-type-list");
- dialog->entry = glade_xml_get_widget(dialog->gui, "entry-name");
+ dialog->list = e_builder_get_widget(dialog->builder,"list-type-list");
+ dialog->entry = e_builder_get_widget(dialog->builder, "entry-name");
dialog->list_store = gtk_list_store_new (2,
G_TYPE_STRING,
G_TYPE_POINTER);
@@ -243,7 +239,7 @@ gal_view_new_dialog_set_property (GObject *object, guint prop_id, const GValue *
switch (prop_id) {
case PROP_NAME:
- entry = glade_xml_get_widget(dialog->gui, "entry-name");
+ entry = e_builder_get_widget(dialog->builder, "entry-name");
if (entry && GTK_IS_ENTRY(entry)) {
gtk_entry_set_text(GTK_ENTRY(entry), g_value_get_string (value));
}
@@ -264,7 +260,7 @@ gal_view_new_dialog_get_property (GObject *object, guint prop_id, GValue *value,
switch (prop_id) {
case PROP_NAME:
- entry = glade_xml_get_widget(dialog->gui, "entry-name");
+ entry = e_builder_get_widget(dialog->builder, "entry-name");
if (entry && GTK_IS_ENTRY(entry)) {
g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (entry)));
}
diff --git a/widgets/menus/gal-view-new-dialog.h b/widgets/menus/gal-view-new-dialog.h
index 5cd1bd6..6b7d2b0 100644
--- a/widgets/menus/gal-view-new-dialog.h
+++ b/widgets/menus/gal-view-new-dialog.h
@@ -50,7 +50,7 @@ struct _GalViewNewDialog
GtkDialog parent;
/* item specific fields */
- GladeXML *gui;
+ GtkBuilder *builder;
GalViewCollection *collection;
GalViewFactory *selected_factory;
diff --git a/widgets/misc/Makefile.am b/widgets/misc/Makefile.am
index 0eb3e50..641cff2 100644
--- a/widgets/misc/Makefile.am
+++ b/widgets/misc/Makefile.am
@@ -2,6 +2,8 @@ if OS_WIN32
WIN32_BOOTSTRAP_LIBS = $(top_builddir)/win32/libfilter.la
endif
+privsolib_LTLIBRARIES = libemiscwidgets.la
+
widgetsincludedir = $(privincludedir)/misc
if ENABLE_PILOT_CONDUITS
diff --git a/widgets/misc/e-send-options.c b/widgets/misc/e-send-options.c
index b2f0c5f..21125c6 100644
--- a/widgets/misc/e-send-options.c
+++ b/widgets/misc/e-send-options.c
@@ -37,8 +37,7 @@
#include "e-send-options.h"
struct _ESendOptionsDialogPrivate {
- /* Glade XML data */
- GladeXML *xml;
+ GtkBuilder *builder;
gboolean gopts_needed;
gboolean global;
@@ -402,48 +401,46 @@ static gboolean
get_widgets (ESendOptionsDialog *sod)
{
ESendOptionsDialogPrivate *priv;
+ GtkBuilder *builder;
priv = sod->priv;
+ builder = sod->priv->builder;
-#define GW(name) glade_xml_get_widget (priv->xml, name)
-
- priv->main = GW ("send-options-dialog");
+ priv->main = e_builder_get_widget (builder, "send-options-dialog");
if (!priv->main)
return FALSE;
- priv->priority = GW ("combo-priority");
- priv->status = GW ("status-tracking");
- priv->security = GW ("security-combo");
- priv->notebook = (GtkNotebook *)GW ("notebook");
- priv->reply_request = GW ("reply-request-button");
- priv->reply_convenient = GW ("reply-convinient");
- priv->reply_within = GW ("reply-within");
- priv->within_days = GW ("within-days");
- priv->delay_delivery = GW ("delay-delivery-button");
- priv->delay_until = GW ("until-date");
+ priv->priority = e_builder_get_widget (builder, "combo-priority");
+ priv->status = e_builder_get_widget (builder, "status-tracking");
+ priv->security = e_builder_get_widget (builder, "security-combo");
+ priv->notebook = (GtkNotebook *)e_builder_get_widget (builder, "notebook");
+ priv->reply_request = e_builder_get_widget (builder, "reply-request-button");
+ priv->reply_convenient = e_builder_get_widget (builder, "reply-convinient");
+ priv->reply_within = e_builder_get_widget (builder, "reply-within");
+ priv->within_days = e_builder_get_widget (builder, "within-days");
+ priv->delay_delivery = e_builder_get_widget (builder, "delay-delivery-button");
+ priv->delay_until = e_builder_get_widget (builder, "until-date");
gtk_widget_show (priv->delay_until);
- priv->expiration = GW ("expiration-button");
- priv->expire_after = GW ("expire-after");
- priv->create_sent = GW ("create-sent-button");
- priv->delivered = GW ("delivered");
- priv->delivered_opened = GW ("delivered-opened");
- priv->all_info = GW ("all-info");
- priv->autodelete = GW ("autodelete");
- priv->when_opened = GW ("open-combo");
- priv->when_declined = GW ("delete-combo");
- priv->when_accepted = GW ("accept-combo");
- priv->when_completed = GW ("complete-combo");
- priv->security_label = GW ("security-label");
- priv->gopts_label = GW ("gopts-label");
- priv->sopts_label = GW ("slabel");
- priv->priority_label = GW ("priority-label");
- priv->until_label = GW ("until-label");
- priv->opened_label = GW ("opened-label");
- priv->declined_label = GW ("declined-label");
- priv->accepted_label = GW ("accepted-label");
- priv->completed_label = GW ("completed-label");
-
-#undef GW
+ priv->expiration = e_builder_get_widget (builder, "expiration-button");
+ priv->expire_after = e_builder_get_widget (builder, "expire-after");
+ priv->create_sent = e_builder_get_widget (builder, "create-sent-button");
+ priv->delivered = e_builder_get_widget (builder, "delivered");
+ priv->delivered_opened = e_builder_get_widget (builder, "delivered-opened");
+ priv->all_info = e_builder_get_widget (builder, "all-info");
+ priv->autodelete = e_builder_get_widget (builder, "autodelete");
+ priv->when_opened = e_builder_get_widget (builder, "open-combo");
+ priv->when_declined = e_builder_get_widget (builder, "delete-combo");
+ priv->when_accepted = e_builder_get_widget (builder, "accept-combo");
+ priv->when_completed = e_builder_get_widget (builder, "complete-combo");
+ priv->security_label = e_builder_get_widget (builder, "security-label");
+ priv->gopts_label = e_builder_get_widget (builder, "gopts-label");
+ priv->sopts_label = e_builder_get_widget (builder, "slabel");
+ priv->priority_label = e_builder_get_widget (builder, "priority-label");
+ priv->until_label = e_builder_get_widget (builder, "until-label");
+ priv->opened_label = e_builder_get_widget (builder, "opened-label");
+ priv->declined_label = e_builder_get_widget (builder, "declined-label");
+ priv->accepted_label = e_builder_get_widget (builder, "accepted-label");
+ priv->completed_label = e_builder_get_widget (builder, "completed-label");
return (priv->priority
&& priv->security
@@ -596,7 +593,7 @@ static void e_send_options_cb (GtkDialog *dialog, gint state, gpointer func_data
case GTK_RESPONSE_CANCEL:
gtk_widget_hide (priv->main);
gtk_widget_destroy (priv->main);
- g_object_unref (priv->xml);
+ g_object_unref (priv->builder);
break;
case GTK_RESPONSE_HELP:
e_display_help (
@@ -613,25 +610,16 @@ e_sendoptions_dialog_run (ESendOptionsDialog *sod, GtkWidget *parent, Item_type
{
ESendOptionsDialogPrivate *priv;
GtkWidget *toplevel;
- gchar *filename;
g_return_val_if_fail (sod != NULL || E_IS_SENDOPTIONS_DIALOG (sod), FALSE);
priv = sod->priv;
- filename = g_build_filename (EVOLUTION_UIDIR,
- "e-send-options.glade",
- NULL);
- priv->xml = glade_xml_new (filename, NULL, NULL);
- g_free (filename);
-
- if (!priv->xml) {
- g_message ( G_STRLOC ": Could not load the Glade XML file ");
- return FALSE;
- }
+ priv->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (priv->builder, "e-send-options.ui");
if (!get_widgets(sod)) {
- g_object_unref (priv->xml);
+ g_object_unref (priv->builder);
g_message (G_STRLOC ": Could not get the Widgets \n");
return FALSE;
}
@@ -744,7 +732,7 @@ e_sendoptions_dialog_init (GObject *object)
sod->data->gopts->security = 0;
priv->gopts_needed = TRUE;
- priv->xml = NULL;
+ priv->builder = NULL;
priv->main = NULL;
priv->notebook = NULL;
diff --git a/widgets/table/e-table-config.c b/widgets/table/e-table-config.c
index 2a2730b..1887b4c 100644
--- a/widgets/table/e-table-config.c
+++ b/widgets/table/e-table-config.c
@@ -152,8 +152,6 @@ e_table_config_class_init (ETableConfigClass *klass)
/*_( */"XXX blurb" /*)*/,
E_TABLE_STATE_TYPE,
G_PARAM_READABLE));
-
- glade_init ();
}
static void
@@ -704,7 +702,7 @@ dialog_response (GtkWidget *dialog, gint response_id, ETableConfig *config)
}
/*
- * Invoked by the Glade auto-connect code
+ * Invoked by the GtkBuilder auto-connect code
*/
GtkWidget *e_table_proxy_gtk_combo_text_new (void);
GtkWidget *
@@ -736,22 +734,10 @@ e_table_proxy_gtk_combo_text_new (void)
return combo_box;
}
-#if 0
-static GtkWidget *
-configure_dialog (GladeXML *gui, const gchar *widget_name, ETableConfig *config)
-{
- GtkWidget *w;
-
- w = glade_xml_get_widget (gui, widget_name);
-
- return w;
-}
-#endif
-
static void
-connect_button (ETableConfig *config, GladeXML *gui, const gchar *widget_name, GCallback cback)
+connect_button (ETableConfig *config, GtkBuilder *builder, const gchar *widget_name, GCallback cback)
{
- GtkWidget *button = glade_xml_get_widget (gui, widget_name);
+ GtkWidget *button = e_builder_get_widget (builder, widget_name);
if (button) {
g_signal_connect (G_OBJECT (button), "clicked",
@@ -821,7 +807,7 @@ sort_ascending_toggled (GtkToggleButton *t, ETableConfigSortWidgets *sort)
}
static void
-configure_sort_dialog (ETableConfig *config, GladeXML *gui)
+configure_sort_dialog (ETableConfig *config, GtkBuilder *builder)
{
GSList *l;
gint i;
@@ -830,26 +816,26 @@ configure_sort_dialog (ETableConfig *config, GladeXML *gui)
gchar buffer [80];
snprintf (buffer, sizeof (buffer), "sort-combo-%d", i + 1);
- config->sort [i].combo = glade_xml_get_widget (gui, buffer);
+ config->sort [i].combo = e_builder_get_widget (builder, buffer);
gtk_widget_show (GTK_WIDGET (config->sort [i].combo));
configure_combo_box_add (
GTK_COMBO_BOX (config->sort[i].combo), "", "");
snprintf (buffer, sizeof (buffer), "frame-sort-%d", i + 1);
config->sort [i].frames =
- glade_xml_get_widget (gui, buffer);
+ e_builder_get_widget (builder, buffer);
snprintf (
buffer, sizeof (buffer),
"radiobutton-ascending-sort-%d", i+1);
- config->sort [i].radio_ascending = glade_xml_get_widget (
- gui, buffer);
+ config->sort [i].radio_ascending = e_builder_get_widget (
+ builder, buffer);
snprintf (
buffer, sizeof (buffer),
"radiobutton-descending-sort-%d", i+1);
- config->sort [i].radio_descending = glade_xml_get_widget (
- gui, buffer);
+ config->sort [i].radio_descending = e_builder_get_widget (
+ builder, buffer);
config->sort [i].e_table_config = config;
}
@@ -931,7 +917,7 @@ group_ascending_toggled (GtkToggleButton *t, ETableConfigSortWidgets *group)
}
static void
-configure_group_dialog (ETableConfig *config, GladeXML *gui)
+configure_group_dialog (ETableConfig *config, GtkBuilder *builder)
{
GSList *l;
gint i;
@@ -940,7 +926,7 @@ configure_group_dialog (ETableConfig *config, GladeXML *gui)
gchar buffer [80];
snprintf (buffer, sizeof (buffer), "group-combo-%d", i + 1);
- config->group [i].combo = glade_xml_get_widget (gui, buffer);
+ config->group [i].combo = e_builder_get_widget (builder, buffer);
gtk_widget_show (GTK_WIDGET (config->group [i].combo));
configure_combo_box_add (
@@ -948,25 +934,25 @@ configure_group_dialog (ETableConfig *config, GladeXML *gui)
snprintf (buffer, sizeof (buffer), "frame-group-%d", i + 1);
config->group [i].frames =
- glade_xml_get_widget (gui, buffer);
+ e_builder_get_widget (builder, buffer);
snprintf (
buffer, sizeof (buffer),
"radiobutton-ascending-group-%d", i+1);
- config->group [i].radio_ascending = glade_xml_get_widget (
- gui, buffer);
+ config->group [i].radio_ascending = e_builder_get_widget (
+ builder, buffer);
snprintf (
buffer, sizeof (buffer),
"radiobutton-descending-group-%d", i+1);
- config->group [i].radio_descending = glade_xml_get_widget (
- gui, buffer);
+ config->group [i].radio_descending = e_builder_get_widget (
+ builder, buffer);
snprintf (
buffer, sizeof (buffer),
"checkbutton-group-%d", i+1);
- config->group [i].view_check = glade_xml_get_widget (
- gui, buffer);
+ config->group [i].view_check = e_builder_get_widget (
+ builder, buffer);
config->group [i].e_table_config = config;
}
@@ -1164,28 +1150,28 @@ config_button_down (GtkWidget *widget, ETableConfig *config)
}
static void
-configure_fields_dialog (ETableConfig *config, GladeXML *gui)
+configure_fields_dialog (ETableConfig *config, GtkBuilder *builder)
{
GtkWidget *scrolled;
- scrolled = glade_xml_get_widget (gui, "custom-available");
+ scrolled = e_builder_get_widget (builder, "custom-available");
config->available = e_table_scrolled_get_table (E_TABLE_SCROLLED (scrolled));
g_object_get (config->available,
"model", &config->available_model,
NULL);
gtk_widget_show_all (scrolled);
- scrolled = glade_xml_get_widget (gui, "custom-shown");
+ scrolled = e_builder_get_widget (builder, "custom-shown");
config->shown = e_table_scrolled_get_table (E_TABLE_SCROLLED (scrolled));
g_object_get (config->shown,
"model", &config->shown_model,
NULL);
gtk_widget_show_all (scrolled);
- connect_button (config, gui, "button-add", G_CALLBACK (config_button_add));
- connect_button (config, gui, "button-remove", G_CALLBACK (config_button_remove));
- connect_button (config, gui, "button-up", G_CALLBACK (config_button_up));
- connect_button (config, gui, "button-down", G_CALLBACK (config_button_down));
+ connect_button (config, builder, "button-add", G_CALLBACK (config_button_add));
+ connect_button (config, builder, "button-remove", G_CALLBACK (config_button_remove));
+ connect_button (config, builder, "button-up", G_CALLBACK (config_button_up));
+ connect_button (config, builder, "button-down", G_CALLBACK (config_button_down));
setup_fields (config);
}
@@ -1193,53 +1179,49 @@ configure_fields_dialog (ETableConfig *config, GladeXML *gui)
static void
setup_gui (ETableConfig *config)
{
- GladeXML *gui;
+ GtkBuilder *builder;
gboolean can_group;
- gchar *filename;
create_global_store (config);
can_group = e_table_sort_info_get_can_group (config->state->sort_info);
- filename = g_build_filename (EVOLUTION_UIDIR,
- "e-table-config.glade",
- NULL);
- gui = glade_xml_new (filename, NULL, GETTEXT_PACKAGE);
- g_free (filename);
+ builder = gtk_builder_new ();
+ e_load_ui_builder_definition (builder, "e-table-config.ui");
g_object_unref (global_store);
- config->dialog_toplevel = glade_xml_get_widget (
- gui, "e-table-config");
+ config->dialog_toplevel = e_builder_get_widget (
+ builder, "e-table-config");
if (config->header)
gtk_window_set_title (GTK_WINDOW (config->dialog_toplevel), config->header);
- config->dialog_show_fields = glade_xml_get_widget (
- gui, "dialog-show-fields");
- config->dialog_group_by = glade_xml_get_widget (
- gui, "dialog-group-by");
- config->dialog_sort = glade_xml_get_widget (
- gui, "dialog-sort");
+ config->dialog_show_fields = e_builder_get_widget (
+ builder, "dialog-show-fields");
+ config->dialog_group_by = e_builder_get_widget (
+ builder, "dialog-group-by");
+ config->dialog_sort = e_builder_get_widget (
+ builder, "dialog-sort");
- config->sort_label = glade_xml_get_widget (
- gui, "label-sort");
- config->group_label = glade_xml_get_widget (
- gui, "label-group");
- config->fields_label = glade_xml_get_widget (
- gui, "label-fields");
+ config->sort_label = e_builder_get_widget (
+ builder, "label-sort");
+ config->group_label = e_builder_get_widget (
+ builder, "label-group");
+ config->fields_label = e_builder_get_widget (
+ builder, "label-fields");
- connect_button (config, gui, "button-sort", G_CALLBACK (config_button_sort));
- connect_button (config, gui, "button-group", G_CALLBACK (config_button_group));
- connect_button (config, gui, "button-fields", G_CALLBACK (config_button_fields));
+ connect_button (config, builder, "button-sort", G_CALLBACK (config_button_sort));
+ connect_button (config, builder, "button-group", G_CALLBACK (config_button_group));
+ connect_button (config, builder, "button-fields", G_CALLBACK (config_button_fields));
if (!can_group) {
GtkWidget *w;
- w = glade_xml_get_widget (gui, "button-group");
+ w = e_builder_get_widget (builder, "button-group");
if (w)
gtk_widget_hide (w);
- w = glade_xml_get_widget (gui, "label3");
+ w = e_builder_get_widget (builder, "label3");
if (w)
gtk_widget_hide (w);
@@ -1248,9 +1230,9 @@ setup_gui (ETableConfig *config)
gtk_widget_hide (w);
}
- configure_sort_dialog (config, gui);
- configure_group_dialog (config, gui);
- configure_fields_dialog (config, gui);
+ configure_sort_dialog (config, builder);
+ configure_group_dialog (config, builder);
+ configure_fields_dialog (config, builder);
g_object_weak_ref (G_OBJECT (config->dialog_toplevel),
dialog_destroyed, config);
@@ -1258,7 +1240,7 @@ setup_gui (ETableConfig *config)
g_signal_connect (config->dialog_toplevel, "response",
G_CALLBACK (dialog_response), config);
- g_object_unref (gui);
+ g_object_unref (builder);
}
static void
diff --git a/widgets/table/e-table-field-chooser.c b/widgets/table/e-table-field-chooser.c
index 16f695e..8784a66 100644
--- a/widgets/table/e-table-field-chooser.c
+++ b/widgets/table/e-table-field-chooser.c
@@ -53,8 +53,6 @@ e_table_field_chooser_class_init (ETableFieldChooserClass *klass)
object_class = (GObjectClass*) klass;
- glade_init();
-
object_class->set_property = e_table_field_chooser_set_property;
object_class->get_property = e_table_field_chooser_get_property;
object_class->dispose = e_table_field_chooser_dispose;
@@ -138,16 +136,13 @@ static void resize(GnomeCanvas *canvas, ETableFieldChooser *etfc)
static void
e_table_field_chooser_init (ETableFieldChooser *etfc)
{
- GladeXML *gui;
GtkWidget *widget;
- gchar *filename = g_build_filename (EVOLUTION_UIDIR,
- "e-table-field-chooser.glade",
- NULL);
- gui = glade_xml_new (filename, NULL, GETTEXT_PACKAGE);
- g_free (filename);
- etfc->gui = gui;
-
- widget = glade_xml_get_widget(gui, "vbox-top");
+
+ etfc->builder = gtk_builder_new ();
+ e_load_ui_builder_definition (
+ etfc->builder, "e-table-field-chooser.ui");
+
+ widget = e_builder_get_widget(etfc->builder, "vbox-top");
if (!widget) {
return;
}
@@ -156,7 +151,7 @@ e_table_field_chooser_init (ETableFieldChooser *etfc)
gtk_widget_push_colormap (gdk_rgb_get_colormap ());
- etfc->canvas = GNOME_CANVAS(glade_xml_get_widget(gui, "canvas-buttons"));
+ etfc->canvas = GNOME_CANVAS(e_builder_get_widget(etfc->builder, "canvas-buttons"));
etfc->rect = gnome_canvas_item_new(gnome_canvas_root( GNOME_CANVAS( etfc->canvas ) ),
gnome_canvas_rect_get_type(),
@@ -208,9 +203,9 @@ e_table_field_chooser_dispose (GObject *object)
g_object_unref (etfc->header);
etfc->header = NULL;
- if (etfc->gui)
- g_object_unref (etfc->gui);
- etfc->gui = NULL;
+ if (etfc->builder)
+ g_object_unref (etfc->builder);
+ etfc->builder = NULL;
if (G_OBJECT_CLASS (e_table_field_chooser_parent_class)->dispose)
(* G_OBJECT_CLASS (e_table_field_chooser_parent_class)->dispose) (object);
diff --git a/widgets/table/e-table-field-chooser.h b/widgets/table/e-table-field-chooser.h
index 3bb4ecf..ddbec47 100644
--- a/widgets/table/e-table-field-chooser.h
+++ b/widgets/table/e-table-field-chooser.h
@@ -51,7 +51,7 @@ struct _ETableFieldChooser
GtkVBox parent;
/* item specific fields */
- GladeXML *gui;
+ GtkBuilder *builder;
GnomeCanvas *canvas;
GnomeCanvasItem *item;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]