[evolution] Relax the EBinding API to reduce GObject casting.



commit 8962868ff902e58456c545478e62796029d1fe5c
Author: Matthew Barnes <mbarnes redhat com>
Date:   Tue Sep 1 21:12:44 2009 -0400

    Relax the EBinding API to reduce GObject casting.
    
    Also make it more fault-tolerant by warning about non-existent
    property names instead of just crashing.

 calendar/gui/dialogs/cal-prefs-dialog.c         |   94 ++++++++--------
 calendar/gui/dialogs/comp-editor-util.c         |    8 +-
 calendar/gui/dialogs/event-editor.c             |   12 +-
 calendar/gui/dialogs/recurrence-page.c          |    8 +-
 calendar/gui/dialogs/schedule-page.c            |   12 +-
 calendar/gui/dialogs/task-editor.c              |   12 +-
 calendar/gui/e-cal-list-view.c                  |   12 +-
 calendar/gui/e-cal-model-tasks.c                |    8 +-
 calendar/gui/e-cal-model.c                      |   12 +-
 calendar/gui/e-calendar-table.c                 |   12 +-
 calendar/gui/e-day-view.c                       |   40 ++++----
 calendar/gui/e-meeting-time-sel.c               |   24 ++--
 calendar/gui/e-memo-table.c                     |   12 +-
 calendar/gui/e-week-view.c                      |    8 +-
 composer/e-composer-header-table.c              |   24 ++---
 composer/e-composer-private.c                   |    8 +-
 e-util/e-binding.c                              |   45 ++++++--
 e-util/e-binding.h                              |   24 ++--
 mail/e-mail-attachment-bar.c                    |   24 ++--
 mail/e-mail-reader.c                            |   24 ++--
 mail/e-mail-search-bar.c                        |    4 +-
 modules/addressbook/autocompletion-config.c     |    4 +-
 modules/addressbook/e-book-shell-content.c      |    8 +-
 modules/addressbook/e-book-shell-view-actions.c |    8 +-
 modules/calendar/e-cal-shell-content.c          |    4 +-
 modules/calendar/e-cal-shell-settings.c         |   36 +++---
 modules/calendar/e-cal-shell-sidebar.c          |    8 +-
 modules/calendar/e-cal-shell-view-private.c     |    4 +-
 modules/calendar/e-memo-shell-content.c         |    8 +-
 modules/calendar/e-memo-shell-view-actions.c    |    8 +-
 modules/calendar/e-task-shell-content.c         |    8 +-
 modules/calendar/e-task-shell-view-actions.c    |    8 +-
 modules/calendar/e-task-shell-view-private.c    |    4 +-
 modules/mail/e-mail-shell-backend.c             |   12 +-
 modules/mail/e-mail-shell-content.c             |    8 +-
 modules/mail/e-mail-shell-sidebar.c             |    4 +-
 modules/mail/e-mail-shell-view-actions.c        |   40 ++++----
 modules/mail/em-composer-prefs.c                |   68 ++++++------
 modules/mail/em-mailer-prefs.c                  |  128 +++++++++++-----------
 plugins/mail-notification/mail-notification.c   |    8 +-
 shell/e-shell-content.c                         |   24 ++--
 shell/e-shell-window-actions.c                  |   24 ++--
 shell/e-shell-window-private.c                  |   40 ++++----
 widgets/misc/e-account-manager.c                |    4 +-
 widgets/misc/e-attachment-button.c              |   16 ++--
 widgets/misc/e-attachment-paned.c               |   28 +++---
 widgets/misc/e-attachment-view.c                |    4 +-
 widgets/misc/e-signature-manager.c              |    8 +-
 48 files changed, 484 insertions(+), 467 deletions(-)
---
diff --git a/calendar/gui/dialogs/cal-prefs-dialog.c b/calendar/gui/dialogs/cal-prefs-dialog.c
index 6fccf0c..d9bf73d 100644
--- a/calendar/gui/dialogs/cal-prefs-dialog.c
+++ b/calendar/gui/dialogs/cal-prefs-dialog.c
@@ -615,19 +615,19 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
 
 	widget = glade_xml_get_widget (gui, "use-system-tz-check");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-use-system-timezone",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-use-system-timezone",
+		widget, "active");
 	g_signal_connect (
-		G_OBJECT (shell_settings), "notify::cal-use-system-timezone",
+		shell_settings, "notify::cal-use-system-timezone",
 		G_CALLBACK (update_system_tz_widgets), prefs);
 
 	widget = glade_xml_get_widget (gui, "timezone");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-timezone",
-		G_OBJECT (widget), "timezone");
+		shell_settings, "cal-timezone",
+		widget, "timezone");
 	e_mutual_binding_new_with_negation (
-		G_OBJECT (shell_settings), "cal-use-system-timezone",
-		G_OBJECT (widget), "sensitive");
+		shell_settings, "cal-use-system-timezone",
+		widget, "sensitive");
 
 	/* General tab */
 	prefs->system_tz_label = glade_xml_get_widget (gui, "system-tz-label");
@@ -635,74 +635,74 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
 
 	widget = glade_xml_get_widget (gui, "sun_button");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-working-days-sunday",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-working-days-sunday",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "mon_button");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-working-days-monday",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-working-days-monday",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "tue_button");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-working-days-tuesday",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-working-days-tuesday",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "wed_button");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-working-days-wednesday",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-working-days-wednesday",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "thu_button");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-working-days-thursday",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-working-days-thursday",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "fri_button");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-working-days-friday",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-working-days-friday",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "sat_button");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-working-days-saturday",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-working-days-saturday",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "week_start_day");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-week-start-day",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-week-start-day",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "start_of_day");
 	prefs->start_of_day = widget;  /* XXX delete this */
 	if (locale_supports_12_hour_format)
 		e_binding_new (
-			G_OBJECT (shell_settings), "cal-use-24-hour-format",
-			G_OBJECT (widget), "use-24-hour-format");
+			shell_settings, "cal-use-24-hour-format",
+			widget, "use-24-hour-format");
 
 	widget = glade_xml_get_widget (gui, "end_of_day");
 	prefs->end_of_day = widget;  /* XXX delete this */
 	if (locale_supports_12_hour_format)
 		e_binding_new (
-			G_OBJECT (shell_settings), "cal-use-24-hour-format",
-			G_OBJECT (widget), "use-24-hour-format");
+			shell_settings, "cal-use-24-hour-format",
+			widget, "use-24-hour-format");
 
 	widget = glade_xml_get_widget (gui, "use_12_hour");
 	gtk_widget_set_sensitive (widget, locale_supports_12_hour_format);
 	e_mutual_binding_new_with_negation (
-		G_OBJECT (shell_settings), "cal-use-24-hour-format",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-use-24-hour-format",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "use_24_hour");
 	gtk_widget_set_sensitive (widget, locale_supports_12_hour_format);
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-use-24-hour-format",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-use-24-hour-format",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "confirm_delete");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-confirm-delete",
-		G_OBJECT (widget), "active");
+		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");
@@ -716,38 +716,38 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
 
 	widget = glade_xml_get_widget (gui, "show_end_times");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-show-event-end-times",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-show-event-end-times",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "compress_weekend");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-compress-weekend",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-compress-weekend",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "dnav_show_week_no");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-show-week-numbers",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-show-week-numbers",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "dview_show_week_no");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-day-view-show-week-numbers",
-		G_OBJECT (widget), "active");
+		shell_settings, "cal-day-view-show-week-numbers",
+		widget, "active");
 
 	prefs->month_scroll_by_week = glade_xml_get_widget (gui, "month_scroll_by_week");
 
 	widget = glade_xml_get_widget (gui, "tasks_due_today_color");
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "cal-tasks-color-due-today",
-		G_OBJECT (widget), "color",
+		shell_settings, "cal-tasks-color-due-today",
+		widget, "color",
 		e_binding_transform_string_to_color,
 		e_binding_transform_color_to_string,
 		(GDestroyNotify) NULL, NULL);
 
 	widget = glade_xml_get_widget (gui, "tasks_overdue_color");
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "cal-tasks-color-overdue",
-		G_OBJECT (widget), "color",
+		shell_settings, "cal-tasks-color-overdue",
+		widget, "color",
 		e_binding_transform_string_to_color,
 		e_binding_transform_color_to_string,
 		(GDestroyNotify) NULL, NULL);
@@ -763,8 +763,8 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
 	/* Free/Busy tab */
 	widget = glade_xml_get_widget (gui, "template_url");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-free-busy-template",
-		G_OBJECT (widget), "text");
+		shell_settings, "cal-free-busy-template",
+		widget, "text");
 	target = e_cal_config_target_new_prefs (ec, prefs->gconf);
 	e_config_set_target ((EConfig *)ec, (EConfigTarget *) target);
 	toplevel = e_config_create_widget ((EConfig *)ec);
diff --git a/calendar/gui/dialogs/comp-editor-util.c b/calendar/gui/dialogs/comp-editor-util.c
index 6fc05d4..07b7769 100644
--- a/calendar/gui/dialogs/comp-editor-util.c
+++ b/calendar/gui/dialogs/comp-editor-util.c
@@ -240,12 +240,12 @@ comp_editor_new_date_edit (EShellSettings *shell_settings,
 #endif
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-show-week-numbers",
-		G_OBJECT (dedit), "show-week-numbers");
+		shell_settings, "cal-show-week-numbers",
+		dedit, "show-week-numbers");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-week-start-day",
-		G_OBJECT (dedit), "week-start-day");
+		shell_settings, "cal-week-start-day",
+		dedit, "week-start-day");
 
 	return GTK_WIDGET (dedit);
 }
diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c
index 91c8799..5c01557 100644
--- a/calendar/gui/dialogs/event-editor.c
+++ b/calendar/gui/dialogs/event-editor.c
@@ -373,16 +373,16 @@ event_editor_constructed (GObject *object)
 	shell_settings = e_shell_get_shell_settings (shell);
 
 	e_binding_new (
-		G_OBJECT (object), "client",
-		G_OBJECT (priv->model), "client");
+		object, "client",
+		priv->model, "client");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-free-busy-template",
-		G_OBJECT (priv->model), "free-busy-template");
+		shell_settings, "cal-free-busy-template",
+		priv->model, "free-busy-template");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-timezone",
-		G_OBJECT (priv->model), "timezone");
+		shell_settings, "cal-timezone",
+		priv->model, "timezone");
 }
 
 static void
