diff options
Diffstat (limited to 'mail/e-mail-config-window.c')
-rw-r--r-- | mail/e-mail-config-window.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/mail/e-mail-config-window.c b/mail/e-mail-config-window.c index 18cd143a7d..5e8262ac6b 100644 --- a/mail/e-mail-config-window.c +++ b/mail/e-mail-config-window.c @@ -52,10 +52,17 @@ enum { PROP_SESSION }; +enum { + CHANGES_COMMITTED, + LAST_SIGNAL +}; + /* Forward Declarations */ static void e_mail_config_window_alert_sink_init (EAlertSinkInterface *interface); +static guint signals[LAST_SIGNAL]; + G_DEFINE_TYPE_WITH_CODE ( EMailConfigWindow, e_mail_config_window, @@ -161,6 +168,7 @@ mail_config_window_commit_cb (GObject *object, g_error_free (error); } else { + g_signal_emit (window, signals[CHANGES_COMMITTED], 0); gtk_widget_destroy (GTK_WIDGET (window)); } } @@ -475,6 +483,15 @@ e_mail_config_window_class_init (EMailConfigWindowClass *class) G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); + + signals[CHANGES_COMMITTED] = g_signal_new ( + "changes-committed", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (EMailConfigWindowClass, changes_committed), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); } static void |