* renamed callback function to new_wizard_account
authorSilvan Marco Fin <silvan@kernelconcepts.de>
Thu, 8 Jun 2006 10:29:49 +0000 (10:29 +0000)
committerSilvan Marco Fin <silvan@kernelconcepts.de>
Thu, 8 Jun 2006 10:29:49 +0000 (10:29 +0000)
* prepared modest-ui-wizzard to be used for already existing accounts

pmo-trunk-r180

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

index 327dc13..7cf1314 100644 (file)
@@ -112,8 +112,65 @@ gboolean advance_sanity_check(GtkWindow *parent, GladeXML *glade_xml, gint cp)
         return FALSE;
 }
 
-void on_new_account1_activate (GtkMenuItem *menuitem,
-                               gpointer user_data)
+gboolean wizard_account_add(GladeXML *glade_xml, ModestUIPrivate *priv)
+{
+       ModestAccountMgr *acc_mgr;
+       ModestIdentityMgr *id_mgr;
+       const gchar *account_name="default";
+       ModestConf *conf=priv->modest_conf;
+       gchar *tmptext;
+
+       g_return_if_fail (conf);
+
+       acc_mgr = MODEST_ACCOUNT_MGR(modest_account_mgr_new (conf));
+       if (!acc_mgr) {
+               g_warning ("failed to instantiate account mgr");
+               return;
+       }
+
+       if (modest_account_mgr_account_exists (acc_mgr, account_name, NULL)) {
+               if (!modest_account_mgr_remove_account(acc_mgr, account_name, NULL)) {
+                       g_warning ("could not delete existing account");
+               }
+       }
+
+       if (!modest_account_mgr_add_account (acc_mgr, account_name, "defaultstore", "defaulttransport", NULL))
+               g_warning ("failed to add default account");
+       else
+       {
+               tmptext=get_text_from_combobox(glade_xml_get_widget(glade_xml, "AWMailboxtypeComboBox"));
+               modest_account_mgr_add_server_account (acc_mgr, "defaultstore",
+                                                      gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWInServerComboEntry"))),
+                                                      gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWUserNameEntry"))),
+                                                      NULL,
+                                                      tmptext);
+               free(tmptext);
+               modest_account_mgr_add_server_account (acc_mgr, "defaulttransport",
+                                                      gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWOutServerComboEntry"))),
+                                                      NULL,
+                                                      NULL,
+                                                      "smtp");
+
+       }
+       id_mgr = MODEST_IDENTITY_MGR(modest_identity_mgr_new (conf));
+       if (modest_identity_mgr_identity_exists(id_mgr, "defaultidentity", NULL)) {
+               if (!modest_identity_mgr_remove_identity(id_mgr, "defaultidentity", NULL)) {
+                       g_warning ("could not delete existing default identity");
+               }
+       }
+       if (!modest_identity_mgr_add_identity (id_mgr,
+                                              MODEST_IDENTITY_DEFAULT_IDENTITY,
+                                              gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWEMailAddressEntry"))),
+                                              "", "", FALSE, NULL, FALSE ))
+               g_warning ("failed to add default identity");
+
+       g_object_unref (G_OBJECT(acc_mgr));
+       g_object_unref (G_OBJECT(id_mgr));
+
+}
+
+
+void wizard_account_dialog(ModestUI *modest_ui)
 {
        GladeXML *glade_xml;
        GtkWidget *dialog;
@@ -127,9 +184,9 @@ void on_new_account1_activate (GtkMenuItem *menuitem,
         gint cp;
         gint result;
        gint finishallowed=0;
-       gchar *tmptext;
+       gboolean account_added_successfully;
 
-       priv = MODEST_UI_GET_PRIVATE(MODEST_UI(user_data));
+       priv = MODEST_UI_GET_PRIVATE(MODEST_UI(modest_ui));
 
        glade_xml = glade_xml_new(MODEST_GLADE, "account_wizard", NULL);
 
@@ -146,7 +203,7 @@ void on_new_account1_activate (GtkMenuItem *menuitem,
         gtk_widget_set_sensitive(FinishButton, FALSE);
 
         do
-        {
+       {
                 cp=gtk_notebook_get_current_page(GTK_NOTEBOOK(Notebook));
                 switch (cp)
                 {
@@ -179,68 +236,24 @@ void on_new_account1_activate (GtkMenuItem *menuitem,
                         break;
                 case 2:
                         gtk_notebook_prev_page(GTK_NOTEBOOK(Notebook));
-                        break;
+                       break;
+               case GTK_RESPONSE_ACCEPT:
+                       account_added_successfully=wizard_account_add(glade_xml, priv);
+                       break;
+               default:
+                       account_added_successfully=FALSE;
                 }
         }
-        while(result!=GTK_RESPONSE_DELETE_EVENT && result!=GTK_RESPONSE_ACCEPT && result!=GTK_RESPONSE_CANCEL);
-
-        if (result==GTK_RESPONSE_ACCEPT)
-        {
-               ModestAccountMgr *acc_mgr;
-               ModestIdentityMgr *id_mgr;
-               const gchar *account_name="default";
-               ModestConf *conf=priv->modest_conf;
-
-               g_return_if_fail (conf);
-
-               acc_mgr = MODEST_ACCOUNT_MGR(modest_account_mgr_new (conf));
-               if (!acc_mgr) {
-                       g_warning ("failed to instantiate account mgr");
-                       return;
-               }
-
-               if (modest_account_mgr_account_exists (acc_mgr, account_name, NULL)) {
-                       if (!modest_account_mgr_remove_account(acc_mgr, account_name, NULL)) {
-                               g_warning ("could not delete existing account");
-                       }
-               }
-
-               if (!modest_account_mgr_add_account (acc_mgr, account_name, "defaultstore", "defaulttransport", NULL))
-                       g_warning ("failed to add default account");
-               else
-               {
-                       tmptext=get_text_from_combobox(glade_xml_get_widget(glade_xml, "AWMailboxtypeComboBox"));
-                       modest_account_mgr_add_server_account (acc_mgr, "defaultstore",
-                                                              gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWInServerComboEntry"))),
-                                                              gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWUserNameEntry"))),
-                                                              NULL,
-                                                              tmptext);
-                       free(tmptext);
-                       modest_account_mgr_add_server_account (acc_mgr, "defaulttransport",
-                                                              gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWOutServerComboEntry"))),
-                                                              NULL,
-                                                              NULL,
-                                                              "smtp");
-
-               }
-               id_mgr = MODEST_IDENTITY_MGR(modest_identity_mgr_new (conf));
-               if (modest_identity_mgr_identity_exists(id_mgr, "defaultidentity", NULL)) {
-                       if (!modest_identity_mgr_remove_identity(id_mgr, "defaultidentity", NULL)) {
-                               g_warning ("could not delete existing default identity");
-                       }
-               }
-               if (!modest_identity_mgr_add_identity (id_mgr,
-                                                      MODEST_IDENTITY_DEFAULT_IDENTITY,
-                                                      gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWEMailAddressEntry"))),
-                                                      "", "", FALSE, NULL, FALSE ))
-                       g_warning ("failed to add default identity");
-
-               g_object_unref (G_OBJECT(acc_mgr));
-               g_object_unref (G_OBJECT(id_mgr));
-
-        }
+        while(result!=GTK_RESPONSE_DELETE_EVENT && result!=GTK_RESPONSE_CANCEL && account_added_successfully!=TRUE);
 
        gtk_widget_destroy(dialog);
        g_object_unref(glade_xml);
 }
 
+void new_wizard_account (GtkWidget *widget,
+                        gpointer user_data)
+{
+       /* for now: */
+       wizard_account_dialog(MODEST_UI(user_data));
+}
+
index 9d0b829..254bee0 100644 (file)
@@ -4,8 +4,8 @@
 #ifndef __MODEST_UI_WIZZARD_H__
 #define __MODEST_UI_WIZZARD_H__
 
-void on_new_account1_activate (GtkMenuItem *,
-                               gpointer);
+void new_wizard_account (GtkWidget *,
+                         gpointer);
 
 #endif /* __MODEST_UI_WIZZARD_H__ */
 
index 5e1ea75..98d2280 100644 (file)
@@ -321,7 +321,7 @@ modest_ui_show_main_window (ModestUI *modest_ui)
        }
 
         g_signal_connect (new_account_item, "activate",
-                          G_CALLBACK(on_new_account1_activate),
+                          G_CALLBACK(new_wizard_account),
                           modest_ui);
 
        delete_item = glade_xml_get_widget (priv->glade_xml, "delete1");
@@ -443,7 +443,7 @@ modest_ui_new_edit_window (ModestUI *modest_ui, const gchar* to,
                modest_window_mgr_register (priv->modest_window_mgr,
                                                                        G_OBJECT(win), MODEST_EDIT_WINDOW, 0);
        }
-       
+
        to_entry      = glade_xml_get_widget (priv->glade_xml, "to_entry");
        subject_entry = glade_xml_get_widget (priv->glade_xml, "subject_entry");
        body_view     = glade_xml_get_widget (priv->glade_xml, "body_view");