aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog8
-rw-r--r--mail/mail-account-editor.c24
-rw-r--r--mail/mail-account-editor.h92
-rw-r--r--mail/mail-config-druid.c16
-rw-r--r--mail/mail-config-druid.glade18
-rw-r--r--mail/mail-config-druid.glade.h1
6 files changed, 144 insertions, 15 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 804d042a0d..ee18f07213 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,13 @@
2001-01-05 Jeffrey Stedfast <fejj@helixcode.com>
+ * mail-account-editor.[c,h]: New source files to provide an
+ account editor widget.
+
+ * mail-config-druid.c (auth_type_changed): Set the authproto on
+ the druid so we can look it up later.
+
+2001-01-05 Jeffrey Stedfast <fejj@helixcode.com>
+
* mail-accounts.c (mail_add): Since the druid now handles adding
the new account to the config, we'll just connect to the destroy
event and show the druid.
diff --git a/mail/mail-account-editor.c b/mail/mail-account-editor.c
new file mode 100644
index 0000000000..bb2de76318
--- /dev/null
+++ b/mail/mail-account-editor.c
@@ -0,0 +1,24 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Authors: Jeffrey Stedfast <fejj@helixcode.com>
+ *
+ * Copyright 2001 Helix Code, Inc. (www.helixcode.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#include "mail-account-editor.h"
+
diff --git a/mail/mail-account-editor.h b/mail/mail-account-editor.h
new file mode 100644
index 0000000000..bb84c86eb0
--- /dev/null
+++ b/mail/mail-account-editor.h
@@ -0,0 +1,92 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Authors: Jeffrey Stedfast <fejj@helixcode.com>
+ *
+ * Copyright 2001 Helix Code, Inc. (www.helixcode.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef MAIL_ACCOUNT_EDITOR_H
+#define MAIL_ACCOUNT_EDITOR_H
+
+#ifdef __cplusplus
+extern "C" {
+#pragma }
+#endif /* __cplusplus */
+
+#include <gnome.h>
+#include <glade/glade.h>
+#include <camel.h>
+#include "mail-config.h"
+
+#define MAIL_ACCOUNT_EDITOR_TYPE (mail_account_editor_get_type ())
+#define MAIL_ACCOUNT_EDITOR(o) (GTK_CHECK_CAST ((o), MAIL_ACCOUNT_EDITOR_TYPE, MailAccountEditor))
+#define MAIL_ACCOUNT_EDITOR_CLASS(k) (GTK_CHECK_CLASS_CAST((k), MAIL_ACCOUNT_EDITOR_TYPE, MailAccountEditorClass))
+#define IS_MAIL_ACCOUNT_EDITOR(o) (GTK_CHECK_TYPE ((o), MAIL_ACCOUNT_EDITOR_TYPE))
+#define IS_MAIL_ACCOUNT_EDITOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), MAIL_ACCOUNT_EDITOR_TYPE))
+
+struct _MailAccountEditor {
+ GnomeDialog parent;
+
+ const MailConfigAccount *account;
+
+ GladeXML *gui;
+
+ GtkEntry *account_name;
+ GtkEntry *name;
+ GtkEntry *email;
+ GtkEntry *reply_to;
+ GtkEntry *organization;
+ GnomeFileEntry *signature;
+
+ GtkEntry *source_type;
+ GtkEntry *source_host;
+ GtkEntry *source_user;
+ GtkEntry *source_passwd;
+ GtkCheckBox *save_passwd;
+ GtkOptionMenu *source_auth;
+ GtkCheckBox *source_ssl;
+
+ GtkOptionMenu *transport_type;
+ GtkEntry *transport_host;
+ GtkOptionMenu *transport_auth;
+ GtkCheckBox *transport_ssl;
+
+ GtkSpinButton *auto_mail_check;
+ GtkCheckBox *keep_on_server;
+
+ const CamelProvider *transport;
+};
+
+typedef struct _MailAccountEditor MailAccountEditor;
+
+typedef struct {
+ GnomeDialogClass parent_class;
+
+ /* signals */
+
+} MailAccountEditorClass;
+
+GtkType mail_account_editor_get_type (void);
+
+MailAccountEditor *mail_account_editor_new (void);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* MAIL_ACCOUNT_EDITOR_H */
diff --git a/mail/mail-config-druid.c b/mail/mail-config-druid.c
index b8f2bbbf8e..4c8ada2aa5 100644
--- a/mail/mail-config-druid.c
+++ b/mail/mail-config-druid.c
@@ -429,6 +429,8 @@ auth_type_changed (GtkWidget *widget, gpointer user_data)
authtype = gtk_object_get_data (GTK_OBJECT (widget), "authtype");
+ gtk_object_set_data (GTK_OBJECT (druid), "source_authmech", authtype->authproto);
+
if (authtype->need_password)
sensitive = TRUE;
else
@@ -877,16 +879,18 @@ char *
mail_config_druid_get_source_url (MailConfigDruid *druid)
{
char *source_url, *host, *pport;
+ const CamelProvider *provider;
CamelURL *url;
int port;
g_return_val_if_fail (IS_MAIL_CONFIG_DRUID (druid), NULL);
+ provider = druid->source_provider;
+
url = g_new0 (CamelURL, 1);
- /* FIXME: get the real protocol */
- url->protocol = g_strdup ("pop3");
+ url->protocol = g_strdup (provider->protocol);
url->user = g_strdup (gtk_entry_get_text (druid->incoming_username));
- url->authmech = g_strdup (druid->authmech);
+ url->authmech = g_strdup (gtk_object_get_data (GTK_OBJECT (druid), "source_authmech"));
url->passwd = g_strdup (gtk_entry_get_text (druid->password));
host = g_strdup (gtk_entry_get_text (druid->incoming_hostname));
if (host && (pport = strchr (host, ':'))) {
@@ -927,14 +931,16 @@ char *
mail_config_druid_get_transport_url (MailConfigDruid *druid)
{
char *transport_url, *host, *pport;
+ const CamelProvider *provider;
CamelURL *url;
int port;
g_return_val_if_fail (IS_MAIL_CONFIG_DRUID (druid), NULL);
+ provider = druid->transport_provider;
+
url = g_new0 (CamelURL, 1);
- /* FIXME: get the real protocol */
- url->protocol = g_strdup ("smtp");
+ url->protocol = g_strdup (provider->protocol);
host = g_strdup (gtk_entry_get_text (druid->outgoing_hostname));
if (host && (pport = strchr (host, ':'))) {
port = atoi (pport + 1);
diff --git a/mail/mail-config-druid.glade b/mail/mail-config-druid.glade
index 51bf799c71..03762ca4f4 100644
--- a/mail/mail-config-druid.glade
+++ b/mail/mail-config-druid.glade
@@ -19,7 +19,7 @@
<widget>
<class>GtkWindow</class>
- <name>mail-config-window</name>
+ <name>mail-config-druid</name>
<visible>False</visible>
<title>Mail Configuration Druid</title>
<type>GTK_WINDOW_TOPLEVEL</type>
@@ -1414,7 +1414,7 @@ Click &quot;Finish&quot; to save your settings.</text>
<widget>
<class>GnomeDialog</class>
- <name>account-properties-dialog</name>
+ <name>mail-account-editor</name>
<visible>False</visible>
<title>Account Properties</title>
<type>GTK_WINDOW_TOPLEVEL</type>
@@ -2018,7 +2018,7 @@ Click &quot;Finish&quot; to save your settings.</text>
<widget>
<class>GtkCheckButton</class>
- <name>chkIncomingSSL</name>
+ <name>chkSourceSSL</name>
<sensitive>False</sensitive>
<can_focus>True</can_focus>
<label>This server requires a secure connection (SSL)</label>
@@ -2042,7 +2042,7 @@ Click &quot;Finish&quot; to save your settings.</text>
<widget>
<class>GtkOptionMenu</class>
- <name>omenuIncomingAuth</name>
+ <name>omenuSourceAuth</name>
<can_focus>True</can_focus>
<items>Plain Text
Kerberos
@@ -2172,12 +2172,12 @@ DIGEST-MD5
<widget>
<class>GtkEntry</class>
- <name>txtServerType</name>
+ <name>txtSourceType</name>
<can_focus>True</can_focus>
<editable>False</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
- <text>IMAP</text>
+ <text></text>
<child>
<left_attach>3</left_attach>
<right_attach>10</right_attach>
@@ -2196,7 +2196,7 @@ DIGEST-MD5
<widget>
<class>GtkEntry</class>
- <name>txtIncomingServer</name>
+ <name>txtSourceHost</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
@@ -2220,7 +2220,7 @@ DIGEST-MD5
<widget>
<class>GtkEntry</class>
- <name>txtUsername</name>
+ <name>txtSourceUsername</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
@@ -2244,7 +2244,7 @@ DIGEST-MD5
<widget>
<class>GtkEntry</class>
- <name>txtPassword</name>
+ <name>txtSourcePassword</name>
<can_focus>True</can_focus>
<editable>True</editable>
<text_visible>True</text_visible>
diff --git a/mail/mail-config-druid.glade.h b/mail/mail-config-druid.glade.h
index 0793e21fa5..6438c79349 100644
--- a/mail/mail-config-druid.glade.h
+++ b/mail/mail-config-druid.glade.h
@@ -68,7 +68,6 @@ gchar *s = N_("Type:");
gchar *s = N_("Hostname:");
gchar *s = N_("Username:");
gchar *s = N_("Password:");
-gchar *s = N_("IMAP");
gchar *s = N_("Authentication:");
gchar *s = N_("Outgoing Mail Server");
gchar *s = N_("This server requires a secure connection (SSL)");