X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-ui-actions.c;h=e44c0c630c115ad6e17fb71c50aaafd55a4a19a0;hp=027f0ed7391a9857bc26ea57af1bbe8d38fe3f7a;hb=bb790bd8b50e81a1e965341d010864d6000c5b38;hpb=2ea9ef8016d9fe8789eec7d20887fd7623d093d1 diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index 027f0ed..e44c0c6 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -48,6 +48,11 @@ #include "modest-account-mgr-helpers.h" #include "modest-mail-operation.h" + +#ifdef MODEST_HAVE_EASYSETUP +#include "easysetup/modest-easysetup-wizard.h" +#endif /*MODEST_HAVE_EASYSETUP*/ + #include #include #include @@ -204,13 +209,33 @@ modest_ui_actions_on_add_to_contacts (GtkAction *action, ModestWindow *win) void modest_ui_actions_on_accounts (GtkAction *action, ModestWindow *win) { - /* GtkDialog *account_win; */ -/* account_win = GTK_DIALOG(modest_account_view_window_new ()); */ + GSList *account_names = modest_account_mgr_account_names (modest_runtime_get_account_mgr()); + + gboolean accounts_exist = account_names != NULL; + g_slist_free (account_names); - -/* gtk_dialog_run (account_win); */ - //gtk_widget_destroy (GTK_WIDGET(account_win)); - GtkWidget *dialog, *label; + /* This is currently only implemented for Maemo, + * because it requires a providers preset file which is not publically available. + */ +#ifdef MODEST_PLATFORM_MAEMO /* Defined in config.h */ + /* To test, while modest_account_mgr_account_names() is broken: accounts_exist = TRUE; */ + if (!accounts_exist) { + /* If there are no accounts yet, just show the easy-setup wizard, as per the UI spec: */ + ModestEasysetupWizardDialog *wizard = modest_easysetup_wizard_dialog_new (); + gtk_window_set_transient_for (GTK_WINDOW (wizard), GTK_WINDOW (win)); + gtk_dialog_run (GTK_DIALOG (wizard)); + gtk_widget_destroy (GTK_WIDGET (wizard)); + } + else + { + /* Show the list of accounts: */ + GtkDialog *account_win = GTK_DIALOG(modest_account_view_window_new ()); + gtk_window_set_transient_for (GTK_WINDOW (account_win), GTK_WINDOW(win)); + gtk_dialog_run (account_win); + gtk_widget_destroy (GTK_WIDGET(account_win)); + } +#else + GtkWidget *dialog, *label; /* Create the widgets */ @@ -233,6 +258,7 @@ modest_ui_actions_on_accounts (GtkAction *action, ModestWindow *win) gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), label); gtk_widget_show_all (dialog); +#endif /* MODEST_PLATFORM_MAEMO */ } void