* modest-ui-wizard.c and modest.glade adopted to modified layout/functionality of...
authorSilvan Marco Fin <silvan@kernelconcepts.de>
Mon, 12 Jun 2006 14:48:38 +0000 (14:48 +0000)
committerSilvan Marco Fin <silvan@kernelconcepts.de>
Mon, 12 Jun 2006 14:48:38 +0000 (14:48 +0000)
pmo-trunk-r234

src/gtk-glade/modest-ui-wizard.c
src/gtk-glade/modest.glade

index 041157f..7484eb6 100644 (file)
 #include "modest-ui-glade.h"
 #include "modest-ui-wizard.h"
 
-void wizard_missing_notification(GtkWindow *parent, gchar *info_message)
-{
+
+static void wizard_incoming_button_toggled(GtkWidget *button,
+                                          gpointer userdata) {
+       GtkWidget *awidget;
+       if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(button))==TRUE) {
+               awidget=glade_xml_get_widget(GLADE_XML(userdata), "AWOutUserNameEntry");
+               gtk_widget_set_sensitive(GTK_WIDGET(awidget), FALSE);
+               awidget=glade_xml_get_widget(GLADE_XML(userdata), "AWOutPasswordEntry");
+               gtk_widget_set_sensitive(GTK_WIDGET(awidget), FALSE);
+       }
+       else {
+               awidget=glade_xml_get_widget(GLADE_XML(userdata), "AWOutUserNameEntry");
+               gtk_widget_set_sensitive(GTK_WIDGET(awidget), TRUE);
+               awidget=glade_xml_get_widget(GLADE_XML(userdata), "AWOutPasswordEntry");
+               gtk_widget_set_sensitive(GTK_WIDGET(awidget), TRUE);
+       }
+}
+
+void wizard_missing_notification(GtkWindow *parent, gchar *info_message) {
         GtkWidget *DenyDialog;
 
         DenyDialog=gtk_message_dialog_new(parent,
@@ -32,8 +49,7 @@ void wizard_missing_notification(GtkWindow *parent, gchar *info_message)
         gtk_widget_destroy(DenyDialog);
 }
 
-gchar *get_text_from_combobox (GtkWidget *combobox)
-{
+gchar *get_text_from_combobox (GtkWidget *combobox){
         /* Remember to free the returned variable after usage! */
 
        GtkTreeModel *model = gtk_combo_box_get_model(GTK_COMBO_BOX(combobox));
@@ -41,8 +57,7 @@ gchar *get_text_from_combobox (GtkWidget *combobox)
 
        gchar *value;
 
-       if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combobox), &iter))
-       {
+       if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combobox), &iter)) {
                gtk_tree_model_get(GTK_TREE_MODEL(model),
                                   &iter,
                                   0, &value,
@@ -53,17 +68,15 @@ gchar *get_text_from_combobox (GtkWidget *combobox)
 }
 
 
-gboolean advance_sanity_check(GtkWindow *parent, GladeXML *glade_xml, gint cp)
-{
+gboolean advance_sanity_check(GtkWindow *parent, GladeXML *glade_xml, gint cp) {
         gchar *tmptext;
 
        /* FIXME:
         * all calls to wizard_missing_notification lack the parent window.
         */
 
-        switch (cp)
-        {
-       case 0:
+        switch (cp) {
+       case 1:
                /* Only needed if the "mailbox name" field is used in the first page of the wizard.
                  * if (strlen(gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWMailboxnameEntry"))))==0)
                  * {
@@ -71,39 +84,40 @@ gboolean advance_sanity_check(GtkWindow *parent, GladeXML *glade_xml, gint cp)
                  *         return FALSE;
                 * }
                 */
+               if (strlen(gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWEMailAddressEntry"))))==0) {
+                       wizard_missing_notification(NULL, "Please enter the E-Mail address.");
+                       return FALSE;
+               }
+                return TRUE;
+               break;
+       case 2:
                 tmptext=gtk_combo_box_get_active_text(GTK_COMBO_BOX(glade_xml_get_widget(glade_xml, "AWMailboxtypeComboBox")));
-                if (tmptext==NULL)
-                {
+                if (tmptext==NULL) {
                         wizard_missing_notification(NULL, "Please select mailbox type.");
                         return FALSE;
                }
-               free(tmptext);
-                return TRUE;
-               break;
-       case 1:
-               if (strlen(gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWUserNameEntry"))))==0)
-               {
-                       wizard_missing_notification(NULL, "Please enter user name.");
+               g_free(tmptext);
+               if (strlen(gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWInServerComboEntry"))))==0) {
+                       wizard_missing_notification(NULL, "Please specify incoming server adress.");
                        return FALSE;
                }
-               if (strlen(gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWEMailAddressEntry"))))==0)
-               {
-                       wizard_missing_notification(NULL, "Please enter the E-Mail address.");
+               if (strlen(gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWUserNameEntry"))))==0) {
+                       wizard_missing_notification(NULL, "Please enter user name.");
                        return FALSE;
                }
                return TRUE;
                break;
-       case 2:
-               if (strlen(gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWInServerComboEntry"))))==0)
-               {
-                       wizard_missing_notification(NULL, "Please specify incoming server adress.");
+       case 3:
+               if (strlen(gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWOutServerComboEntry"))))==0) {
+                       wizard_missing_notification(NULL, "Please specify outgoing server address.");
                        return FALSE;
                }
-               if (strlen(gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWOutServerComboEntry"))))==0)
-               {
-                       wizard_missing_notification(NULL, "Please specify outgoing server address.");
+               if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(glade_xml_get_widget(glade_xml, "AWUseIncomingCheckButton")))==FALSE
+                   && strlen(gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWOutUserNameEntry"))))==0) {
+                       wizard_missing_notification(NULL, "Please enter user name.");
                        return FALSE;
                }
+
                return TRUE;
                break;
         }
@@ -111,15 +125,13 @@ gboolean advance_sanity_check(GtkWindow *parent, GladeXML *glade_xml, gint cp)
         return FALSE;
 }
 
-gchar *search_unused_account_or_identity_name(gpointer mgr, gchar *draft)
-{
+gchar *search_unused_account_or_identity_name(gpointer mgr, gchar *draft) {
        GString *tmpaccount_name;
        gint counter;
 
        tmpaccount_name=g_string_new("");
        g_string_printf(tmpaccount_name, "%s", draft);
-       if(MODEST_IS_ACCOUNT_MGR(mgr))
-       {
+       if(MODEST_IS_ACCOUNT_MGR(mgr)) {
                for(counter=0; modest_account_mgr_server_account_exists(mgr, tmpaccount_name->str, NULL); counter++)
                        g_string_printf(tmpaccount_name, "%s%d", draft, counter);
        }
@@ -162,12 +174,20 @@ gboolean wizard_account_add(GladeXML *glade_xml, ModestUI *modest_ui)
        g_free(tmptext);
 
        tmpaccount_name=search_unused_account_or_identity_name(acc_mgr, "outgoing");
-       modest_account_mgr_add_server_account (acc_mgr,
-                                              tmpaccount_name,
-                                              gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWOutServerComboEntry"))),
-                                              NULL,
-                                              NULL,
-                                              "smtp");
+       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(glade_xml_get_widget(glade_xml, "AWUseIncomingCheckButton")))==TRUE)
+               modest_account_mgr_add_server_account (acc_mgr,
+                                                      tmpaccount_name,
+                                                      gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWOutServerComboEntry"))),
+                                                      gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWUserNameEntry"))),
+                                                      gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWPasswordEntry"))),
+                                                      "smtp");
+       else
+               modest_account_mgr_add_server_account (acc_mgr,
+                                                      tmpaccount_name,
+                                                      gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWOutServerComboEntry"))),
+                                                      gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWOutUserNameEntry"))),
+                                                      gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWOutPasswordEntry"))),
+                                                      "smtp");
        g_free(tmpaccount_name);
 
        tmpaccount_name=search_unused_account_or_identity_name(id_mgr, MODEST_IDENTITY_DEFAULT_IDENTITY);
@@ -187,11 +207,12 @@ void wizard_account_dialog(ModestUI *modest_ui)
        GladeXML *glade_xml;
        GtkWidget *dialog;
         ModestUIPrivate *priv;
-        GtkWidget *FinishButton;
-        GtkWidget *BackButton;
-        GtkWidget *NextButton;
-        GtkWidget *CancelButton;
-        GtkWidget *Notebook;
+        GtkWidget *finish_button;
+        GtkWidget *back_button;
+        GtkWidget *next_button;
+        GtkWidget *cancel_button;
+       GtkWidget *notebook;
+       GtkWidget *use_incoming_button;
         gint cp;
         gint result;
        gboolean account_added_successfully=FALSE;
@@ -205,32 +226,39 @@ void wizard_account_dialog(ModestUI *modest_ui)
 
         gtk_widget_show_all(dialog);
 
-        FinishButton=glade_xml_get_widget(glade_xml, "AWFinishButton");
-        BackButton=glade_xml_get_widget(glade_xml, "AWBackButton");
-        NextButton=glade_xml_get_widget(glade_xml, "AWNextButton");
-        CancelButton=glade_xml_get_widget(glade_xml, "AWCancelButton");
-        Notebook=glade_xml_get_widget(glade_xml, "AWNotebook");
-
-        gtk_widget_set_sensitive(FinishButton, FALSE);
-
-        do
-       {
-                cp=gtk_notebook_get_current_page(GTK_NOTEBOOK(Notebook));
-                switch (cp)
-                {
-                case 0:
-                        gtk_widget_set_sensitive(BackButton, FALSE);
-                        break;
+        finish_button=glade_xml_get_widget(glade_xml, "AWFinishButton");
+        back_button=glade_xml_get_widget(glade_xml, "AWBackButton");
+        next_button=glade_xml_get_widget(glade_xml, "AWNextButton");
+        cancel_button=glade_xml_get_widget(glade_xml, "AWCancelButton");
+        notebook=glade_xml_get_widget(glade_xml, "AWNotebook");
+
+       gtk_widget_set_sensitive(finish_button, FALSE);
+
+       use_incoming_button=glade_xml_get_widget(glade_xml, "AWUseIncomingCheckButton");
+       g_signal_connect(use_incoming_button,
+                        "toggled",
+                        G_CALLBACK(wizard_incoming_button_toggled),
+                        glade_xml);
+
+       /* First page not used currently. It's reserved for the account preset. */
+       gtk_notebook_set_current_page (GTK_NOTEBOOK(notebook), 1);
+
+        do {
+                cp=gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook));
+                switch (cp) {
                 case 1:
-                        gtk_widget_set_sensitive(BackButton, TRUE);
+                        gtk_widget_set_sensitive(back_button, FALSE);
                         break;
                 case 2:
-                        gtk_widget_set_sensitive(FinishButton, FALSE);
-                        gtk_widget_set_sensitive(NextButton, TRUE);
+                        gtk_widget_set_sensitive(back_button, TRUE);
                         break;
                 case 3:
-                        gtk_widget_set_sensitive(FinishButton, TRUE);
-                        gtk_widget_set_sensitive(NextButton, FALSE);
+                        gtk_widget_set_sensitive(finish_button, FALSE);
+                        gtk_widget_set_sensitive(next_button, TRUE);
+                        break;
+                case 4:
+                        gtk_widget_set_sensitive(finish_button, TRUE);
+                        gtk_widget_set_sensitive(next_button, FALSE);
                         break;
                 default:
                         g_error("I'm on page %d of notebook AWNotebook, which shouldn't have happened. Pulling emergency breaks.", cp);
@@ -239,14 +267,13 @@ void wizard_account_dialog(ModestUI *modest_ui)
 
                 result=gtk_dialog_run(GTK_DIALOG(dialog));
 
-                switch (result)
-                {
+                switch (result) {
                 case 1:
                         if (advance_sanity_check(NULL, glade_xml, cp)==TRUE)
-                                gtk_notebook_next_page(GTK_NOTEBOOK(Notebook));
+                                gtk_notebook_next_page(GTK_NOTEBOOK(notebook));
                         break;
                 case 2:
-                        gtk_notebook_prev_page(GTK_NOTEBOOK(Notebook));
+                        gtk_notebook_prev_page(GTK_NOTEBOOK(notebook));
                        break;
                case GTK_RESPONSE_ACCEPT:
                        account_added_successfully=wizard_account_add(glade_xml, modest_ui);
index 5ba25b1..a3ae4e4 100644 (file)
 
 <widget class="GtkDialog" id="account_wizard">
   <property name="border_width">10</property>
-  <property name="title" translatable="yes"></property>
+  <property name="title" translatable="yes">Account Setup</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
   <property name="window_position">GTK_WIN_POS_NONE</property>
   <property name="modal">False</property>
          <property name="enable_popup">False</property>
 
          <child>
-           <widget class="GtkVBox" id="vbox5">
+           <widget class="GtkVBox" id="PresetPage">
              <property name="visible">True</property>
              <property name="homogeneous">False</property>
              <property name="spacing">10</property>
                  <property name="fill">True</property>
                </packing>
              </child>
+           </widget>
+           <packing>
+             <property name="tab_expand">False</property>
+             <property name="tab_fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label57">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes"></property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+             <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+             <property name="width_chars">-1</property>
+             <property name="single_line_mode">False</property>
+             <property name="angle">0</property>
+           </widget>
+           <packing>
+             <property name="type">tab</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkTable" id="EMailAdressPage">
+             <property name="visible">True</property>
+             <property name="n_rows">2</property>
+             <property name="n_columns">2</property>
+             <property name="homogeneous">False</property>
+             <property name="row_spacing">10</property>
+             <property name="column_spacing">10</property>
 
              <child>
-               <widget class="GtkTable" id="table3">
+               <widget class="GtkLabel" id="AWEMailAddressLabel">
                  <property name="visible">True</property>
-                 <property name="n_rows">1</property>
-                 <property name="n_columns">2</property>
-                 <property name="homogeneous">False</property>
-                 <property name="row_spacing">10</property>
-                 <property name="column_spacing">10</property>
-
-                 <child>
-                   <widget class="GtkLabel" id="label15">
-                     <property name="visible">True</property>
-                     <property name="label" translatable="yes" context="yes">Mailbox type:</property>
-                     <property name="use_underline">False</property>
-                     <property name="use_markup">False</property>
-                     <property name="justify">GTK_JUSTIFY_LEFT</property>
-                     <property name="wrap">False</property>
-                     <property name="selectable">False</property>
-                     <property name="xalign">0</property>
-                     <property name="yalign">0.5</property>
-                     <property name="xpad">0</property>
-                     <property name="ypad">0</property>
-                     <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                     <property name="width_chars">-1</property>
-                     <property name="single_line_mode">False</property>
-                     <property name="angle">0</property>
-                   </widget>
-                   <packing>
-                     <property name="left_attach">0</property>
-                     <property name="right_attach">1</property>
-                     <property name="top_attach">0</property>
-                     <property name="bottom_attach">1</property>
-                   </packing>
-                 </child>
+                 <property name="label" translatable="yes" context="yes">E-mail address:</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+                 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                 <property name="width_chars">-1</property>
+                 <property name="single_line_mode">False</property>
+                 <property name="angle">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">0</property>
+                 <property name="bottom_attach">1</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
 
-                 <child>
-                   <widget class="GtkComboBox" id="AWMailboxtypeComboBox">
-                     <property name="visible">True</property>
-                     <property name="items" translatable="yes" context="yes">IMAP
-POP
-LOCAL</property>
-                     <property name="add_tearoffs">False</property>
-                     <property name="focus_on_click">True</property>
-                   </widget>
-                   <packing>
-                     <property name="left_attach">1</property>
-                     <property name="right_attach">2</property>
-                     <property name="top_attach">0</property>
-                     <property name="bottom_attach">1</property>
-                   </packing>
-                 </child>
+             <child>
+               <widget class="GtkEntry" id="AWEMailAddressEntry">
+                 <property name="visible">True</property>
+                 <property name="editable">True</property>
+                 <property name="visibility">True</property>
+                 <property name="max_length">0</property>
+                 <property name="text" translatable="yes"></property>
+                 <property name="has_frame">True</property>
+                 <property name="invisible_char">*</property>
+                 <property name="activates_default">False</property>
                </widget>
                <packing>
-                 <property name="padding">0</property>
-                 <property name="expand">False</property>
-                 <property name="fill">True</property>
+                 <property name="left_attach">1</property>
+                 <property name="right_attach">2</property>
+                 <property name="top_attach">0</property>
+                 <property name="bottom_attach">1</property>
+                 <property name="y_options"></property>
                </packing>
              </child>
 
              <child>
-               <widget class="GtkHBox" id="hbox18">
+               <widget class="GtkLabel" id="AWRealNameLabel">
                  <property name="visible">True</property>
-                 <property name="homogeneous">False</property>
-                 <property name="spacing">0</property>
+                 <property name="label" translatable="yes" context="yes">Your name:</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+                 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                 <property name="width_chars">-1</property>
+                 <property name="single_line_mode">False</property>
+                 <property name="angle">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">1</property>
+                 <property name="bottom_attach">2</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
 
-                 <child>
-                   <widget class="GtkLabel" id="label13">
-                     <property name="visible">True</property>
-                     <property name="label" translatable="yes" context="yes">! Note: You cannot edit mailbox type once setup is complete</property>
-                     <property name="use_underline">False</property>
-                     <property name="use_markup">False</property>
-                     <property name="justify">GTK_JUSTIFY_LEFT</property>
-                     <property name="wrap">False</property>
-                     <property name="selectable">False</property>
-                     <property name="xalign">0.5</property>
-                     <property name="yalign">0.5</property>
-                     <property name="xpad">0</property>
-                     <property name="ypad">10</property>
-                     <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                     <property name="width_chars">-1</property>
-                     <property name="single_line_mode">False</property>
-                     <property name="angle">0</property>
-                   </widget>
-                   <packing>
-                     <property name="padding">0</property>
-                     <property name="expand">False</property>
-                     <property name="fill">False</property>
-                   </packing>
-                 </child>
+             <child>
+               <widget class="GtkEntry" id="AWRealNameEntry">
+                 <property name="visible">True</property>
+                 <property name="editable">True</property>
+                 <property name="visibility">True</property>
+                 <property name="max_length">0</property>
+                 <property name="text" translatable="yes"></property>
+                 <property name="has_frame">True</property>
+                 <property name="invisible_char">*</property>
+                 <property name="activates_default">False</property>
                </widget>
                <packing>
-                 <property name="padding">0</property>
-                 <property name="expand">False</property>
-                 <property name="fill">False</property>
+                 <property name="left_attach">1</property>
+                 <property name="right_attach">2</property>
+                 <property name="top_attach">1</property>
+                 <property name="bottom_attach">2</property>
+                 <property name="y_options"></property>
                </packing>
              </child>
            </widget>
@@ -2784,7 +2821,7 @@ LOCAL</property>
          </child>
 
          <child>
-           <widget class="GtkLabel" id="label57">
+           <widget class="GtkLabel" id="label64">
              <property name="visible">True</property>
              <property name="label" translatable="yes"></property>
              <property name="use_underline">False</property>
@@ -2807,18 +2844,18 @@ LOCAL</property>
          </child>
 
          <child>
-           <widget class="GtkTable" id="table4">
+           <widget class="GtkTable" id="IncomingPage">
              <property name="visible">True</property>
-             <property name="n_rows">4</property>
-             <property name="n_columns">2</property>
+             <property name="n_rows">5</property>
+             <property name="n_columns">3</property>
              <property name="homogeneous">False</property>
              <property name="row_spacing">10</property>
-             <property name="column_spacing">0</property>
+             <property name="column_spacing">10</property>
 
              <child>
-               <widget class="GtkLabel" id="AWRealNameLabel">
+               <widget class="GtkLabel" id="AWPasswordLabel">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes" context="yes">Name:</property>
+                 <property name="label" translatable="yes" context="yes">Password:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2836,9 +2873,10 @@ LOCAL</property>
                <packing>
                  <property name="left_attach">0</property>
                  <property name="right_attach">1</property>
-                 <property name="top_attach">0</property>
-                 <property name="bottom_attach">1</property>
+                 <property name="top_attach">4</property>
+                 <property name="bottom_attach">5</property>
                  <property name="x_options">fill</property>
+                 <property name="y_options"></property>
                </packing>
              </child>
 
@@ -2863,16 +2901,17 @@ LOCAL</property>
                <packing>
                  <property name="left_attach">0</property>
                  <property name="right_attach">1</property>
-                 <property name="top_attach">1</property>
-                 <property name="bottom_attach">2</property>
+                 <property name="top_attach">3</property>
+                 <property name="bottom_attach">4</property>
                  <property name="x_options">fill</property>
+                 <property name="y_options"></property>
                </packing>
              </child>
 
              <child>
-               <widget class="GtkLabel" id="AWPasswordLabel">
+               <widget class="GtkLabel" id="AWInServerLabel">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes" context="yes">Password:</property>
+                 <property name="label" translatable="yes" context="yes">Incoming server:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2893,13 +2932,14 @@ LOCAL</property>
                  <property name="top_attach">2</property>
                  <property name="bottom_attach">3</property>
                  <property name="x_options">fill</property>
+                 <property name="y_options"></property>
                </packing>
              </child>
 
              <child>
-               <widget class="GtkLabel" id="AWEMailAddressLabel">
+               <widget class="GtkLabel" id="label15">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes" context="yes">E-mail address:</property>
+                 <property name="label" translatable="yes" context="yes">Mailbox type:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2917,14 +2957,15 @@ LOCAL</property>
                <packing>
                  <property name="left_attach">0</property>
                  <property name="right_attach">1</property>
-                 <property name="top_attach">3</property>
-                 <property name="bottom_attach">4</property>
+                 <property name="top_attach">0</property>
+                 <property name="bottom_attach">1</property>
                  <property name="x_options">fill</property>
+                 <property name="y_options"></property>
                </packing>
              </child>
 
              <child>
-               <widget class="GtkEntry" id="AWRealNameEntry">
+               <widget class="GtkEntry" id="AWInServerComboEntry">
                  <property name="visible">True</property>
                  <property name="editable">True</property>
                  <property name="visibility">True</property>
@@ -2937,35 +2978,86 @@ LOCAL</property>
                <packing>
                  <property name="left_attach">1</property>
                  <property name="right_attach">2</property>
+                 <property name="top_attach">2</property>
+                 <property name="bottom_attach">3</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkComboBox" id="AWMailboxtypeComboBox">
+                 <property name="visible">True</property>
+                 <property name="items" translatable="yes" context="yes">IMAP
+POP
+LOCAL</property>
+                 <property name="add_tearoffs">False</property>
+                 <property name="focus_on_click">True</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">1</property>
+                 <property name="right_attach">3</property>
                  <property name="top_attach">0</property>
                  <property name="bottom_attach">1</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options">fill</property>
                </packing>
              </child>
 
              <child>
-               <widget class="GtkEntry" id="AWUserNameEntry">
+               <widget class="GtkCheckButton" id="AWInSSLCheckButton">
                  <property name="visible">True</property>
-                 <property name="editable">True</property>
-                 <property name="visibility">True</property>
-                 <property name="max_length">0</property>
-                 <property name="text" translatable="yes"></property>
-                 <property name="has_frame">True</property>
-                 <property name="invisible_char">*</property>
-                 <property name="activates_default">False</property>
+                 <property name="can_focus">True</property>
+                 <property name="label" translatable="yes">Use SSL</property>
+                 <property name="use_underline">True</property>
+                 <property name="relief">GTK_RELIEF_NORMAL</property>
+                 <property name="focus_on_click">True</property>
+                 <property name="active">False</property>
+                 <property name="inconsistent">False</property>
+                 <property name="draw_indicator">True</property>
                </widget>
                <packing>
-                 <property name="left_attach">1</property>
-                 <property name="right_attach">2</property>
+                 <property name="left_attach">2</property>
+                 <property name="right_attach">3</property>
+                 <property name="top_attach">2</property>
+                 <property name="bottom_attach">3</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="MailboxTypeNoteLabel">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes" context="yes">Note: You cannot edit mailbox type once setup is complete!</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">1</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">10</property>
+                 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                 <property name="width_chars">-1</property>
+                 <property name="single_line_mode">False</property>
+                 <property name="angle">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">3</property>
                  <property name="top_attach">1</property>
                  <property name="bottom_attach">2</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
                </packing>
              </child>
 
              <child>
-               <widget class="GtkEntry" id="AWPasswordEntry">
+               <widget class="GtkEntry" id="AWUserNameEntry">
                  <property name="visible">True</property>
                  <property name="editable">True</property>
-                 <property name="visibility">False</property>
+                 <property name="visibility">True</property>
                  <property name="max_length">0</property>
                  <property name="text" translatable="yes"></property>
                  <property name="has_frame">True</property>
@@ -2974,17 +3066,18 @@ LOCAL</property>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
-                 <property name="right_attach">2</property>
-                 <property name="top_attach">2</property>
-                 <property name="bottom_attach">3</property>
+                 <property name="right_attach">3</property>
+                 <property name="top_attach">3</property>
+                 <property name="bottom_attach">4</property>
+                 <property name="y_options"></property>
                </packing>
              </child>
 
              <child>
-               <widget class="GtkEntry" id="AWEMailAddressEntry">
+               <widget class="GtkEntry" id="AWPasswordEntry">
                  <property name="visible">True</property>
                  <property name="editable">True</property>
-                 <property name="visibility">True</property>
+                 <property name="visibility">False</property>
                  <property name="max_length">0</property>
                  <property name="text" translatable="yes"></property>
                  <property name="has_frame">True</property>
@@ -2993,9 +3086,10 @@ LOCAL</property>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
-                 <property name="right_attach">2</property>
-                 <property name="top_attach">3</property>
-                 <property name="bottom_attach">4</property>
+                 <property name="right_attach">3</property>
+                 <property name="top_attach">4</property>
+                 <property name="bottom_attach">5</property>
+                 <property name="y_options"></property>
                </packing>
              </child>
            </widget>
@@ -3006,7 +3100,7 @@ LOCAL</property>
          </child>
 
          <child>
-           <widget class="GtkLabel" id="label58">
+           <widget class="GtkLabel" id="label65">
              <property name="visible">True</property>
              <property name="label" translatable="yes"></property>
              <property name="use_underline">False</property>
@@ -3029,18 +3123,18 @@ LOCAL</property>
          </child>
 
          <child>
-           <widget class="GtkTable" id="table9">
+           <widget class="GtkTable" id="OutgoingPage">
              <property name="visible">True</property>
-             <property name="n_rows">2</property>
-             <property name="n_columns">2</property>
+             <property name="n_rows">4</property>
+             <property name="n_columns">3</property>
              <property name="homogeneous">False</property>
              <property name="row_spacing">10</property>
              <property name="column_spacing">10</property>
 
              <child>
-               <widget class="GtkLabel" id="AWInServerLabel">
+               <widget class="GtkLabel" id="AWOutPasswordLabel">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes" context="yes">Incoming server:</property>
+                 <property name="label" translatable="yes">Password:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -3058,17 +3152,45 @@ LOCAL</property>
                <packing>
                  <property name="left_attach">0</property>
                  <property name="right_attach">1</property>
-                 <property name="top_attach">0</property>
-                 <property name="bottom_attach">1</property>
+                 <property name="top_attach">3</property>
+                 <property name="bottom_attach">4</property>
                  <property name="x_options">fill</property>
                  <property name="y_options"></property>
                </packing>
              </child>
 
              <child>
-               <widget class="GtkLabel" id="AWOutServerLabel">
+               <widget class="GtkLabel" id="AWOutUserLabel">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes" context="yes">Outgoing server:</property>
+                 <property name="label" translatable="yes">User name:</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+                 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                 <property name="width_chars">-1</property>
+                 <property name="single_line_mode">False</property>
+                 <property name="angle">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">2</property>
+                 <property name="bottom_attach">3</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label70">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes"></property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -3094,7 +3216,35 @@ LOCAL</property>
              </child>
 
              <child>
-               <widget class="GtkEntry" id="AWInServerComboEntry">
+               <widget class="GtkLabel" id="AWOutServerLabel">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes" context="yes">Outgoing server:</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+                 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                 <property name="width_chars">-1</property>
+                 <property name="single_line_mode">False</property>
+                 <property name="angle">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">0</property>
+                 <property name="bottom_attach">1</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkEntry" id="AWOutServerComboEntry">
                  <property name="visible">True</property>
                  <property name="editable">True</property>
                  <property name="visibility">True</property>
@@ -3109,12 +3259,59 @@ LOCAL</property>
                  <property name="right_attach">2</property>
                  <property name="top_attach">0</property>
                  <property name="bottom_attach">1</property>
+                 <property name="y_options"></property>
                </packing>
              </child>
 
              <child>
-               <widget class="GtkEntry" id="AWOutServerComboEntry">
+               <widget class="GtkCheckButton" id="AWOutSSLCheckButton">
                  <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="label" translatable="yes">Use SSL</property>
+                 <property name="use_underline">True</property>
+                 <property name="relief">GTK_RELIEF_NORMAL</property>
+                 <property name="focus_on_click">True</property>
+                 <property name="active">False</property>
+                 <property name="inconsistent">False</property>
+                 <property name="draw_indicator">True</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">2</property>
+                 <property name="right_attach">3</property>
+                 <property name="top_attach">0</property>
+                 <property name="bottom_attach">1</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkCheckButton" id="AWUseIncomingCheckButton">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="label" translatable="yes">Use incoming settings</property>
+                 <property name="use_underline">True</property>
+                 <property name="relief">GTK_RELIEF_NORMAL</property>
+                 <property name="focus_on_click">True</property>
+                 <property name="active">True</property>
+                 <property name="inconsistent">False</property>
+                 <property name="draw_indicator">True</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">1</property>
+                 <property name="right_attach">3</property>
+                 <property name="top_attach">1</property>
+                 <property name="bottom_attach">2</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkEntry" id="AWOutUserNameEntry">
+                 <property name="visible">True</property>
+                 <property name="sensitive">False</property>
+                 <property name="can_focus">True</property>
                  <property name="editable">True</property>
                  <property name="visibility">True</property>
                  <property name="max_length">0</property>
@@ -3125,9 +3322,32 @@ LOCAL</property>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
-                 <property name="right_attach">2</property>
-                 <property name="top_attach">1</property>
-                 <property name="bottom_attach">2</property>
+                 <property name="right_attach">3</property>
+                 <property name="top_attach">2</property>
+                 <property name="bottom_attach">3</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkEntry" id="AWOutPasswordEntry">
+                 <property name="visible">True</property>
+                 <property name="sensitive">False</property>
+                 <property name="can_focus">True</property>
+                 <property name="editable">True</property>
+                 <property name="visibility">True</property>
+                 <property name="max_length">0</property>
+                 <property name="text" translatable="yes"></property>
+                 <property name="has_frame">True</property>
+                 <property name="invisible_char">*</property>
+                 <property name="activates_default">False</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">1</property>
+                 <property name="right_attach">3</property>
+                 <property name="top_attach">3</property>
+                 <property name="bottom_attach">4</property>
+                 <property name="y_options"></property>
                </packing>
              </child>
            </widget>
@@ -3138,7 +3358,7 @@ LOCAL</property>
          </child>
 
          <child>
-           <widget class="GtkLabel" id="label59">
+           <widget class="GtkLabel" id="label58">
              <property name="visible">True</property>
              <property name="label" translatable="yes"></property>
              <property name="use_underline">False</property>
@@ -3161,7 +3381,7 @@ LOCAL</property>
          </child>
 
          <child>
-           <widget class="GtkHBox" id="hbox19">
+           <widget class="GtkHBox" id="FinishPage">
              <property name="visible">True</property>
              <property name="homogeneous">False</property>
              <property name="spacing">0</property>