2006-12-11 [colin] 2.6.1cvs16
authorColin Leroy <colin@colino.net>
Mon, 11 Dec 2006 18:08:20 +0000 (18:08 +0000)
committerColin Leroy <colin@colino.net>
Mon, 11 Dec 2006 18:08:20 +0000 (18:08 +0000)
* src/prefs_account.c
Check for existence of inbox for local
accounts too
* src/wizard.c
Allow setting the port to use for servers
by using the usual "server.example.com:port"
syntax. Fixes bug 1077, 'sylpheed-claws does
not start when IMAP server is unavailable'

ChangeLog
PATCHSETS
configure.ac
src/prefs_account.c
src/wizard.c

index 675e95a83bc7f46283c52991828544f94bae6242..de1e5fd1adfd824795f887c38fdec8b32348e4dd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2006-12-11 [colin]     2.6.1cvs16
+
+       * src/prefs_account.c
+               Check for existence of inbox for local
+               accounts too
+       * src/wizard.c
+               Allow setting the port to use for servers
+               by using the usual "server.example.com:port"
+               syntax. Fixes bug 1077, 'sylpheed-claws does 
+               not start when IMAP server is unavailable'
+
 2006-12-11 [colin]     2.6.1cvs15
 
        * src/prefs_account.c
index 7cdcfeb2f09a764578b3c299583e2e041a03f5ba..d1a12752d8b74b8b35861a7f8e46ebd235697b37 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.1.2.35 -r 1.1.2.36 manual/advanced.xml;  cvs diff -u -r 1.204.2.111 -r 1.204.2.112 src/prefs_common.c;  cvs diff -u -r 1.103.2.69 -r 1.103.2.70 src/prefs_common.h;  cvs diff -u -r 1.4.2.14 -r 1.4.2.15 src/common/ssl_certificate.c;  ) > 2.6.1cvs13.patchset
 ( cvs diff -u -r 1.105.2.70 -r 1.105.2.71 src/prefs_account.c;  ) > 2.6.1cvs14.patchset
 ( cvs diff -u -r 1.105.2.71 -r 1.105.2.72 src/prefs_account.c;  ) > 2.6.1cvs15.patchset
+( cvs diff -u -r 1.1.2.40 -r 1.1.2.41 src/wizard.c;  cvs diff -u -r 1.105.2.72 -r 1.105.2.73 src/prefs_account.c;  ) > 2.6.1cvs16.patchset
index d8a4d8347e72e4323997c090db24806c8c9b0641..01a59432077b88e33eb65eebc565d1aa6b27eff8 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=6
 MICRO_VERSION=1
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=15
+EXTRA_VERSION=16
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index dd7742cf39e87d598419d05d5443404ed87f0f7f..001ea408bc03d74d09bbe5ac4b5cd9b2262be79e 100644 (file)
@@ -2521,7 +2521,7 @@ static gint prefs_account_apply(void)
                alertpanel_error(_("POP3 server is not entered."));
                return -1;
        }
-       if (protocol == A_POP3) {
+       if (protocol == A_POP3 || protocol == A_LOCAL) {
                const gchar *mailbox = gtk_entry_get_text(GTK_ENTRY(receive.inbox_entry));
                FolderItem *inbox =  folder_find_item_from_identifier(mailbox);
                if (inbox == NULL) {
index 7468110350b9ca4f62895f1dbcddbd7caf4db9e2..840cfbb70ad443e0ffe932c747907cbb8a66facf 100644 (file)
@@ -545,7 +545,9 @@ static gboolean wizard_write_config(WizardWindow *wizard)
        PrefsAccount *prefs_account = prefs_account_new();
        GList *account_list = NULL;
        GtkWidget *menu, *menuitem;
-       
+       gchar *smtp_server, *recv_server;
+       gint smtp_port, recv_port;
+
        menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(wizard->recv_type));
        menuitem = gtk_menu_get_active(GTK_MENU(menu));
        prefs_account->protocol = GPOINTER_TO_INT
@@ -641,21 +643,42 @@ static gboolean wizard_write_config(WizardWindow *wizard)
                prefs_account->account_name = g_strdup_printf("%s",
                                gtk_entry_get_text(GTK_ENTRY(wizard->recv_server)));
 
+       recv_server = g_strdup(gtk_entry_get_text(GTK_ENTRY(wizard->recv_server)));
+       smtp_server = g_strdup(gtk_entry_get_text(GTK_ENTRY(wizard->smtp_server)));
+
+       if (prefs_account->protocol != A_LOCAL && strstr(recv_server, ":")) {
+               recv_port = atoi(strstr(recv_server, ":")+1);
+               *(strstr(recv_server, ":")) = '\0';
+               if (prefs_account->protocol == A_IMAP4) {
+                       prefs_account->set_imapport = TRUE;
+                       prefs_account->imapport = recv_port;
+               } else if (prefs_account->protocol == A_POP3) {
+                       prefs_account->set_popport = TRUE;
+                       prefs_account->popport = recv_port;
+               }
+       }
+       if (strstr(smtp_server, ":")) {
+               smtp_port = atoi(strstr(smtp_server, ":")+1);
+               *(strstr(smtp_server, ":")) = '\0';
+               prefs_account->set_smtpport = TRUE;
+               prefs_account->smtpport = smtp_port;
+       }
+       
        prefs_account->name = g_strdup(
                                gtk_entry_get_text(GTK_ENTRY(wizard->full_name)));
        prefs_account->address = g_strdup(
                                gtk_entry_get_text(GTK_ENTRY(wizard->email)));
        prefs_account->organization = g_strdup(
                                gtk_entry_get_text(GTK_ENTRY(wizard->organization)));
-       prefs_account->smtp_server = g_strdup(
-                               gtk_entry_get_text(GTK_ENTRY(wizard->smtp_server)));
+       prefs_account->smtp_server = g_strdup(smtp_server);
 
        if (prefs_account->protocol != A_LOCAL)
-               prefs_account->recv_server = g_strdup(
-                               gtk_entry_get_text(GTK_ENTRY(wizard->recv_server)));
+               prefs_account->recv_server = g_strdup(recv_server);
        else
-               prefs_account->local_mbox = g_strdup(
-                               gtk_entry_get_text(GTK_ENTRY(wizard->recv_server)));
+               prefs_account->local_mbox = g_strdup(recv_server);
+
+       g_free(recv_server);
+       g_free(smtp_server);
 
        prefs_account->userid = g_strdup(
                                gtk_entry_get_text(GTK_ENTRY(wizard->recv_username)));