diff --git a/calendar/gui/dialogs/recurrence-page.c b/calendar/gui/dialogs/recurrence-page.c
index ca53a41..933924b 100644
--- a/calendar/gui/dialogs/recurrence-page.c
+++ b/calendar/gui/dialogs/recurrence-page.c
@@ -2269,12 +2269,12 @@ init_widgets (RecurrencePage *rpage)
 	ecal = E_CALENDAR (priv->preview_calendar);
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-show-week-numbers",
-		G_OBJECT (ecal->calitem), "show-week-numbers");
+		shell_settings, "cal-show-week-numbers",
+		ecal->calitem, "show-week-numbers");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-week-start-day",
-		G_OBJECT (ecal->calitem), "week-start-day");
+		shell_settings, "cal-week-start-day",
+		ecal->calitem, "week-start-day");
 
 	g_signal_connect((ecal->calitem), "date_range_changed",
 			    G_CALLBACK (preview_date_range_changed_cb),
diff --git a/calendar/gui/dialogs/schedule-page.c b/calendar/gui/dialogs/schedule-page.c
index 5a72770..a9a7afa 100644
--- a/calendar/gui/dialogs/schedule-page.c
+++ b/calendar/gui/dialogs/schedule-page.c
@@ -429,16 +429,16 @@ schedule_page_construct (SchedulePage *spage, EMeetingStore *ems)
 	gtk_box_pack_start (GTK_BOX (priv->main), GTK_WIDGET (priv->sel), TRUE, TRUE, 6);
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-show-week-numbers",
-		G_OBJECT (priv->sel), "show-week-numbers");
+		shell_settings, "cal-show-week-numbers",
+		priv->sel, "show-week-numbers");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-use-24-hour-format",
-		G_OBJECT (priv->sel), "use-24-hour-format");
+		shell_settings, "cal-use-24-hour-format",
+		priv->sel, "use-24-hour-format");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-week-start-day",
-		G_OBJECT (priv->sel), "week-start-day");
+		shell_settings, "cal-week-start-day",
+		priv->sel, "week-start-day");
 
 	if (!init_widgets (spage)) {
 		g_message ("schedule_page_construct(): "
diff --git a/calendar/gui/dialogs/task-editor.c b/calendar/gui/dialogs/task-editor.c
index edd5485..3de0f0b 100644
--- a/calendar/gui/dialogs/task-editor.c
+++ b/calendar/gui/dialogs/task-editor.c
@@ -212,16 +212,16 @@ task_editor_constructed (GObject *object)
 	shell_settings = e_shell_get_shell_settings (shell);
 
 	e_binding_new (
-		G_OBJECT (object), "client",
-		G_OBJECT (priv->model), "client");
+		object, "client",
+		priv->model, "client");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-free-busy-template",
-		G_OBJECT (priv->model), "free-busy-template");
+		shell_settings, "cal-free-busy-template",
+		priv->model, "free-busy-template");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-timezone",
-		G_OBJECT (priv->model), "timezone");
+		shell_settings, "cal-timezone",
+		priv->model, "timezone");
 }
 
 static void
diff --git a/calendar/gui/e-cal-list-view.c b/calendar/gui/e-cal-list-view.c
index 42e7f94..7d95e41 100644
--- a/calendar/gui/e-cal-list-view.c
+++ b/calendar/gui/e-cal-list-view.c
@@ -220,20 +220,20 @@ setup_e_table (ECalListView *cal_list_view)
 		      NULL);
 
 	e_mutual_binding_new (
-		G_OBJECT (model), "timezone",
-		G_OBJECT (cell), "timezone");
+		model, "timezone",
+		cell, "timezone");
 
 	e_mutual_binding_new (
-		G_OBJECT (model), "use-24-hour-format",
-		G_OBJECT (cell), "use-24-hour-format");
+		model, "use-24-hour-format",
+		cell, "use-24-hour-format");
 
 	popup_cell = e_cell_date_edit_new ();
 	e_cell_popup_set_child (E_CELL_POPUP (popup_cell), cell);
 	g_object_unref (cell);
 
 	e_mutual_binding_new (
-		G_OBJECT (model), "use-24-hour-format",
-		G_OBJECT (popup_cell), "use-24-hour-format");
+		model, "use-24-hour-format",
+		popup_cell, "use-24-hour-format");
 
 	e_table_extras_add_cell (extras, "dateedit", popup_cell);
 	cal_list_view->dates_cell = E_CELL_DATE_EDIT (popup_cell);
diff --git a/calendar/gui/e-cal-model-tasks.c b/calendar/gui/e-cal-model-tasks.c
index 74647e4..a563619 100644
--- a/calendar/gui/e-cal-model-tasks.c
+++ b/calendar/gui/e-cal-model-tasks.c
@@ -142,12 +142,12 @@ cal_model_tasks_constructed (GObject *object)
 	shell_settings = e_cal_model_get_shell_settings (model);
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-tasks-color-due-today",
-		G_OBJECT (model), "color-due-today");
+		shell_settings, "cal-tasks-color-due-today",
+		model, "color-due-today");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-tasks-color-overdue",
-		G_OBJECT (model), "color-overdue");
+		shell_settings, "cal-tasks-color-overdue",
+		model, "color-overdue");
 
 	/* Chain up to parent's constructed() method. */
 	G_OBJECT_CLASS (e_cal_model_tasks_parent_class)->constructed (object);
diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c
index c582b0f..9d78274 100644
--- a/calendar/gui/e-cal-model.c
+++ b/calendar/gui/e-cal-model.c
@@ -310,16 +310,16 @@ cal_model_constructed (GObject *object)
 	shell_settings = e_cal_model_get_shell_settings (model);
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-timezone",
-		G_OBJECT (model), "timezone");
+		shell_settings, "cal-timezone",
+		model, "timezone");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-use-24-hour-format",
-		G_OBJECT (model), "use-24-hour-format");
+		shell_settings, "cal-use-24-hour-format",
+		model, "use-24-hour-format");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-week-start-day",
-		G_OBJECT (model), "week-start-day");
+		shell_settings, "cal-week-start-day",
+		model, "week-start-day");
 }
 
 static void
diff --git a/calendar/gui/e-calendar-table.c b/calendar/gui/e-calendar-table.c
index 1122310..59abdd5 100644
--- a/calendar/gui/e-calendar-table.c
+++ b/calendar/gui/e-calendar-table.c
@@ -659,20 +659,20 @@ calendar_table_constructed (GObject *object)
 		      NULL);
 
 	e_mutual_binding_new (
-		G_OBJECT (model), "timezone",
-		G_OBJECT (cell), "timezone");
+		model, "timezone",
+		cell, "timezone");
 
 	e_mutual_binding_new (
-		G_OBJECT (model), "use-24-hour-format",
-		G_OBJECT (cell), "use-24-hour-format");
+		model, "use-24-hour-format",
+		cell, "use-24-hour-format");
 
 	popup_cell = e_cell_date_edit_new ();
 	e_cell_popup_set_child (E_CELL_POPUP (popup_cell), cell);
 	g_object_unref (cell);
 
 	e_mutual_binding_new (
-		G_OBJECT (model), "use-24-hour-format",
-		G_OBJECT (popup_cell), "use-24-hour-format");
+		model, "use-24-hour-format",
+		popup_cell, "use-24-hour-format");
 
 	e_table_extras_add_cell (extras, "dateedit", popup_cell);
 	cal_table->dates_cell = E_CELL_DATE_EDIT (popup_cell);
diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c
index cb69eec..8184cfb 100644
--- a/calendar/gui/e-day-view.c
+++ b/calendar/gui/e-day-view.c
@@ -607,44 +607,44 @@ day_view_constructed (GObject *object)
 	shell_settings = e_cal_model_get_shell_settings (model);
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-day-view-show-week-numbers",
-		G_OBJECT (day_view->week_number_label), "visible");
+		shell_settings, "cal-day-view-show-week-numbers",
+		day_view->week_number_label, "visible");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-marcus-bains-show-line",
-		G_OBJECT (day_view), "marcus-bains-show-line");
+		shell_settings, "cal-marcus-bains-show-line",
+		day_view, "marcus-bains-show-line");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-marcus-bains-day-view-color",
-		G_OBJECT (day_view), "marcus-bains-day-view-color");
+		shell_settings, "cal-marcus-bains-day-view-color",
+		day_view, "marcus-bains-day-view-color");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-marcus-bains-time-bar-color",
-		G_OBJECT (day_view), "marcus-bains-time-bar-color");
+		shell_settings, "cal-marcus-bains-time-bar-color",
+		day_view, "marcus-bains-time-bar-color");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-time-divisions",
-		G_OBJECT (day_view), "mins-per-row");
+		shell_settings, "cal-time-divisions",
+		day_view, "mins-per-row");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-work-day-end-hour",
-		G_OBJECT (day_view), "work-day-end-hour");
+		shell_settings, "cal-work-day-end-hour",
+		day_view, "work-day-end-hour");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-work-day-end-minute",
-		G_OBJECT (day_view), "work-day-end-minute");
+		shell_settings, "cal-work-day-end-minute",
+		day_view, "work-day-end-minute");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-work-day-start-hour",
-		G_OBJECT (day_view), "work-day-start-hour");
+		shell_settings, "cal-work-day-start-hour",
+		day_view, "work-day-start-hour");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-work-day-start-minute",
-		G_OBJECT (day_view), "work-day-start-minute");
+		shell_settings, "cal-work-day-start-minute",
+		day_view, "work-day-start-minute");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-working-days-bitset",
-		G_OBJECT (day_view), "working-days");
+		shell_settings, "cal-working-days-bitset",
+		day_view, "working-days");
 
 	g_signal_connect_swapped (
 		model, "notify::week-start-day",
diff --git a/calendar/gui/e-meeting-time-sel.c b/calendar/gui/e-meeting-time-sel.c
index ea6fca8..633af15 100644
--- a/calendar/gui/e-meeting-time-sel.c
+++ b/calendar/gui/e-meeting-time-sel.c
@@ -742,16 +742,16 @@ e_meeting_time_selector_construct (EMeetingTimeSelector * mts, EMeetingStore *em
 	e_date_edit_set_show_time (E_DATE_EDIT (mts->start_date_edit), TRUE);
 
 	e_binding_new (
-		G_OBJECT (mts), "show-week-numbers",
-		G_OBJECT (mts->start_date_edit), "show-week-numbers");
+		mts, "show-week-numbers",
+		mts->start_date_edit, "show-week-numbers");
 
 	e_binding_new (
-		G_OBJECT (mts), "use-24-hour-format",
-		G_OBJECT (mts->start_date_edit), "use-24-hour-format");
+		mts, "use-24-hour-format",
+		mts->start_date_edit, "use-24-hour-format");
 
 	e_binding_new (
-		G_OBJECT (mts), "week-start-day",
-		G_OBJECT (mts->start_date_edit), "week-start-day");
+		mts, "week-start-day",
+		mts->start_date_edit, "week-start-day");
 
 	gtk_table_attach (GTK_TABLE (table), mts->start_date_edit,
 			  1, 2, 0, 1, GTK_FILL, 0, 0, 0);
