#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 <modest-widget-memory.h>
#include <tny-error.h>
#include <tny-simple-list.h>
void
modest_ui_actions_on_accounts (GtkAction *action, ModestWindow *win)
{
+ GSList *account_names = modest_account_mgr_account_names (modest_runtime_get_account_mgr());
+
+ gboolean accounts_exist = account_names != NULL;
+ g_slist_free (account_names);
+
/* 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 */
- 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));
+ /* 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;
}
void
-modest_ui_actions_on_new_account (GtkAction *action, ModestWindow *win)
-{
- /* 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 */
- 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));
-#endif /* MODEST_PLATFORM_MAEMO */
-}
-
-void
modest_ui_actions_on_new_msg (GtkAction *action, ModestWindow *win)
{
ModestWindow *msg_win;