X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fgtk-glade%2Fmodest-ui-wizard.c;fp=src%2Fgtk-glade%2Fmodest-ui-wizard.c;h=0000000000000000000000000000000000000000;hb=345d71d7fd5415616689df0265da82b1477acd54;hp=3edf494e3d1ac037075673f967a74f2770bf3ae3;hpb=b0bf67c67967f06a50ab68befeb8d52d34001e0b;p=modest diff --git a/src/gtk-glade/modest-ui-wizard.c b/src/gtk-glade/modest-ui-wizard.c deleted file mode 100644 index 3edf494..0000000 --- a/src/gtk-glade/modest-ui-wizard.c +++ /dev/null @@ -1,303 +0,0 @@ -/* modest-ui-wizard.c */ - -/* insert (c)/licensing information) */ - -#include -#include -#include -#include - -#ifdef HAVE_CONFIG_H -#include -#endif /*HAVE_CONFIG_H*/ - -#include "../modest-account-mgr.h" -#include "../modest-identity-mgr.h" - -#include "modest-ui-glade.h" -#include "modest-ui-wizard.h" - - -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, - GTK_DIALOG_MODAL, - GTK_MESSAGE_INFO, - GTK_BUTTONS_OK, - "%s", - info_message); - - gtk_dialog_run(GTK_DIALOG(DenyDialog)); - - gtk_widget_destroy(DenyDialog); -} - -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)); - GtkTreeIter iter; - - gchar *value; - - if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combobox), &iter)) { - gtk_tree_model_get(GTK_TREE_MODEL(model), - &iter, - 0, &value, - -1); - } - - return value; -} - - -gboolean advance_sanity_check(GladeXML *glade_xml, gint cp) { - gchar *tmptext; - - /* FIXME: - * all calls to wizard_missing_notification lack the parent window. - */ - - 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) - * { - * wizard_missing_notification(NULL, "Please enter mailbox name"); - * 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) { - wizard_missing_notification(NULL, "Please select mailbox type."); - return FALSE; - } - 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, "AWUserNameEntry"))))==0) { - wizard_missing_notification(NULL, "Please enter user name."); - return FALSE; - } - return TRUE; - break; - 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; - } - /* smtp servers may work without a username - 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; - } - - return FALSE; -} - -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)) { - for(counter=0; modest_account_mgr_server_account_exists(mgr, tmpaccount_name->str, NULL); counter++) - g_string_printf(tmpaccount_name, "%s%d", draft, counter); - } - else - for(counter=0; modest_identity_mgr_identity_exists(mgr, tmpaccount_name->str, NULL); counter++) - g_string_printf(tmpaccount_name, "%s%d", draft, counter); - - return g_string_free(tmpaccount_name, FALSE); -} - -gboolean wizard_account_add(GladeXML *glade_xml, ModestUI *modest_ui) -{ - ModestAccountMgr *acc_mgr; - ModestIdentityMgr *id_mgr; - gchar *store; - gchar *transport; - gchar *identity; - ModestUIPrivate *priv; - ModestConf *conf; - gchar *tmptext; - gchar *tmptext2; - - g_return_val_if_fail (MODEST_IS_UI(modest_ui), FALSE); - priv = MODEST_UI_GET_PRIVATE(MODEST_UI(modest_ui)); - conf = priv->modest_conf; - - acc_mgr = priv->modest_acc_mgr; - id_mgr = priv->modest_id_mgr; - - tmptext2=get_text_from_combobox(glade_xml_get_widget(glade_xml, "AWMailboxtypeComboBox")); - tmptext=g_utf8_strdown(tmptext2, -1); - g_free(tmptext2); - - store=search_unused_account_or_identity_name(acc_mgr, "incoming"); - modest_account_mgr_add_server_account (acc_mgr, - store, - 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"))), - gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWPasswordEntry"))), - tmptext); - g_free(store); - g_free(tmptext); - - transport=search_unused_account_or_identity_name(acc_mgr, "outgoing"); - 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, - transport, - 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, - transport, - 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"); - - identity=search_unused_account_or_identity_name(id_mgr, MODEST_IDENTITY_DEFAULT_IDENTITY); - if (!modest_identity_mgr_add_identity (id_mgr, - identity, - gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWRealNameEntry"))), - gtk_entry_get_text(GTK_ENTRY(glade_xml_get_widget(glade_xml, "AWEMailAddressEntry"))), - "", "", FALSE, transport, FALSE )) - g_warning ("failed to add default identity"); - - g_free(transport); - g_free(identity); - return TRUE; -} - - -void wizard_account_dialog(ModestUI *modest_ui) -{ - GladeXML *glade_xml; - GtkWidget *dialog; - ModestUIPrivate *priv; - 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; - - g_return_if_fail(MODEST_IS_UI(modest_ui)); - priv = MODEST_UI_GET_PRIVATE(MODEST_UI(modest_ui)); - - glade_xml = glade_xml_new(MODEST_GLADE, "account_wizard", NULL); - - dialog = glade_xml_get_widget(glade_xml, "account_wizard"); - - gtk_widget_show_all(dialog); - - 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(back_button, FALSE); - break; - case 2: - gtk_widget_set_sensitive(back_button, TRUE); - break; - case 3: - 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); - break; - } - - result=gtk_dialog_run(GTK_DIALOG(dialog)); - - switch (result) { - case 1: - if (advance_sanity_check(glade_xml, cp)==TRUE) - gtk_notebook_next_page(GTK_NOTEBOOK(notebook)); - break; - case 2: - gtk_notebook_prev_page(GTK_NOTEBOOK(notebook)); - break; - case GTK_RESPONSE_ACCEPT: - account_added_successfully=wizard_account_add(glade_xml, modest_ui); - break; - default: - account_added_successfully=FALSE; - } - } - 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) -{ - /* This will probably never be used to modify any existing account. */ - wizard_account_dialog(MODEST_UI(user_data)); -} - -