@@ -779,16 +779,16 @@ e_meeting_time_selector_construct (EMeetingTimeSelector * mts, EMeetingStore *em
 	e_date_edit_set_show_time (E_DATE_EDIT (mts->end_date_edit), TRUE);
 
 	e_binding_new (
-		G_OBJECT (mts), "show-week-numbers",
-		G_OBJECT (mts->end_date_edit), "show-week-numbers");
+		mts, "show-week-numbers",
+		mts->end_date_edit, "show-week-numbers");
 
 	e_binding_new (
-		G_OBJECT (mts), "use-24-hour-format",
-		G_OBJECT (mts->end_date_edit), "use-24-hour-format");
+		mts, "use-24-hour-format",
+		mts->end_date_edit, "use-24-hour-format");
 
 	e_binding_new (
-		G_OBJECT (mts), "week-start-day",
-		G_OBJECT (mts->end_date_edit), "week-start-day");
+		mts, "week-start-day",
+		mts->end_date_edit, "week-start-day");
 
 	gtk_table_attach (GTK_TABLE (table), mts->end_date_edit,
 			  1, 2, 1, 2, GTK_FILL, 0, 0, 0);
diff --git a/calendar/gui/e-memo-table.c b/calendar/gui/e-memo-table.c
index dddaa52..9a73680 100644
--- a/calendar/gui/e-memo-table.c
+++ b/calendar/gui/e-memo-table.c
@@ -569,20 +569,20 @@ memo_table_constructed (GObject *object)
 	g_object_set (cell, "bg_color_column", E_CAL_MODEL_FIELD_COLOR, NULL);
 
 	e_mutual_binding_new (
-		G_OBJECT (model), "timezone",
-		G_OBJECT (cell), "timezone");
+		model, "timezone",
+		cell, "timezone");
 
 	e_mutual_binding_new (
-		G_OBJECT (model), "use-24-hour-format",
-		G_OBJECT (cell), "use-24-hour-format");
+		model, "use-24-hour-format",
+		cell, "use-24-hour-format");
 
 	popup_cell = e_cell_date_edit_new ();
 	e_cell_popup_set_child (E_CELL_POPUP (popup_cell), cell);
 	g_object_unref (cell);
 
 	e_mutual_binding_new (
-		G_OBJECT (model), "use-24-hour-format",
-		G_OBJECT (popup_cell), "use-24-hour-format");
+		model, "use-24-hour-format",
+		popup_cell, "use-24-hour-format");
 
 	e_table_extras_add_cell (extras, "dateedit", popup_cell);
 	memo_table->dates_cell = E_CELL_DATE_EDIT (popup_cell);
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c
index d4043ff..fc9237e 100644
--- a/calendar/gui/e-week-view.c
+++ b/calendar/gui/e-week-view.c
@@ -311,12 +311,12 @@ week_view_constructed (GObject *object)
 	shell_settings = e_cal_model_get_shell_settings (model);
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-compress-weekend",
-		G_OBJECT (week_view), "compress-weekend");
+		shell_settings, "cal-compress-weekend",
+		week_view, "compress-weekend");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-show-event-end-times",
-		G_OBJECT (week_view), "show-event-end-times");
+		shell_settings, "cal-show-event-end-times",
+		week_view, "show-event-end-times");
 
 	g_signal_connect_swapped (
 		model, "notify::week-start-day",
diff --git a/composer/e-composer-header-table.c b/composer/e-composer-header-table.c
index 30e3d57..e7972e2 100644
--- a/composer/e-composer-header-table.c
+++ b/composer/e-composer-header-table.c
@@ -543,12 +543,12 @@ composer_header_table_constructor (GType type,
 		"right-attach", 2, NULL);
 
 	e_binding_new (
-		G_OBJECT (priv->headers[ii]->input_widget), "visible",
-		G_OBJECT (priv->signature_label), "visible");
+		priv->headers[ii]->input_widget, "visible",
+		priv->signature_label, "visible");
 
 	e_binding_new (
-		G_OBJECT (priv->headers[ii]->input_widget), "visible",
-		G_OBJECT (priv->signature_combo_box), "visible");
+		priv->headers[ii]->input_widget, "visible",
+		priv->signature_combo_box, "visible");
 
 	/* Now add the signature stuff. */
 	if (!composer_lite) {
@@ -998,17 +998,13 @@ composer_header_table_init (EComposerHeaderTable *table)
 	/* XXX EComposerHeader ought to do this itself, but I need to
 	 *     make the title_widget and input_widget members private. */
 	for (ii = 0; ii < E_COMPOSER_NUM_HEADERS; ii++) {
-		GObject *src_object;
-		GObject *dst_object;
-
 		header = table->priv->headers[ii];
-		src_object = G_OBJECT (header);
-
-		dst_object = G_OBJECT (header->title_widget);
-		e_binding_new (src_object, "visible", dst_object, "visible");
-
-		dst_object = G_OBJECT (header->input_widget);
-		e_binding_new (src_object, "visible", dst_object, "visible");
+		e_binding_new (
+			header, "visible",
+			header->title_widget, "visible");
+		e_binding_new (
+			header, "visible",
+			header->input_widget, "visible");
 	}
 }
 
diff --git a/composer/e-composer-private.c b/composer/e-composer-private.c
index bfb14b4..dfff72a 100644
--- a/composer/e-composer-private.c
+++ b/composer/e-composer-private.c
@@ -267,12 +267,12 @@ e_composer_private_init (EMsgComposer *composer)
 		}
 
 		e_mutual_binding_new (
-			G_OBJECT (header), "sensitive",
-			G_OBJECT (action), "sensitive");
+			header, "sensitive",
+			action, "sensitive");
 
 		e_mutual_binding_new (
-			G_OBJECT (header), "visible",
-			G_OBJECT (action), "active");
+			header, "visible",
+			action, "active");
 	}
 }
 
diff --git a/e-util/e-binding.c b/e-util/e-binding.c
index 9d4e83f..a2c37ff 100644
--- a/e-util/e-binding.c
+++ b/e-util/e-binding.c
@@ -25,6 +25,17 @@
 
 #include "e-binding.h"
 
+static gpointer
+e_binding_warn (GObject *object,
+                const gchar *property_name)
+{
+	g_warning (
+		"%s instances have no `%s' property to bind to",
+		G_OBJECT_TYPE_NAME (object), property_name);
+
+	return NULL;
+}
+
 static gboolean
 e_binding_transform_negate (const GValue *src_value,
                             GValue *dst_value)
