/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2006 Hiroyuki Yamamoto and the Sylpheed-Claws team
+ * Copyright (C) 1999-2006 Hiroyuki Yamamoto and the Claws Mail team
*
* 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
GtkWidget *combobox;
GtkWidget *label;
GtkWidget *descrlabel;
+ GtkWidget *no_imap_warn_icon;
+ GtkWidget *no_imap_warn_label;
};
static struct Basic {
static gchar *path[2];
path[0] = _("Account");
- path[2] = NULL;
+ path[1] = NULL;
account_page.page.path = path;
account_page.page.weight = 1000.0;
GtkWidget *optmenubox;
GtkWidget *optmenu;
GtkWidget *optlabel;
+ GtkWidget *no_imap_warn_icon;
+ GtkWidget *no_imap_warn_label;
GtkWidget *serv_table;
GtkWidget *recvserv_label;
GtkWidget *smtpserv_label;
gtk_label_set_justify(GTK_LABEL(optlabel), GTK_JUSTIFY_CENTER);
gtk_box_pack_start(GTK_BOX (optmenubox), optlabel, FALSE, FALSE, 0);
+ no_imap_warn_icon = gtk_image_new_from_stock
+ (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_SMALL_TOOLBAR);
+ no_imap_warn_label = gtk_label_new(_("<span weight=\"bold\">Warning: this version of Claws Mail\n"
+ "has been built without IMAP support.</span>"));
+ gtk_label_set_use_markup(GTK_LABEL(no_imap_warn_label), TRUE);
+
+ gtk_box_pack_start(GTK_BOX (optmenubox), no_imap_warn_icon, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX (optmenubox), no_imap_warn_label, FALSE, FALSE, 0);
/* Set up a struct to store pointers to necessary widgets */
protocol_optmenu = g_new(struct BasicProtocol, 1);
protocol_optmenu->combobox = optmenu;
protocol_optmenu->label = optlabel;
protocol_optmenu->descrlabel = label;
+ protocol_optmenu->no_imap_warn_icon = no_imap_warn_icon;
+ protocol_optmenu->no_imap_warn_label = no_imap_warn_label;
serv_table = gtk_table_new (6, 4, FALSE);
gtk_widget_show (serv_table);
MENUITEM_ADD (optmenu_menu, menuitem, "LOGIN", IMAP_AUTH_LOGIN);
MENUITEM_ADD (optmenu_menu, menuitem, "CRAM-MD5", IMAP_AUTH_CRAM_MD5);
MENUITEM_ADD (optmenu_menu, menuitem, "ANONYMOUS", IMAP_AUTH_ANON);
+ MENUITEM_ADD (optmenu_menu, menuitem, "GSSAPI", IMAP_AUTH_GSSAPI);
gtk_option_menu_set_menu (GTK_OPTION_MENU (optmenu), optmenu_menu);
PACK_CHECK_BUTTON (hbox, customhdr_chkbtn,
_("Add user-defined header"));
-#if GTK_CHECK_VERSION(2, 6, 0)
customhdr_edit_btn = gtk_button_new_from_stock (GTK_STOCK_EDIT);
-#else
- customhdr_edit_btn = gtk_button_new_with_label (_(" Edit... "));
-#endif
gtk_widget_show (customhdr_edit_btn);
gtk_box_pack_start (GTK_BOX (hbox), customhdr_edit_btn,
FALSE, FALSE, 0);
g_signal_connect(G_OBJECT(signature_browse_button), "clicked",
G_CALLBACK(prefs_account_signature_browse_cb), NULL);
-#if GTK_CHECK_VERSION(2, 6, 0)
signature_edit_button = gtk_button_new_from_stock (GTK_STOCK_EDIT);
-#else
- signature_edit_button = gtk_button_new_with_label (_(" Edit... "));
-#endif
gtk_widget_show (signature_edit_button);
gtk_box_pack_start (GTK_BOX (hbox2), signature_edit_button, FALSE, FALSE, 0);
g_signal_connect(G_OBJECT(signature_edit_button), "clicked",
alertpanel_error(_("POP3 server is not entered."));
return -1;
}
+ 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) {
+ alertpanel_error(_("The default inbox folder doesn't exist."));
+ return -1;
+ }
+ }
if (protocol == A_IMAP4 &&
*gtk_entry_get_text(GTK_ENTRY(basic.recvserv_entry)) == '\0') {
alertpanel_error(_("IMAP4 server is not entered."));
g_free(label);
gtk_widget_hide(optmenu);
gtk_widget_show(optlabel);
+#ifndef HAVE_LIBETPAN
+ if (protocol == A_IMAP4) {
+ gtk_widget_show(protocol_optmenu->no_imap_warn_icon);
+ gtk_widget_show(protocol_optmenu->no_imap_warn_label);
+ } else {
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_icon);
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_label);
+ }
+#endif
}
}
case IMAP_AUTH_ANON:
gtk_option_menu_set_history(optmenu, 3);
break;
+ case IMAP_AUTH_GSSAPI:
+ gtk_option_menu_set_history(optmenu, 4);
+ break;
case 0:
default:
gtk_option_menu_set_history(optmenu, 0);
if (id != NULL && strcmp(id, prefsid) == 0) {
found = TRUE;
gtk_option_menu_set_history(GTK_OPTION_MENU(optionmenu), i);
+ privacy_system_activated(GTK_MENU_ITEM(item));
}
i++;
}
g_free(name);
gtk_option_menu_set_history(GTK_OPTION_MENU(optionmenu), i);
+ privacy_system_activated(GTK_MENU_ITEM(menuitem));
}
g_list_free(children);
static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
{
RecvProtocol protocol;
+ struct BasicProtocol *protocol_optmenu = (struct BasicProtocol *)basic.protocol_optmenu;
protocol = combobox_get_active_data(combobox);
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_icon);
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_label);
switch(protocol) {
case A_NNTP:
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_icon);
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_label);
gtk_widget_show(basic.nntpserv_label);
gtk_widget_show(basic.nntpserv_entry);
gtk_table_set_row_spacing (GTK_TABLE (basic.serv_table),
gtk_widget_hide(receive.imapdir_entry);
break;
case A_LOCAL:
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_icon);
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_label);
gtk_widget_hide(basic.nntpserv_label);
gtk_widget_hide(basic.nntpserv_entry);
gtk_table_set_row_spacing (GTK_TABLE (basic.serv_table),
gtk_widget_hide(receive.imapdir_entry);
break;
case A_IMAP4:
+#ifndef HAVE_LIBETPAN
+ gtk_widget_show(protocol_optmenu->no_imap_warn_icon);
+ gtk_widget_show(protocol_optmenu->no_imap_warn_label);
+#endif
gtk_widget_hide(basic.nntpserv_label);
gtk_widget_hide(basic.nntpserv_entry);
gtk_table_set_row_spacing (GTK_TABLE (basic.serv_table),
gtk_widget_show(receive.imapdir_entry);
break;
case A_NONE:
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_icon);
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_label);
gtk_widget_hide(basic.nntpserv_label);
gtk_widget_hide(basic.nntpserv_entry);
gtk_table_set_row_spacing (GTK_TABLE (basic.serv_table),
break;
case A_POP3:
default:
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_icon);
+ gtk_widget_hide(protocol_optmenu->no_imap_warn_label);
gtk_widget_hide(basic.nntpserv_label);
gtk_widget_hide(basic.nntpserv_entry);
gtk_table_set_row_spacing (GTK_TABLE (basic.serv_table),