aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog17
-rw-r--r--mail/em-account-editor.c29
-rw-r--r--mail/em-account-editor.h3
-rw-r--r--mail/em-account-prefs.c20
-rw-r--r--mail/em-utils.c2
5 files changed, 44 insertions, 27 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 970013c0f8..fb29252fc1 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,20 @@
+2005-02-28 JP Rosevear <jpr@novell.com>
+
+ * em-utils.c (em_utils_configure_account): pass in accountDruid
+ config id
+
+ * em-account-prefs.c (account_add_clicked): pass in accountDruid
+ config id
+ (account_edit_clicked): pass in accountWizard config id
+
+ * em-account-editor.h: update protos
+
+ * em-account-editor.c (em_account_editor_new_with_config_id):
+ create a new account editor with a specific config id
+ (em_account_editor_new): pass
+ (em_account_editor_construct): make this static and take the
+ config id as an arg
+
2005-02-24 Not Zed <NotZed@Ximian.com>
** See bug #72609
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index 8946cef9a4..47bc9e2f9c 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -202,6 +202,7 @@ typedef struct _EMAccountEditorPrivate {
} EMAccountEditorPrivate;
static void emae_refresh_authtype(EMAccountEditor *emae, EMAccountEditorService *service);
+static void em_account_editor_construct(EMAccountEditor *emae, EAccount *account, em_account_editor_t type, char *id);
static GtkVBoxClass *emae_parent;
@@ -281,11 +282,11 @@ em_account_editor_get_type(void)
*
* Return value:
**/
-EMAccountEditor *em_account_editor_new(EAccount *account, em_account_editor_t type)
+EMAccountEditor *em_account_editor_new(EAccount *account, em_account_editor_t type, char *id)
{
EMAccountEditor *emae = g_object_new(em_account_editor_get_type(), 0);
- em_account_editor_construct(emae, account, type);
+ em_account_editor_construct(emae, account, type, id);
return emae;
}
@@ -2483,8 +2484,8 @@ emae_editor_destroyed(GtkWidget *dialog, EMAccountEditor *emae)
g_object_unref(emae);
}
-void
-em_account_editor_construct(EMAccountEditor *emae, EAccount *account, em_account_editor_t type)
+static void
+em_account_editor_construct(EMAccountEditor *emae, EAccount *account, em_account_editor_t type, char *id)
{
EMAccountEditorPrivate *gui = emae->priv;
int i, index;
@@ -2520,26 +2521,10 @@ em_account_editor_construct(EMAccountEditor *emae, EAccount *account, em_account
gui->providers = g_list_sort(camel_provider_list(TRUE), (GCompareFunc)provider_compare);
if (type == EMAE_NOTEBOOK) {
- /** @HookPoint-EMConfig: Mail Account Editor
- * @Id: org.gnome.evolution.mail.config.accountEditor
- * @Type: E_CONFIG_BOOK
- * @Class: org.gnome.evolution.mail.config:1.0
- * @Target: EMConfigTargetAccount
- *
- * The account editor window.
- */
- ec = em_config_new(E_CONFIG_BOOK, "org.gnome.evolution.mail.config.accountEditor");
+ ec = em_config_new(E_CONFIG_BOOK, id);
items = emae_editor_items;
} else {
- /** @HookPoint-EMConfig: New Mail Account Druid
- * @Id: org.gnome.evolution.mail.config.accountDruid
- * @Type: E_CONFIG_DRUID
- * @Class: org.gnome.evolution.mail.config:1.0
- * @Target: EMConfigTargetAccount
- *
- * The new mail account druid.
- */
- ec = em_config_new(E_CONFIG_DRUID, "org.gnome.evolution.mail.config.accountDruid");
+ ec = em_config_new(E_CONFIG_DRUID, id);
items = emae_druid_items;
}
diff --git a/mail/em-account-editor.h b/mail/em-account-editor.h
index 0e84a07b7d..0a46aa45a9 100644
--- a/mail/em-account-editor.h
+++ b/mail/em-account-editor.h
@@ -64,8 +64,7 @@ struct _EMAccountEditorClass {
GType em_account_editor_get_type(void);
-void em_account_editor_construct(EMAccountEditor *emae, struct _EAccount *account, em_account_editor_t type);
-EMAccountEditor *em_account_editor_new(struct _EAccount *account, em_account_editor_t type);
+EMAccountEditor *em_account_editor_new(struct _EAccount *account, em_account_editor_t type, char *id);
gboolean em_account_editor_save (EMAccountEditor *gui);
void em_account_editor_destroy (EMAccountEditor *gui);
diff --git a/mail/em-account-prefs.c b/mail/em-account-prefs.c
index 4861f3d37b..1d58afe852 100644
--- a/mail/em-account-prefs.c
+++ b/mail/em-account-prefs.c
@@ -145,7 +145,15 @@ account_add_clicked (GtkButton *button, gpointer user_data)
if (prefs->druid == NULL) {
EMAccountEditor *emae;
- emae = em_account_editor_new(NULL, EMAE_DRUID);
+ /** @HookPoint-EMConfig: New Mail Account Druid
+ * @Id: org.gnome.evolution.mail.config.accountDruid
+ * @Type: E_CONFIG_DRUID
+ * @Class: org.gnome.evolution.mail.config:1.0
+ * @Target: EMConfigTargetAccount
+ *
+ * The new mail account druid.
+ */
+ emae = em_account_editor_new(NULL, EMAE_DRUID, "org.gnome.evolution.mail.config.accountDruid");
prefs->druid = emae->editor;
gtk_window_set_transient_for((GtkWindow *)prefs->druid, (GtkWindow *)gtk_widget_get_toplevel((GtkWidget *)prefs));
@@ -187,7 +195,15 @@ account_edit_clicked (GtkButton *button, gpointer user_data)
if (account) {
EMAccountEditor *emae;
- emae = em_account_editor_new(account, EMAE_NOTEBOOK);
+ /** @HookPoint-EMConfig: Mail Account Editor
+ * @Id: org.gnome.evolution.mail.config.accountEditor
+ * @Type: E_CONFIG_BOOK
+ * @Class: org.gnome.evolution.mail.config:1.0
+ * @Target: EMConfigTargetAccount
+ *
+ * The account editor window.
+ */
+ emae = em_account_editor_new(account, EMAE_NOTEBOOK, "org.gnome.evolution.mail.config.accountEditor");
prefs->editor = emae->editor;
gtk_window_set_transient_for((GtkWindow *)prefs->editor, (GtkWindow *)gtk_widget_get_toplevel((GtkWidget *)prefs));
diff --git a/mail/em-utils.c b/mail/em-utils.c
index f00e45ecf3..679875bcfe 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -181,7 +181,7 @@ em_utils_configure_account (GtkWidget *parent)
{
EMAccountEditor *emae;
- emae = em_account_editor_new(NULL, EMAE_DRUID);
+ emae = em_account_editor_new(NULL, EMAE_DRUID, "org.gnome.evolution.mail.config.accountDruid");
if (parent != NULL)
e_dialog_set_transient_for((GtkWindow *)emae->editor, parent);