@@ -211,9 +222,9 @@ e_binding_link_init (EBindingLink *link,
  *          removed if one of the objects is finalized.
  **/
 EBinding *
-e_binding_new (GObject *src_object,
+e_binding_new (gpointer src_object,
                const gchar *src_property,
-               GObject *dst_object,
+               gpointer dst_object,
                const gchar *dst_property)
 {
 	return e_binding_new_full (
@@ -243,9 +254,9 @@ e_binding_new (GObject *src_object,
  *          removed if one of the objects is finalized.
  **/
 EBinding *
-e_binding_new_full (GObject *src_object,
+e_binding_new_full (gpointer src_object,
                     const gchar *src_property,
-                    GObject *dst_object,
+                    gpointer dst_object,
                     const gchar *dst_property,
                     EBindingTransform transform,
                     GDestroyNotify destroy_notify,
@@ -263,6 +274,11 @@ e_binding_new_full (GObject *src_object,
 	dst_pspec = g_object_class_find_property (
 		G_OBJECT_GET_CLASS (dst_object), dst_property);
 
+	if (src_pspec == NULL)
+		return e_binding_warn (src_object, src_property);
+	if (dst_pspec == NULL)
+		return e_binding_warn (dst_object, dst_property);
+
 	if (transform == NULL)
 		transform = (EBindingTransform) g_value_transform;
 
@@ -298,9 +314,9 @@ e_binding_new_full (GObject *src_object,
  *         removed if one of the objects is finalized.
  **/
 EBinding *
-e_binding_new_with_negation (GObject *src_object,
+e_binding_new_with_negation (gpointer src_object,
                              const gchar *src_property,
-                             GObject *dst_object,
+                             gpointer dst_object,
                              const gchar *dst_property)
 {
 	EBindingTransform transform;
@@ -346,9 +362,9 @@ e_binding_unbind (EBinding *binding)
  *          removed if one of the objects is finalized.
  **/
 EMutualBinding *
-e_mutual_binding_new (GObject *object1,
+e_mutual_binding_new (gpointer object1,
                       const gchar *property1,
-                      GObject *object2,
+                      gpointer object2,
                       const gchar *property2)
 {
 	return e_mutual_binding_new_full (
@@ -382,9 +398,9 @@ e_mutual_binding_new (GObject *object1,
  *          removed if one of the objects is finalized.
  **/
 EMutualBinding *
-e_mutual_binding_new_full (GObject *object1,
+e_mutual_binding_new_full (gpointer object1,
                            const gchar *property1,
-                           GObject *object2,
+                           gpointer object2,
                            const gchar *property2,
                            EBindingTransform transform,
                            EBindingTransform reverse_transform,
@@ -403,6 +419,11 @@ e_mutual_binding_new_full (GObject *object1,
 	pspec2 = g_object_class_find_property (
 		G_OBJECT_GET_CLASS (object2), property2);
 
+	if (pspec1 == NULL)
+		return e_binding_warn (object1, property1);
+	if (pspec2 == NULL)
+		return e_binding_warn (object2, property2);
+
 	if (transform == NULL)
 		transform = (EBindingTransform) g_value_transform;
 
@@ -448,9 +469,9 @@ e_mutual_binding_new_full (GObject *object1,
  *          if one of the objects if finalized.
  **/
 EMutualBinding*
-e_mutual_binding_new_with_negation (GObject *object1,
+e_mutual_binding_new_with_negation (gpointer object1,
                                     const gchar *property1,
-                                    GObject *object2,
+                                    gpointer object2,
                                     const gchar *property2)
 {
 	EBindingTransform transform;
diff --git a/e-util/e-binding.h b/e-util/e-binding.h
index a36c94e..180edc9 100644
--- a/e-util/e-binding.h
+++ b/e-util/e-binding.h
@@ -66,39 +66,39 @@ struct _EMutualBinding {
 	EBindingLink  reverse;
 };
 
-EBinding *	e_binding_new			(GObject *src_object,
+EBinding *	e_binding_new			(gpointer src_object,
 						 const gchar *src_property,
-						 GObject *dst_object,
+						 gpointer dst_object,
 						 const gchar *dst_property);
-EBinding *	e_binding_new_full		(GObject *src_object,
+EBinding *	e_binding_new_full		(gpointer src_object,
 						 const gchar *src_property,
-						 GObject *dst_object,
+						 gpointer dst_object,
 						 const gchar *dst_property,
 						 EBindingTransform transform,
 						 GDestroyNotify destroy_notify,
 						 gpointer user_data);
-EBinding *	e_binding_new_with_negation	(GObject *src_object,
+EBinding *	e_binding_new_with_negation	(gpointer src_object,
 						 const gchar *src_property,
-						 GObject *dst_object,
+						 gpointer dst_object,
 						 const gchar *dst_property);
 void		e_binding_unbind		(EBinding *binding);
 
-EMutualBinding *e_mutual_binding_new		(GObject *object1,
+EMutualBinding *e_mutual_binding_new		(gpointer object1,
 						 const gchar *property1,
-						 GObject *object2,
+						 gpointer object2,
 						 const gchar *property2);
-EMutualBinding *e_mutual_binding_new_full	(GObject *object1,
+EMutualBinding *e_mutual_binding_new_full	(gpointer object1,
 						 const gchar *property1,
-						 GObject *object2,
+						 gpointer object2,
 						 const gchar *property2,
 						 EBindingTransform transform,
 						 EBindingTransform reverse_transform,
 						 GDestroyNotify destroy_notify,
 						 gpointer user_data);
 EMutualBinding *e_mutual_binding_new_with_negation
-						(GObject *object1,
+						(gpointer object1,
 						 const gchar *property1,
-						 GObject *object2,
+						 gpointer object2,
 						 const gchar *property2);
 void		e_mutual_binding_unbind		(EMutualBinding *binding);
 
diff --git a/mail/e-mail-attachment-bar.c b/mail/e-mail-attachment-bar.c
index fd53292..ae98aad 100644
--- a/mail/e-mail-attachment-bar.c
+++ b/mail/e-mail-attachment-bar.c
@@ -280,28 +280,28 @@ mail_attachment_bar_constructed (GObject *object)
 	/* Set up property-to-property bindings. */
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "active-view",
-		G_OBJECT (priv->combo_box), "active");
+		object, "active-view",
+		priv->combo_box, "active");
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "editable",
-		G_OBJECT (priv->icon_view), "editable");
+		object, "editable",
+		priv->icon_view, "editable");
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "editable",
-		G_OBJECT (priv->tree_view), "editable");
+		object, "editable",
+		priv->tree_view, "editable");
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "expanded",
-		G_OBJECT (priv->expander), "expanded");
+		object, "expanded",
+		priv->expander, "expanded");
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "expanded",
-		G_OBJECT (priv->combo_box), "visible");
+		object, "expanded",
+		priv->combo_box, "visible");
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "expanded",
-		G_OBJECT (priv->vbox), "visible");
+		object, "expanded",
+		priv->vbox, "visible");
 
 	/* Set up property-to-GConf bindings. */
 
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c
index 7937631..96ed8cf 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -2061,33 +2061,33 @@ e_mail_reader_init (EMailReader *reader)
 	/* Bind properties. */
 
 	e_binding_new_full (
-		G_OBJECT (shell_settings), "mail-citation-color",
-		G_OBJECT (html_display), "citation-color",
+		shell_settings, "mail-citation-color",
+		html_display, "citation-color",
 		e_binding_transform_string_to_color,
 		NULL, NULL);
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "mail-image-loading-policy",
-		G_OBJECT (html_display), "image-loading-policy");
+		shell_settings, "mail-image-loading-policy",
+		html_display, "image-loading-policy");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "mail-only-local-photos",
-		G_OBJECT (html_display), "only-local-photos");
+		shell_settings, "mail-only-local-photos",
+		html_display, "only-local-photos");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "mail-show-animated-images",
-		G_OBJECT (display), "animate");
+		shell_settings, "mail-show-animated-images",
+		display, "animate");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "mail-show-sender-photo",
-		G_OBJECT (html_display), "show-sender-photo");
+		shell_settings, "mail-show-sender-photo",
+		html_display, "show-sender-photo");
 
 	action_name = "mail-caret-mode";
 	action = e_mail_reader_get_action (reader, action_name);
 
 	e_mutual_binding_new (
-		G_OBJECT (action), "active",
-		G_OBJECT (display), "caret-mode");
+		action, "active",
+		display, "caret-mode");
 
 	/* Connect signals. */
 
diff --git a/mail/e-mail-search-bar.c b/mail/e-mail-search-bar.c
index 6dcddaf..d068eb1 100644
--- a/mail/e-mail-search-bar.c
+++ b/mail/e-mail-search-bar.c
@@ -356,8 +356,8 @@ mail_search_bar_constructed (GObject *object)
 	priv = E_MAIL_SEARCH_BAR_GET_PRIVATE (object);
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "case-sensitive",
-		G_OBJECT (priv->case_sensitive_button), "active");
+		object, "case-sensitive",
+		priv->case_sensitive_button, "active");
 }
 
 static void
diff --git a/modules/addressbook/autocompletion-config.c b/modules/addressbook/autocompletion-config.c
index eb0c802..7afc18d 100644
--- a/modules/addressbook/autocompletion-config.c
+++ b/modules/addressbook/autocompletion-config.c
@@ -164,8 +164,8 @@ autocompletion_config_new (EShell *shell)
 	widget = gtk_check_button_new_with_mnemonic (
 		_("Always _show address of the autocompleted contact"));
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "book-completion-show-address",
-		G_OBJECT (widget), "active");
+		shell_settings, "book-completion-show-address",
+		widget, "active");
 	gtk_box_pack_start (GTK_BOX (itembox), widget, FALSE, FALSE, 0);
 	gtk_widget_show (widget);
 
diff --git a/modules/addressbook/e-book-shell-content.c b/modules/addressbook/e-book-shell-content.c
index f138da3..898bd2d 100644
--- a/modules/addressbook/e-book-shell-content.c
+++ b/modules/addressbook/e-book-shell-content.c
@@ -199,8 +199,8 @@ book_shell_content_constructed (GObject *object)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (object), "orientation",
-		G_OBJECT (widget), "orientation");
+		object, "orientation",
+		widget, "orientation");
 
 	container = widget;
 
@@ -221,8 +221,8 @@ book_shell_content_constructed (GObject *object)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (object), "preview-visible",
-		G_OBJECT (widget), "visible");
+		object, "preview-visible",
+		widget, "visible");
 
 	container = widget;
 
diff --git a/modules/addressbook/e-book-shell-view-actions.c b/modules/addressbook/e-book-shell-view-actions.c
index 5daf7e5..bbe6137 100644
--- a/modules/addressbook/e-book-shell-view-actions.c
+++ b/modules/addressbook/e-book-shell-view-actions.c
@@ -1009,12 +1009,12 @@ e_book_shell_view_actions_init (EBookShellView *book_shell_view)
 		G_CALLBACK (action_search_execute_cb), book_shell_view);
 
 	e_binding_new (
-		G_OBJECT (ACTION (CONTACT_PREVIEW)), "active",
-		G_OBJECT (ACTION (CONTACT_VIEW_CLASSIC)), "sensitive");
+		ACTION (CONTACT_PREVIEW), "active",
+		ACTION (CONTACT_VIEW_CLASSIC), "sensitive");
 
 	e_binding_new (
-		G_OBJECT (ACTION (CONTACT_PREVIEW)), "active",
-		G_OBJECT (ACTION (CONTACT_VIEW_VERTICAL)), "sensitive");
+		ACTION (CONTACT_PREVIEW), "active",
+		ACTION (CONTACT_VIEW_VERTICAL), "sensitive");
 }
 
 void
diff --git a/modules/calendar/e-cal-shell-content.c b/modules/calendar/e-cal-shell-content.c
index e199f05..8821a7f 100644
--- a/modules/calendar/e-cal-shell-content.c
+++ b/modules/calendar/e-cal-shell-content.c
@@ -386,8 +386,8 @@ cal_shell_content_constructed (GObject *object)
 	}
 
 	e_binding_new (
-		G_OBJECT (priv->calendar), "view",
-		G_OBJECT (priv->notebook), "page");
+		priv->calendar, "view",
+		priv->notebook, "page");
 
 	container = priv->vpaned;
 
diff --git a/modules/calendar/e-cal-shell-settings.c b/modules/calendar/e-cal-shell-settings.c
index 4e6939c..3852de0 100644
--- a/modules/calendar/e-cal-shell-settings.c
+++ b/modules/calendar/e-cal-shell-settings.c
@@ -607,8 +607,8 @@ e_cal_shell_backend_init_settings (EShell *shell)
 			G_PARAM_READWRITE));
 
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "cal-timezone-string",
-		G_OBJECT (shell_settings), "cal-timezone",
+		shell_settings, "cal-timezone-string",
+		shell_settings, "cal-timezone",
 		transform_string_to_icaltimezone,
 		transform_icaltimezone_to_string,
 		(GDestroyNotify) g_object_unref,
