X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-init.c;h=a51ca27944af2f3cf247bb8a133c8e984a508f1f;hb=a6ae0dc956e2e6a05a842d2001ade946c2c4ea98;hp=37016d40aab3258f8cc50c86969653d2635c78fe;hpb=96d9a8c787c693406a0f26e3d3a00065c7236fe5;p=modest diff --git a/src/modest-init.c b/src/modest-init.c index 37016d4..a51ca27 100644 --- a/src/modest-init.c +++ b/src/modest-init.c @@ -48,9 +48,13 @@ #include #include "widgets/modest-global-settings-dialog.h" #include "modest-tny-msg.h" +#ifdef MODEST_PLATFORM_MAEMO +#include +#else +#include +#endif static gboolean init_header_columns (ModestConf *conf, gboolean overwrite); -static gboolean init_local_folders (void); static gboolean init_default_account_maybe (ModestAccountMgr *acc_mgr); static void init_i18n (void); static void init_stock_icons (void); @@ -68,6 +72,9 @@ typedef struct { gint sort; } FolderCols; + +static const guint MODEST_MAIN_PANED_POS = 280; + static const FolderCols INBOX_COLUMNS_DETAILS[] = { {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 40, 0}, {MODEST_HEADER_VIEW_COLUMN_ATTACH, 40, 0}, @@ -78,9 +85,7 @@ static const FolderCols INBOX_COLUMNS_DETAILS[] = { }; static const FolderCols INBOX_COLUMNS_TWOLINES[] = { - {MODEST_HEADER_VIEW_COLUMN_COMPACT_FLAG, 40, 0}, {MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_IN, 180, 0}, - {MODEST_HEADER_VIEW_COLUMN_COMPACT_RECEIVED_DATE, 240, -1} }; static const FolderCols OUTBOX_COLUMNS_DETAILS[] = { @@ -93,15 +98,12 @@ static const FolderCols OUTBOX_COLUMNS_DETAILS[] = { }; static const FolderCols OUTBOX_COLUMNS_TWOLINES[] = { - {MODEST_HEADER_VIEW_COLUMN_COMPACT_FLAG, 40, 0}, - {MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT,180, 0}, - {MODEST_HEADER_VIEW_COLUMN_STATUS, 240, 0} + {MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT,180, 0} +// {MODEST_HEADER_VIEW_COLUMN_STATUS, 240, 0} }; static const FolderCols SENT_COLUMNS_TWOLINES[] = { - {MODEST_HEADER_VIEW_COLUMN_COMPACT_FLAG, 40, 0}, {MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT,180, 0}, - {MODEST_HEADER_VIEW_COLUMN_COMPACT_SENT_DATE, 240, -1} }; #ifdef MODEST_PLATFORM_MAEMO @@ -169,13 +171,13 @@ modest_init_init_core (void) init_default_settings (modest_runtime_get_conf ()); - if (!init_local_folders()) { + if (!modest_init_local_folders(NULL)) { modest_init_uninit (); g_printerr ("modest: failed to init local folders\n"); return FALSE; } - if (!init_default_account_maybe(modest_runtime_get_account_mgr ())) { + if (!init_default_account_maybe (modest_runtime_get_account_mgr ())) { modest_init_uninit (); g_printerr ("modest: failed to init default account\n"); return FALSE; @@ -197,7 +199,12 @@ modest_init_init_ui (gint argc, gchar** argv) g_set_application_name (modest_platform_get_app_name()); /* g_message (modest_platform_get_app_name()); */ + /* Init stock icons */ init_stock_icons (); + + /* Init notification system */ + notify_init ("Basics"); + return TRUE; } @@ -265,6 +272,7 @@ static gboolean init_header_columns (ModestConf *conf, gboolean overwrite) { int folder_type; + gchar *key; for (folder_type = TNY_FOLDER_TYPE_UNKNOWN; folder_type <= TNY_FOLDER_TYPE_CALENDAR; ++folder_type) { @@ -304,6 +312,14 @@ init_header_columns (ModestConf *conf, gboolean overwrite) overwrite); }; } + + key = _modest_widget_memory_get_keyname (MODEST_CONF_MAIN_PANED_KEY, MODEST_WIDGET_MEMORY_PARAM_POS); + /* if we're not in overwrite mode, only write stuff it + * there was nothing before */ + if (overwrite || !modest_conf_key_exists(conf, key, NULL)) + modest_conf_set_int (conf, key, MODEST_MAIN_PANED_POS, NULL); + + g_free (key); return TRUE; } @@ -319,7 +335,7 @@ gboolean modest_init_one_local_folder (gchar *maildir_path) maildirs[j], NULL); if (g_mkdir_with_parents (dir, 0755) < 0) { - g_printerr ("modest: failed to create %s\n", dir); + g_printerr ("modest: %s: failed to create %s\n", __FUNCTION__, dir); g_free (dir); return FALSE; } @@ -331,7 +347,7 @@ gboolean modest_init_one_local_folder (gchar *maildir_path) } /** - * init_local_folders: + * modest_init_local_folders: * * create the Local Folders folder under cache, if they * do not exist yet. @@ -339,41 +355,41 @@ gboolean modest_init_one_local_folder (gchar *maildir_path) * Returns: TRUE if the folder were already there, or * they were created, FALSE otherwise */ -static gboolean -init_local_folders (void) +gboolean +modest_init_local_folders (const gchar* location_filepath) { - gchar *maildir_path = modest_local_folder_info_get_maildir_path (); + gchar *maildir_path = modest_local_folder_info_get_maildir_path (location_filepath); - /* Create each of the standard on-disk folders. - * Per-account outbox folders will be created when first needed. */ - int i; - for (i = 0; i != G_N_ELEMENTS(LOCAL_FOLDERS); ++i) { - gchar *dir = g_build_filename (maildir_path, - modest_local_folder_info_get_type_name(LOCAL_FOLDERS[i]), - NULL); - const gboolean created = modest_init_one_local_folder (dir); - g_free(dir); - - if (!created) { + if (location_filepath) { + /* For instance, for memory card, just create the top-level .modest folder: */ + if (g_mkdir_with_parents (maildir_path, 0755) < 0) { + g_printerr ("modest: %s: failed to create %s\n", __FUNCTION__, location_filepath); g_free (maildir_path); return FALSE; } } + else { + /* Create each of the standard on-disk folders. + * Per-account outbox folders will be created when first needed. */ + int i; + for (i = 0; i != G_N_ELEMENTS(LOCAL_FOLDERS); ++i) { + gchar *dir = g_build_filename (maildir_path, + modest_local_folder_info_get_type_name(LOCAL_FOLDERS[i]), + NULL); + const gboolean created = modest_init_one_local_folder (dir); + g_free(dir); + + if (!created) { + g_free (maildir_path); + return FALSE; + } + } + } g_free (maildir_path); return TRUE; } - - -static void -free_element (gpointer data, gpointer user_data) -{ - g_free (data); -} - - -/* TODO: This is a duplicate of modest_account_mgr_set_first_account_as_default(). */ /** * init_default_account_maybe: * @@ -387,29 +403,14 @@ free_element (gpointer data, gpointer user_data) static gboolean init_default_account_maybe (ModestAccountMgr *acc_mgr) { - GSList *all_accounts = NULL; gchar *default_account; gboolean retval = TRUE; - - all_accounts = modest_account_mgr_account_names (acc_mgr, TRUE /* enabled accounts only */); - if (all_accounts) { /* if there are any accounts, there should be a default one */ - default_account = - modest_account_mgr_get_default_account (acc_mgr); - if (!default_account) { - gchar *first_account; - g_printerr ("modest: no default account defined\n"); - first_account = (gchar*)all_accounts->data; - if ((retval = modest_account_mgr_set_default_account (acc_mgr, first_account))) - g_printerr ("modest: set '%s' as the default account\n", - first_account); - else - g_printerr ("modest: failed to set '%s' as the default account\n", - first_account); - g_free (default_account); - } - g_slist_foreach (all_accounts, free_element, NULL); - g_slist_free (all_accounts); - } + + default_account = modest_account_mgr_get_default_account (acc_mgr); + if (!default_account) + retval = modest_account_mgr_set_first_account_as_default (acc_mgr); + g_free (default_account); + return retval; }