From 3d0a81c35455e8e8cbc079037e5defa470e4ba17 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Sat, 6 Jan 2001 04:05:51 +0000 Subject: New source files to provide an account editor widget. 2001-01-05 Jeffrey Stedfast * 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. svn path=/trunk/; revision=7280 --- mail/ChangeLog | 8 ++++ mail/mail-account-editor.c | 24 +++++++++++ mail/mail-account-editor.h | 92 ++++++++++++++++++++++++++++++++++++++++++ mail/mail-config-druid.c | 16 +++++--- mail/mail-config-druid.glade | 18 ++++----- mail/mail-config-druid.glade.h | 1 - 6 files changed, 144 insertions(+), 15 deletions(-) create mode 100644 mail/mail-account-editor.c create mode 100644 mail/mail-account-editor.h diff --git a/mail/ChangeLog b/mail/ChangeLog index 804d042a0d..ee18f07213 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,11 @@ +2001-01-05 Jeffrey Stedfast + + * 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 * mail-accounts.c (mail_add): Since the druid now handles adding 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 + * + * 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 + * + * 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 +#include +#include +#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 @@ GtkWindow - mail-config-window + mail-config-druid False Mail Configuration Druid GTK_WINDOW_TOPLEVEL @@ -1414,7 +1414,7 @@ Click "Finish" to save your settings. GnomeDialog - account-properties-dialog + mail-account-editor False Account Properties GTK_WINDOW_TOPLEVEL @@ -2018,7 +2018,7 @@ Click "Finish" to save your settings. GtkCheckButton - chkIncomingSSL + chkSourceSSL False True @@ -2042,7 +2042,7 @@ Click "Finish" to save your settings. GtkOptionMenu - omenuIncomingAuth + omenuSourceAuth True Plain Text Kerberos @@ -2172,12 +2172,12 @@ DIGEST-MD5 GtkEntry - txtServerType + txtSourceType True False True 0 - IMAP + 3 10 @@ -2196,7 +2196,7 @@ DIGEST-MD5 GtkEntry - txtIncomingServer + txtSourceHost True True True @@ -2220,7 +2220,7 @@ DIGEST-MD5 GtkEntry - txtUsername + txtSourceUsername True True True @@ -2244,7 +2244,7 @@ DIGEST-MD5 GtkEntry - txtPassword + txtSourcePassword True True True 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)"); -- cgit