@@ -625,8 +625,8 @@ e_cal_shell_backend_init_settings (EShell *shell)
 			G_PARAM_READWRITE));
 
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "cal-week-start-day-gconf",
-		G_OBJECT (shell_settings), "cal-week-start-day",
+		shell_settings, "cal-week-start-day-gconf",
+		shell_settings, "cal-week-start-day",
 		transform_weekdays_gconf_to_evolution,
 		transform_weekdays_evolution_to_gconf,
 		(GDestroyNotify) NULL, NULL);
@@ -643,8 +643,8 @@ e_cal_shell_backend_init_settings (EShell *shell)
 			G_PARAM_READWRITE));
 
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "cal-working-days-bitset",
-		G_OBJECT (shell_settings), "cal-working-days-sunday",
+		shell_settings, "cal-working-days-bitset",
+		shell_settings, "cal-working-days-sunday",
 		transform_working_days_bitset_to_sunday,
 		transform_working_days_sunday_to_bitset,
 		(GDestroyNotify) NULL, shell_settings);
@@ -658,8 +658,8 @@ e_cal_shell_backend_init_settings (EShell *shell)
 			G_PARAM_READWRITE));
 
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "cal-working-days-bitset",
-		G_OBJECT (shell_settings), "cal-working-days-monday",
+		shell_settings, "cal-working-days-bitset",
+		shell_settings, "cal-working-days-monday",
 		transform_working_days_bitset_to_monday,
 		transform_working_days_monday_to_bitset,
 		(GDestroyNotify) NULL, shell_settings);
@@ -673,8 +673,8 @@ e_cal_shell_backend_init_settings (EShell *shell)
 			G_PARAM_READWRITE));
 
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "cal-working-days-bitset",
-		G_OBJECT (shell_settings), "cal-working-days-tuesday",
+		shell_settings, "cal-working-days-bitset",
+		shell_settings, "cal-working-days-tuesday",
 		transform_working_days_bitset_to_tuesday,
 		transform_working_days_tuesday_to_bitset,
 		(GDestroyNotify) NULL, shell_settings);
@@ -688,8 +688,8 @@ e_cal_shell_backend_init_settings (EShell *shell)
 			G_PARAM_READWRITE));
 
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "cal-working-days-bitset",
-		G_OBJECT (shell_settings), "cal-working-days-wednesday",
+		shell_settings, "cal-working-days-bitset",
+		shell_settings, "cal-working-days-wednesday",
 		transform_working_days_bitset_to_wednesday,
 		transform_working_days_wednesday_to_bitset,
 		(GDestroyNotify) NULL, shell_settings);
@@ -703,8 +703,8 @@ e_cal_shell_backend_init_settings (EShell *shell)
 			G_PARAM_READWRITE));
 
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "cal-working-days-bitset",
-		G_OBJECT (shell_settings), "cal-working-days-thursday",
+		shell_settings, "cal-working-days-bitset",
+		shell_settings, "cal-working-days-thursday",
 		transform_working_days_bitset_to_thursday,
 		transform_working_days_thursday_to_bitset,
 		(GDestroyNotify) NULL, shell_settings);
@@ -718,8 +718,8 @@ e_cal_shell_backend_init_settings (EShell *shell)
 			G_PARAM_READWRITE));
 
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "cal-working-days-bitset",
-		G_OBJECT (shell_settings), "cal-working-days-friday",
+		shell_settings, "cal-working-days-bitset",
+		shell_settings, "cal-working-days-friday",
 		transform_working_days_bitset_to_friday,
 		transform_working_days_friday_to_bitset,
 		(GDestroyNotify) NULL, shell_settings);
@@ -733,8 +733,8 @@ e_cal_shell_backend_init_settings (EShell *shell)
 			G_PARAM_READWRITE));
 
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "cal-working-days-bitset",
-		G_OBJECT (shell_settings), "cal-working-days-saturday",
+		shell_settings, "cal-working-days-bitset",
+		shell_settings, "cal-working-days-saturday",
 		transform_working_days_bitset_to_saturday,
 		transform_working_days_saturday_to_bitset,
 		(GDestroyNotify) g_object_unref,
diff --git a/modules/calendar/e-cal-shell-sidebar.c b/modules/calendar/e-cal-shell-sidebar.c
index 05b3a47..cb09c93 100644
--- a/modules/calendar/e-cal-shell-sidebar.c
+++ b/modules/calendar/e-cal-shell-sidebar.c
@@ -440,12 +440,12 @@ cal_shell_sidebar_constructed (GObject *object)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-show-week-numbers",
-		G_OBJECT (calitem), "show-week-numbers");
+		shell_settings, "cal-show-week-numbers",
+		calitem, "show-week-numbers");
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "cal-week-start-day",
-		G_OBJECT (calitem), "week-start-day");
+		shell_settings, "cal-week-start-day",
+		calitem, "week-start-day");
 
 	/* Restore the selector state from the last session. */
 
diff --git a/modules/calendar/e-cal-shell-view-private.c b/modules/calendar/e-cal-shell-view-private.c
index 1b9c8d3..3fe5994 100644
--- a/modules/calendar/e-cal-shell-view-private.c
+++ b/modules/calendar/e-cal-shell-view-private.c
@@ -539,8 +539,8 @@ e_cal_shell_view_private_constructed (ECalShellView *cal_shell_view)
 
 	/* Keep the toolbar view buttons in sync with the calendar. */
 	e_mutual_binding_new (
-		G_OBJECT (calendar), "view",
-		G_OBJECT (ACTION (CALENDAR_VIEW_DAY)), "current-value");
+		calendar, "view",
+		ACTION (CALENDAR_VIEW_DAY), "current-value");
 }
 
 void
diff --git a/modules/calendar/e-memo-shell-content.c b/modules/calendar/e-memo-shell-content.c
index 2f4e436..027beec 100644
--- a/modules/calendar/e-memo-shell-content.c
+++ b/modules/calendar/e-memo-shell-content.c
@@ -426,8 +426,8 @@ memo_shell_content_constructed (GObject *object)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (object), "orientation",
-		G_OBJECT (widget), "orientation");
+		object, "orientation",
+		widget, "orientation");
 
 	container = widget;
 
@@ -446,8 +446,8 @@ memo_shell_content_constructed (GObject *object)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (object), "preview-visible",
-		G_OBJECT (widget), "visible");
+		object, "preview-visible",
+		widget, "visible");
 
 	container = widget;
 
diff --git a/modules/calendar/e-memo-shell-view-actions.c b/modules/calendar/e-memo-shell-view-actions.c
index 8604d8e..991c99b 100644
--- a/modules/calendar/e-memo-shell-view-actions.c
+++ b/modules/calendar/e-memo-shell-view-actions.c
@@ -935,12 +935,12 @@ e_memo_shell_view_actions_init (EMemoShellView *memo_shell_view)
 		G_CALLBACK (action_search_execute_cb), memo_shell_view);
 
 	e_binding_new (
-		G_OBJECT (ACTION (MEMO_PREVIEW)), "active",
-		G_OBJECT (ACTION (MEMO_VIEW_CLASSIC)), "sensitive");
+		ACTION (MEMO_PREVIEW), "active",
+		ACTION (MEMO_VIEW_CLASSIC), "sensitive");
 
 	e_binding_new (
-		G_OBJECT (ACTION (MEMO_PREVIEW)), "active",
-		G_OBJECT (ACTION (MEMO_VIEW_VERTICAL)), "sensitive");
+		ACTION (MEMO_PREVIEW), "active",
+		ACTION (MEMO_VIEW_VERTICAL), "sensitive");
 }
 
 void
diff --git a/modules/calendar/e-task-shell-content.c b/modules/calendar/e-task-shell-content.c
index a095003..f78f142 100644
--- a/modules/calendar/e-task-shell-content.c
+++ b/modules/calendar/e-task-shell-content.c
@@ -424,8 +424,8 @@ task_shell_content_constructed (GObject *object)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (object), "orientation",
-		G_OBJECT (widget), "orientation");
+		object, "orientation",
+		widget, "orientation");
 
 	container = widget;
 
@@ -444,8 +444,8 @@ task_shell_content_constructed (GObject *object)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (object), "preview-visible",
-		G_OBJECT (widget), "visible");
+		object, "preview-visible",
+		widget, "visible");
 
 	container = widget;
 
diff --git a/modules/calendar/e-task-shell-view-actions.c b/modules/calendar/e-task-shell-view-actions.c
index b08f965..7b70ec1 100644
--- a/modules/calendar/e-task-shell-view-actions.c
+++ b/modules/calendar/e-task-shell-view-actions.c
@@ -1135,12 +1135,12 @@ e_task_shell_view_actions_init (ETaskShellView *task_shell_view)
 		G_CALLBACK (action_search_execute_cb), task_shell_view);
 
 	e_binding_new (
-		G_OBJECT (ACTION (TASK_PREVIEW)), "active",
-		G_OBJECT (ACTION (TASK_VIEW_CLASSIC)), "sensitive");
+		ACTION (TASK_PREVIEW), "active",
+		ACTION (TASK_VIEW_CLASSIC), "sensitive");
 
 	e_binding_new (
-		G_OBJECT (ACTION (TASK_PREVIEW)), "active",
-		G_OBJECT (ACTION (TASK_VIEW_VERTICAL)), "sensitive");
+		ACTION (TASK_PREVIEW), "active",
+		ACTION (TASK_VIEW_VERTICAL), "sensitive");
 }
 
 void
diff --git a/modules/calendar/e-task-shell-view-private.c b/modules/calendar/e-task-shell-view-private.c
index a0ca5ee..3b49ddb 100644
--- a/modules/calendar/e-task-shell-view-private.c
+++ b/modules/calendar/e-task-shell-view-private.c
@@ -333,8 +333,8 @@ e_task_shell_view_private_constructed (ETaskShellView *task_shell_view)
 	/* Listen for configuration changes. */
 
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "cal-confirm-purge",
-		G_OBJECT (task_shell_view), "confirm-purge");
+		shell_settings, "cal-confirm-purge",
+		task_shell_view, "confirm-purge");
 
 	/* Hide Completed Tasks (enable/units/value) */
 	g_signal_connect_swapped (
diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c
index fd99edc..681fd68 100644
--- a/modules/mail/e-mail-shell-backend.c
+++ b/modules/mail/e-mail-shell-backend.c
@@ -728,16 +728,16 @@ mail_shell_backend_window_created_cb (EShell *shell,
 		GList *spell_languages;
 
 		e_binding_new (
-			G_OBJECT (shell_settings), "composer-inline-spelling",
-			G_OBJECT (window), "inline-spelling");
+			shell_settings, "composer-inline-spelling",
+			window, "inline-spelling");
 
 		e_binding_new (
-			G_OBJECT (shell_settings), "composer-magic-links",
-			G_OBJECT (window), "magic-links");
+			shell_settings, "composer-magic-links",
+			window, "magic-links");
 
 		e_binding_new (
-			G_OBJECT (shell_settings), "composer-magic-smileys",
-			G_OBJECT (window), "magic-smileys");
+			shell_settings, "composer-magic-smileys",
+			window, "magic-smileys");
 
 		spell_languages = e_load_spell_languages ();
 		gtkhtml_editor_set_spell_languages (
diff --git a/modules/mail/e-mail-shell-content.c b/modules/mail/e-mail-shell-content.c
index 0f4a933..ac740fb 100644
--- a/modules/mail/e-mail-shell-content.c
+++ b/modules/mail/e-mail-shell-content.c
@@ -466,8 +466,8 @@ mail_shell_content_constructed (GObject *object)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (object), "orientation",
-		G_OBJECT (widget), "orientation");
+		object, "orientation",
+		widget, "orientation");
 
 	container = widget;
 
@@ -481,8 +481,8 @@ mail_shell_content_constructed (GObject *object)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (object), "preview-visible",
-		G_OBJECT (widget), "visible");
+		object, "preview-visible",
+		widget, "visible");
 
 	container = widget;
 
diff --git a/modules/mail/e-mail-shell-sidebar.c b/modules/mail/e-mail-shell-sidebar.c
index 0f8e4f5..b45e30d 100644
--- a/modules/mail/e-mail-shell-sidebar.c
+++ b/modules/mail/e-mail-shell-sidebar.c
@@ -458,8 +458,8 @@ mail_shell_sidebar_constructed (GObject *object)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "mail-side-bar-search",
-		G_OBJECT (widget), "enable-search");
+		shell_settings, "mail-side-bar-search",
+		widget, "enable-search");
 
 	tree_view = GTK_TREE_VIEW (mail_shell_sidebar->priv->folder_tree);
 	selection = gtk_tree_view_get_selection (tree_view);
diff --git a/modules/mail/e-mail-shell-view-actions.c b/modules/mail/e-mail-shell-view-actions.c
index 11cedfb..a16c752 100644
--- a/modules/mail/e-mail-shell-view-actions.c
+++ b/modules/mail/e-mail-shell-view-actions.c
@@ -1507,8 +1507,6 @@ e_mail_shell_view_actions_init (EMailShellView *mail_shell_view)
 	GtkRadioAction *radio_action;
 	GConfBridge *bridge;
 	GObject *object;
-	GObject *src_object;
-	GObject *dst_object;
 	const gchar *key;
 
 	g_return_if_fail (E_IS_MAIL_SHELL_VIEW (mail_shell_view));
@@ -1565,37 +1563,39 @@ e_mail_shell_view_actions_init (EMailShellView *mail_shell_view)
 
 	/* Fine tuning. */
 
-	src_object = G_OBJECT (ACTION (MAIL_THREADS_GROUP_BY));
-
-	dst_object = G_OBJECT (ACTION (MAIL_FOLDER_SELECT_THREAD));
-	e_binding_new (src_object, "active", dst_object, "sensitive");
+	e_binding_new (
+		ACTION (MAIL_THREADS_GROUP_BY), "active",
+		ACTION (MAIL_FOLDER_SELECT_THREAD), "sensitive");
 
-	dst_object = G_OBJECT (ACTION (MAIL_FOLDER_SELECT_SUBTHREAD));
-	e_binding_new (src_object, "active", dst_object, "sensitive");
+	e_binding_new (
+		ACTION (MAIL_THREADS_GROUP_BY), "active",
+		ACTION (MAIL_FOLDER_SELECT_SUBTHREAD), "sensitive");
 
-	dst_object = G_OBJECT (ACTION (MAIL_THREADS_COLLAPSE_ALL));
-	e_binding_new (src_object, "active", dst_object, "sensitive");
+	e_binding_new (
+		ACTION (MAIL_THREADS_GROUP_BY), "active",
+		ACTION (MAIL_THREADS_COLLAPSE_ALL), "sensitive");
 
-	dst_object = G_OBJECT (ACTION (MAIL_THREADS_EXPAND_ALL));
-	e_binding_new (src_object, "active", dst_object, "sensitive");
+	e_binding_new (
+		ACTION (MAIL_THREADS_GROUP_BY), "active",
+		ACTION (MAIL_THREADS_EXPAND_ALL), "sensitive");
 
 	e_mutual_binding_new (
-		G_OBJECT (ACTION (MAIL_PREVIEW)), "active",
-		G_OBJECT (shell_content), "preview-visible");
+		ACTION (MAIL_PREVIEW), "active",
+		shell_content, "preview-visible");
 
 	e_binding_new (
-		G_OBJECT (ACTION (MAIL_PREVIEW)), "active",
-		G_OBJECT (ACTION (MAIL_VIEW_CLASSIC)), "sensitive");
+		ACTION (MAIL_PREVIEW), "active",
+		ACTION (MAIL_VIEW_CLASSIC), "sensitive");
 
 	e_binding_new (
-		G_OBJECT (ACTION (MAIL_PREVIEW)), "active",
-		G_OBJECT (ACTION (MAIL_VIEW_VERTICAL)), "sensitive");
+		ACTION (MAIL_PREVIEW), "active",
+		ACTION (MAIL_VIEW_VERTICAL), "sensitive");
 
 	/* XXX The boolean sense of the GConf key is the inverse of
 	 *     the menu item, so we have to maintain two properties. */
 	e_mutual_binding_new_with_negation (
-		G_OBJECT (shell_content), "show-deleted",
-		G_OBJECT (ACTION (MAIL_HIDE_DELETED)), "active");
+		shell_content, "show-deleted",
+		ACTION (MAIL_HIDE_DELETED), "active");
 
 	g_signal_connect (
 		ACTION (GAL_SAVE_CUSTOM_VIEW), "activate",
diff --git a/modules/mail/em-composer-prefs.c b/modules/mail/em-composer-prefs.c
index 4c29125..6ca4232 100644
--- a/modules/mail/em-composer-prefs.c
+++ b/modules/mail/em-composer-prefs.c
@@ -405,56 +405,56 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
 	/* Default Behavior */
 	widget = glade_xml_get_widget (gui, "chkSendHTML");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "composer-format-html",
-		G_OBJECT (widget), "active");
+		shell_settings, "composer-format-html",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "chkPromptEmptySubject");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "composer-prompt-empty-subject",
-		G_OBJECT (widget), "active");
+		shell_settings, "composer-prompt-empty-subject",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "chkPromptBccOnly");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "composer-prompt-only-bcc",
-		G_OBJECT (widget), "active");
+		shell_settings, "composer-prompt-only-bcc",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "chkAutoSmileys");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "composer-magic-smileys",
-		G_OBJECT (widget), "active");
+		shell_settings, "composer-magic-smileys",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "chkRequestReceipt");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "composer-request-receipt",
-		G_OBJECT (widget), "active");
+		shell_settings, "composer-request-receipt",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "chkReplyStartBottom");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "composer-reply-start-bottom",
-		G_OBJECT (widget), "active");
+		shell_settings, "composer-reply-start-bottom",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "chkOutlookFilenames");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "composer-outlook-filenames",
-		G_OBJECT (widget), "active");
+		shell_settings, "composer-outlook-filenames",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "chkTopSignature");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "composer-top-signature",
-		G_OBJECT (widget), "active");
+		shell_settings, "composer-top-signature",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "chkEnableSpellChecking");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "composer-inline-spelling",
-		G_OBJECT (widget), "active");
+		shell_settings, "composer-inline-spelling",
+		widget, "active");
 
 	widget = e_charset_combo_box_new ();
 	container = glade_xml_get_widget (gui, "hboxComposerCharset");
 	gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
 	gtk_widget_show (widget);
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "composer-charset",
-		G_OBJECT (widget), "charset");
+		shell_settings, "composer-charset",
+		widget, "charset");
 
 	/* Spell Checking */
 	widget = glade_xml_get_widget (gui, "listSpellCheckLanguage");
@@ -487,8 +487,8 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
 
 	widget = glade_xml_get_widget (gui, "colorButtonSpellCheckColor");
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "composer-spell-color",
-		G_OBJECT (widget), "color",
+		shell_settings, "composer-spell-color",
+		widget, "color",
 		transform_string_to_color,
 		transform_color_to_string,
 		NULL, NULL);
@@ -498,13 +498,13 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
 	/* Forwards and Replies */
 	widget = glade_xml_get_widget (gui, "comboboxForwardStyle");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-forward-style",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-forward-style",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "comboboxReplyStyle");
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "mail-reply-style",
-		G_OBJECT (widget), "active",
+		shell_settings, "mail-reply-style",
+		widget, "active",
 		transform_old_to_new_reply_style,
 		transform_new_to_old_reply_style,
 		NULL, NULL);
@@ -523,12 +523,12 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
 		G_CALLBACK (e_shell_watch_window), shell);
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "composer-format-html",
-		G_OBJECT (widget), "prefer-html");
+		shell_settings, "composer-format-html",
+		widget, "prefer-html");
 
 	e_binding_new_with_negation (
-		G_OBJECT (shell_settings), "disable-command-line",
-		G_OBJECT (widget), "allow-scripts");
+		shell_settings, "disable-command-line",
+		widget, "allow-scripts");
 
 	signature_tree_view = e_signature_manager_get_tree_view (
 		E_SIGNATURE_MANAGER (widget));
@@ -539,12 +539,12 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
 	gtk_widget_show (widget);
 
 	e_binding_new_with_negation (
-		G_OBJECT (shell_settings), "disable-command-line",
-		G_OBJECT (widget), "allow-scripts");
+		shell_settings, "disable-command-line",
+		widget, "allow-scripts");
 
 	e_binding_new (
-		G_OBJECT (signature_tree_view), "selected",
-		G_OBJECT (widget), "signature");
+		signature_tree_view, "selected",
+		widget, "signature");
 
 	/* get our toplevel widget */
 	target = em_config_target_new_prefs (ec, client);
diff --git a/modules/mail/em-mailer-prefs.c b/modules/mail/em-mailer-prefs.c
index 621dae4..b143466 100644
--- a/modules/mail/em-mailer-prefs.c
+++ b/modules/mail/em-mailer-prefs.c
@@ -854,8 +854,8 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
 	/* Message Display */
 	widget = glade_xml_get_widget (gui, "chkMarkTimeout");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-mark-seen",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-mark-seen",
+		widget, "active");
 
 	/* The "mark seen" timeout requires special transform functions
 	 * because we display the timeout value to the user in seconds
@@ -863,113 +863,113 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
 	widget = glade_xml_get_widget (gui, "spinMarkTimeout");
 	prefs->timeout = GTK_SPIN_BUTTON (widget);
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-mark-seen",
-		G_OBJECT (widget), "sensitive");
+		shell_settings, "mail-mark-seen",
+		widget, "sensitive");
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "mail-mark-seen-timeout",
-		G_OBJECT (widget), "value",
+		shell_settings, "mail-mark-seen-timeout",
+		widget, "value",
 		mark_seen_timeout_transform,
 		mark_seen_timeout_reverse_transform,
 		NULL, NULL);
 
 	widget = glade_xml_get_widget (gui, "mlimit_checkbutton");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-force-message-limit",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-force-message-limit",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "mlimit_spin");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-force-message-limit",
-		G_OBJECT (widget), "sensitive");
+		shell_settings, "mail-force-message-limit",
+		widget, "sensitive");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-message-text-part-limit",
-		G_OBJECT (widget), "value");
+		shell_settings, "mail-message-text-part-limit",
+		widget, "value");
 
 	widget = glade_xml_get_widget (gui, "address_checkbox");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-address-compress",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-address-compress",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "address_spin");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-address-compress",
-		G_OBJECT (widget), "sensitive");
+		shell_settings, "mail-address-compress",
+		widget, "sensitive");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-address-count",
-		G_OBJECT (widget), "value");
+		shell_settings, "mail-address-count",
+		widget, "value");
 
 	widget = glade_xml_get_widget (gui, "magic_spacebar_checkbox");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-magic-spacebar",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-magic-spacebar",
+		widget, "active");
 
 	widget = e_charset_combo_box_new ();
 	container = glade_xml_get_widget (gui, "hboxDefaultCharset");
 	gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
 	gtk_widget_show (widget);
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-charset",
-		G_OBJECT (widget), "charset");
+		shell_settings, "mail-charset",
+		widget, "charset");
 
 	widget = glade_xml_get_widget (gui, "chkHighlightCitations");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-mark-citations",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-mark-citations",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "colorButtonHighlightCitations");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-mark-citations",
-		G_OBJECT (widget), "sensitive");
+		shell_settings, "mail-mark-citations",
+		widget, "sensitive");
 	e_mutual_binding_new_full (
-		G_OBJECT (shell_settings), "mail-citation-color",
-		G_OBJECT (widget), "color",
+		shell_settings, "mail-citation-color",
+		widget, "color",
 		e_binding_transform_string_to_color,
 		e_binding_transform_color_to_string,
 		NULL, NULL);
 
 	widget = glade_xml_get_widget (gui, "chkEnableSearchFolders");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-enable-search-folders",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-enable-search-folders",
+		widget, "active");
 
 	/* Deleting Mail */
 	widget = glade_xml_get_widget (gui, "chkEmptyTrashOnExit");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-empty-trash-on-exit",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-empty-trash-on-exit",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "comboboxEmptyTrashDays");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-empty-trash-on-exit",
-		G_OBJECT (widget), "sensitive");
+		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");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-confirm-expunge",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-confirm-expunge",
+		widget, "active");
 
 	/* Mail Fonts */
 	widget = glade_xml_get_widget (gui, "radFontUseSame");
 	e_mutual_binding_new_with_negation (
-		G_OBJECT (shell_settings), "mail-use-custom-fonts",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-use-custom-fonts",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "FontFixed");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-font-monospace",
-		G_OBJECT (widget), "font-name");
+		shell_settings, "mail-font-monospace",
+		widget, "font-name");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-use-custom-fonts",
-		G_OBJECT (widget), "sensitive");
+		shell_settings, "mail-use-custom-fonts",
+		widget, "sensitive");
 
 	widget = glade_xml_get_widget (gui, "FontVariable");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-font-variable",
-		G_OBJECT (widget), "font-name");
+		shell_settings, "mail-font-variable",
+		widget, "font-name");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-use-custom-fonts",
-		G_OBJECT (widget), "sensitive");
+		shell_settings, "mail-use-custom-fonts",
+		widget, "sensitive");
 
 	/* HTML Mail tab */
 
@@ -998,13 +998,13 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
 
 	widget = glade_xml_get_widget (gui, "chkShowAnimatedImages");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-show-animated-images",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-show-animated-images",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "chkPromptWantHTML");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-confirm-unwanted-html",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-confirm-unwanted-html",
+		widget, "active");
 
 	container = glade_xml_get_widget (gui, "labels-alignment");
 	widget = e_mail_label_manager_new ();
@@ -1012,24 +1012,24 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (shell_settings), "mail-label-list-store",
-		G_OBJECT (widget), "list-store");
+		shell_settings, "mail-label-list-store",
+		widget, "list-store");
 
 	/* headers */
 	locked = !gconf_client_key_is_writable (prefs->gconf, "/apps/evolution/mail/display/headers", NULL);
 
 	widget = glade_xml_get_widget (gui, "photo_show");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-show-sender-photo",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-show-sender-photo",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "photo_local");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-show-sender-photo",
-		G_OBJECT (widget), "sensitive");
+		shell_settings, "mail-show-sender-photo",
+		widget, "sensitive");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-only-local-photos",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-only-local-photos",
+		widget, "active");
 
 	/* always de-sensitised until the user types something in the entry */
 	prefs->add_header = GTK_BUTTON (glade_xml_get_widget (gui, "cmdHeadersAdd"));
@@ -1143,18 +1143,18 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
 	/* Junk prefs */
 	widget = glade_xml_get_widget (gui, "chkCheckIncomingMail");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-check-for-junk",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-check-for-junk",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "junk_empty_check");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-empty-junk-on-exit",
-		G_OBJECT (widget), "active");
+		shell_settings, "mail-empty-junk-on-exit",
+		widget, "active");
 
 	widget = glade_xml_get_widget (gui, "junk_empty_combobox");
 	e_mutual_binding_new (
-		G_OBJECT (shell_settings), "mail-empty-junk-on-exit",
-		G_OBJECT (widget), "sensitive");
+		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"));
diff --git a/plugins/mail-notification/mail-notification.c b/plugins/mail-notification/mail-notification.c
index f6272ba..ccdbeab 100644
--- a/plugins/mail-notification/mail-notification.c
+++ b/plugins/mail-notification/mail-notification.c
@@ -525,8 +525,8 @@ get_config_widget_status (void)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (master), "active",
-		G_OBJECT (widget), "sensitive");
+		master, "active",
+		widget, "sensitive");
 
 	container = widget;
 
@@ -743,8 +743,8 @@ get_config_widget_sound (void)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (master), "active",
-		G_OBJECT (widget), "sensitive");
+		master, "active",
+		widget, "sensitive");
 
 	container = widget;
 
diff --git a/shell/e-shell-content.c b/shell/e-shell-content.c
index 4e32765..15c1a93 100644
--- a/shell/e-shell-content.c
+++ b/shell/e-shell-content.c
@@ -567,14 +567,14 @@ shell_content_constructed (GObject *object)
 
 	action = E_SHELL_WINDOW_ACTION_SEARCH_CLEAR (shell_window);
 	e_binding_new (
-		G_OBJECT (action), "sensitive",
-		G_OBJECT (widget), "secondary-icon-sensitive");
+		action, "sensitive",
+		widget, "secondary-icon-sensitive");
 	e_binding_new (
-		G_OBJECT (action), "stock-id",
-		G_OBJECT (widget), "secondary-icon-stock");
+		action, "stock-id",
+		widget, "secondary-icon-stock");
 	e_binding_new (
-		G_OBJECT (action), "tooltip",
-		G_OBJECT (widget), "secondary-icon-tooltip-text");
+		action, "tooltip",
+		widget, "secondary-icon-tooltip-text");
 
 	action = E_SHELL_WINDOW_ACTION_SEARCH_EXECUTE (shell_window);
 	g_signal_connect (
@@ -583,14 +583,14 @@ shell_content_constructed (GObject *object)
 
 	action = E_SHELL_WINDOW_ACTION_SEARCH_OPTIONS (shell_window);
 	e_binding_new (
-		G_OBJECT (action), "sensitive",
-		G_OBJECT (widget), "primary-icon-sensitive");
+		action, "sensitive",
+		widget, "primary-icon-sensitive");
 	e_binding_new (
-		G_OBJECT (action), "stock-id",
-		G_OBJECT (widget), "primary-icon-stock");
+		action, "stock-id",
+		widget, "primary-icon-stock");
 	e_binding_new (
-		G_OBJECT (action), "tooltip",
-		G_OBJECT (widget), "primary-icon-tooltip-text");
+		action, "tooltip",
+		widget, "primary-icon-tooltip-text");
 
 	widget = shell_content->priv->search_bar;
 	gtk_size_group_add_widget (size_group, widget);
diff --git a/shell/e-shell-window-actions.c b/shell/e-shell-window-actions.c
index 4fc8448..54cd47f 100644
--- a/shell/e-shell-window-actions.c
+++ b/shell/e-shell-window-actions.c
@@ -1875,28 +1875,28 @@ e_shell_window_actions_init (EShellWindow *shell_window)
 	g_object_set (ACTION (SEND_RECEIVE), "is-important", TRUE, NULL);
 
 	e_binding_new (
-		G_OBJECT (ACTION (SHOW_SIDEBAR)), "active",
-		G_OBJECT (ACTION (SHOW_SWITCHER)), "sensitive");
+		ACTION (SHOW_SIDEBAR), "active",
+		ACTION (SHOW_SWITCHER), "sensitive");
 
 	e_binding_new (
-		G_OBJECT (ACTION (SHOW_SIDEBAR)), "active",
-		G_OBJECT (ACTION (SWITCHER_STYLE_BOTH)), "sensitive");
+		ACTION (SHOW_SIDEBAR), "active",
+		ACTION (SWITCHER_STYLE_BOTH), "sensitive");
 
 	e_binding_new (
-		G_OBJECT (ACTION (SHOW_SIDEBAR)), "active",
-		G_OBJECT (ACTION (SWITCHER_STYLE_ICONS)), "sensitive");
+		ACTION (SHOW_SIDEBAR), "active",
+		ACTION (SWITCHER_STYLE_ICONS), "sensitive");
 
 	e_binding_new (
-		G_OBJECT (ACTION (SHOW_SIDEBAR)), "active",
-		G_OBJECT (ACTION (SWITCHER_STYLE_TEXT)), "sensitive");
+		ACTION (SHOW_SIDEBAR), "active",
+		ACTION (SWITCHER_STYLE_TEXT), "sensitive");
 
 	e_binding_new (
-		G_OBJECT (ACTION (SHOW_SIDEBAR)), "active",
-		G_OBJECT (ACTION (SWITCHER_STYLE_USER)), "sensitive");
+		ACTION (SHOW_SIDEBAR), "active",
+		ACTION (SWITCHER_STYLE_USER), "sensitive");
 
 	e_binding_new (
-		G_OBJECT (ACTION (SHOW_SIDEBAR)), "active",
-		G_OBJECT (ACTION (SWITCHER_MENU)), "sensitive");
+		ACTION (SHOW_SIDEBAR), "active",
+		ACTION (SWITCHER_MENU), "sensitive");
 }
 
 GtkWidget *
diff --git a/shell/e-shell-window-private.c b/shell/e-shell-window-private.c
index 6ee997d..2cf24ba 100644
--- a/shell/e-shell-window-private.c
+++ b/shell/e-shell-window-private.c
@@ -359,56 +359,56 @@ e_shell_window_private_constructed (EShellWindow *shell_window)
 	action_group = ACTION_GROUP (LOCKDOWN_PRINTING);
 
 	e_binding_new_with_negation (
-		G_OBJECT (shell_settings), "disable-printing",
-		G_OBJECT (action_group), "sensitive");
+		shell_settings, "disable-printing",
+		action_group, "sensitive");
 
 	action_group = ACTION_GROUP (LOCKDOWN_PRINT_SETUP);
 
 	e_binding_new_with_negation (
-		G_OBJECT (shell_settings), "disable-print-setup",
-		G_OBJECT (action_group), "sensitive");
+		shell_settings, "disable-print-setup",
+		action_group, "sensitive");
 
 	action_group = ACTION_GROUP (LOCKDOWN_SAVE_TO_DISK);
 
 	e_binding_new_with_negation (
-		G_OBJECT (shell_settings), "disable-save-to-disk",
-		G_OBJECT (action_group), "sensitive");
+		shell_settings, "disable-save-to-disk",
+		action_group, "sensitive");
 
 	/* Bind GObject properties to GObject properties. */
 
 	action = ACTION (SEND_RECEIVE);
 
 	e_binding_new (
-		G_OBJECT (shell), "online",
-		G_OBJECT (action), "sensitive");
+		shell, "online",
+		action, "sensitive");
 
 	action = ACTION (WORK_OFFLINE);
 
 	e_binding_new (
-		G_OBJECT (shell), "online",
-		G_OBJECT (action), "visible");
+		shell, "online",
+		action, "visible");
 
 	e_binding_new (
-		G_OBJECT (shell), "network-available",
-		G_OBJECT (action), "sensitive");
+		shell, "network-available",
+		action, "sensitive");
 
 	action = ACTION (WORK_ONLINE);
 
 	e_binding_new_with_negation (
-		G_OBJECT (shell), "online",
-		G_OBJECT (action), "visible");
+		shell, "online",
+		action, "visible");
 
 	e_binding_new (
-		G_OBJECT (shell), "network-available",
-		G_OBJECT (action), "sensitive");
+		shell, "network-available",
+		action, "sensitive");
 
 	e_binding_new (
-		G_OBJECT (shell), "online",
-		G_OBJECT (priv->online_button), "online");
+		shell, "online",
+		priv->online_button, "online");
 
 	e_binding_new (
-		G_OBJECT (shell), "network-available",
-		G_OBJECT (priv->online_button), "sensitive");
+		shell, "network-available",
+		priv->online_button, "sensitive");
 
 	/* Bind GObject properties to GConf keys. */
 
diff --git a/widgets/misc/e-account-manager.c b/widgets/misc/e-account-manager.c
index 8d3d2d2..2e71400 100644
--- a/widgets/misc/e-account-manager.c
+++ b/widgets/misc/e-account-manager.c
@@ -285,8 +285,8 @@ account_manager_init (EAccountManager *manager)
 	gtk_widget_show (widget);
 
 	e_mutual_binding_new (
-		G_OBJECT (manager), "account-list",
-		G_OBJECT (widget), "account-list");
+		manager, "account-list",
+		widget, "account-list");
 
 	g_signal_connect_swapped (
 		widget, "key-press-event",
diff --git a/widgets/misc/e-attachment-button.c b/widgets/misc/e-attachment-button.c
index 1cd517d..a6af71e 100644
--- a/widgets/misc/e-attachment-button.c
+++ b/widgets/misc/e-attachment-button.c
@@ -497,8 +497,8 @@ attachment_button_init (EAttachmentButton *button)
 	gtk_widget_show (widget);
 
 	e_mutual_binding_new (
-		G_OBJECT (button), "expandable",
-		G_OBJECT (widget), "sensitive");
+		button, "expandable",
+		widget, "sensitive");
 
 	widget = gtk_toggle_button_new ();
 	gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
@@ -527,8 +527,8 @@ attachment_button_init (EAttachmentButton *button)
 	gtk_cell_layout_pack_start (cell_layout, renderer, FALSE);
 
 	e_mutual_binding_new (
-		G_OBJECT (button), "expanded",
-		G_OBJECT (renderer), "is-expanded");
+		button, "expanded",
+		renderer, "is-expanded");
 
 	renderer = gtk_cell_renderer_pixbuf_new ();
 	g_object_set (renderer, "stock-size", GTK_ICON_SIZE_BUTTON, NULL);
@@ -661,13 +661,13 @@ e_attachment_button_set_attachment (EAttachmentButton *button,
 		gulong handler_id;
 
 		binding = e_mutual_binding_new (
-			G_OBJECT (attachment), "can-show",
-			G_OBJECT (button), "expandable");
+			attachment, "can-show",
+			button, "expandable");
 		button->priv->can_show_binding = binding;
 
 		binding = e_mutual_binding_new (
-			G_OBJECT (attachment), "shown",
-			G_OBJECT (button), "expanded");
+			attachment, "shown",
+			button, "expanded");
 		button->priv->shown_binding = binding;
 
 		handler_id = g_signal_connect_swapped (
diff --git a/widgets/misc/e-attachment-paned.c b/widgets/misc/e-attachment-paned.c
index 8e25098..0e6395b 100644
--- a/widgets/misc/e-attachment-paned.c
+++ b/widgets/misc/e-attachment-paned.c
@@ -295,32 +295,32 @@ attachment_paned_constructed (GObject *object)
 	/* Set up property-to-property bindings. */
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "active-view",
-		G_OBJECT (priv->combo_box), "active");
+		object, "active-view",
+		priv->combo_box, "active");
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "active-view",
-		G_OBJECT (priv->notebook), "page");
+		object, "active-view",
+		priv->notebook, "page");
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "editable",
-		G_OBJECT (priv->icon_view), "editable");
+		object, "editable",
+		priv->icon_view, "editable");
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "editable",
-		G_OBJECT (priv->tree_view), "editable");
+		object, "editable",
+		priv->tree_view, "editable");
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "expanded",
-		G_OBJECT (priv->expander), "expanded");
+		object, "expanded",
+		priv->expander, "expanded");
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "expanded",
-		G_OBJECT (priv->combo_box), "sensitive");
+		object, "expanded",
+		priv->combo_box, "sensitive");
 
 	e_mutual_binding_new (
-		G_OBJECT (object), "expanded",
-		G_OBJECT (priv->notebook), "visible");
+		object, "expanded",
+		priv->notebook, "visible");
 
 	/* Set up property-to-GConf bindings. */
 
diff --git a/widgets/misc/e-attachment-view.c b/widgets/misc/e-attachment-view.c
index 3455102..17a2b6c 100644
--- a/widgets/misc/e-attachment-view.c
+++ b/widgets/misc/e-attachment-view.c
@@ -801,8 +801,8 @@ e_attachment_view_init (EAttachmentView *view)
 	action_group = e_attachment_view_add_action_group (view, "editable");
 
 	e_mutual_binding_new (
-		G_OBJECT (view), "editable",
-		G_OBJECT (action_group), "visible");
+		view, "editable",
+		action_group, "visible");
 	gtk_action_group_add_actions (
 		action_group, editable_entries,
 		G_N_ELEMENTS (editable_entries), view);
diff --git a/widgets/misc/e-signature-manager.c b/widgets/misc/e-signature-manager.c
index 7e29f75..dff74a0 100644
--- a/widgets/misc/e-signature-manager.c
+++ b/widgets/misc/e-signature-manager.c
@@ -530,8 +530,8 @@ signature_manager_init (ESignatureManager *manager)
 	gtk_widget_show (widget);
 
 	e_mutual_binding_new (
-		G_OBJECT (manager), "signature-list",
-		G_OBJECT (widget), "signature-list");
+		manager, "signature-list",
+		widget, "signature-list");
 
 	g_signal_connect_swapped (
 		widget, "key-press-event",
@@ -582,8 +582,8 @@ signature_manager_init (ESignatureManager *manager)
 	gtk_widget_show (widget);
 
 	e_binding_new (
-		G_OBJECT (manager), "allow-scripts",
-		G_OBJECT (widget), "sensitive");
+		manager, "allow-scripts",
+		widget, "sensitive");
 
 	g_signal_connect_swapped (
 		widget, "clicked",



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]