#include <modest-account-mgr.h>
#include <modest-account-mgr-helpers.h>
#include <modest-icon-names.h>
+#include "widgets/modest-global-settings-dialog.h"
+#include "modest-tny-msg.h"
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);
};
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[] = {
};
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}
};
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
static const TnyFolderType LOCAL_FOLDERS[] = {
- TNY_FOLDER_TYPE_OUTBOX,
+/* TNY_FOLDER_TYPE_OUTBOX, */
TNY_FOLDER_TYPE_DRAFTS,
TNY_FOLDER_TYPE_SENT
};
#else
static const TnyFolderType LOCAL_FOLDERS[] = {
- TNY_FOLDER_TYPE_OUTBOX,
+/* TNY_FOLDER_TYPE_OUTBOX, */
TNY_FOLDER_TYPE_DRAFTS,
TNY_FOLDER_TYPE_SENT,
TNY_FOLDER_TYPE_TRASH,
init_default_settings (modest_runtime_get_conf ());
- if (!init_local_folders()) {
+ if (!modest_init_local_folders(NULL /* means $HOME */)) {
modest_init_uninit ();
g_printerr ("modest: failed to init local folders\n");
return FALSE;
return TRUE;
}
+gboolean modest_init_one_local_folder (gchar *maildir_path)
+{
+ static const gchar* maildirs[] = {
+ "cur", "new", "tmp"
+ };
+
+ int j;
+ for (j = 0; j != G_N_ELEMENTS(maildirs); ++j) {
+ gchar *dir = g_build_filename (maildir_path,
+ maildirs[j],
+ NULL);
+ if (g_mkdir_with_parents (dir, 0755) < 0) {
+ g_printerr ("modest: failed to create %s\n", dir);
+ g_free (dir);
+ return FALSE;
+ }
+
+ g_free (dir);
+ }
+
+ return TRUE;
+}
+
/**
- * init_local_folders:
+ * modest_init_local_folders:
+ * @location_filepath: The location at which the local-folders directory should be created,
+ * or NULL to specify $HOME.
*
* create the Local Folders folder under cache, if they
* do not exist yet.
* Returns: TRUE if the folder were already there, or
* they were created, FALSE otherwise
*/
-static gboolean
-init_local_folders (void)
-{
- int i;
- gchar *maildir_path;
- static const gchar* maildirs[] = {
- "cur", "new", "tmp"
- };
-
- maildir_path = modest_local_folder_info_get_maildir_path ();
+gboolean
+modest_init_local_folders (const gchar* location_filepath)
+{
+ 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) {
- int j;
- for (j = 0; j != G_N_ELEMENTS(maildirs); ++j) {
- gchar *dir;
- dir = g_build_filename (maildir_path,
+ gchar *dir = g_build_filename (maildir_path,
modest_local_folder_info_get_type_name(LOCAL_FOLDERS[i]),
- maildirs[j],
- NULL);
- if (g_mkdir_with_parents (dir, 0755) < 0) {
- g_printerr ("modest: failed to create %s\n", dir);
- g_free (dir);
- g_free (maildir_path);
- return FALSE;
- }
- g_free(dir);
+ NULL);
+ const gboolean created = modest_init_one_local_folder (dir);
+ g_free(dir);
+
+ if (!created) {
+ g_free (maildir_path);
+ return FALSE;
}
}
if (!modest_conf_key_exists (conf, MODEST_CONF_CONNECT_AT_STARTUP, NULL))
modest_conf_set_bool (conf, MODEST_CONF_CONNECT_AT_STARTUP, TRUE, NULL);
+ /* Global settings */
+ if (!modest_conf_key_exists (conf, MODEST_CONF_AUTO_UPDATE, NULL))
+ modest_conf_set_bool (conf, MODEST_CONF_AUTO_UPDATE, TRUE, NULL);
+
+ if (!modest_conf_key_exists (conf, MODEST_CONF_UPDATE_WHEN_CONNECTED_BY, NULL))
+ modest_conf_set_int (conf, MODEST_CONF_UPDATE_WHEN_CONNECTED_BY, MODEST_CONNECTED_VIA_WLAN, NULL);
+
+ if (!modest_conf_key_exists (conf, MODEST_CONF_UPDATE_INTERVAL, NULL))
+ modest_conf_set_int (conf, MODEST_CONF_UPDATE_INTERVAL, MODEST_UPDATE_INTERVAL_15_MIN, NULL);
+
+ if (!modest_conf_key_exists (conf, MODEST_CONF_MSG_SIZE_LIMIT, NULL))
+ modest_conf_set_int (conf, MODEST_CONF_MSG_SIZE_LIMIT, 1000, NULL);
+
+ if (!modest_conf_key_exists (conf, MODEST_CONF_PLAY_SOUND_MSG_ARRIVE, NULL))
+ modest_conf_set_bool (conf, MODEST_CONF_PLAY_SOUND_MSG_ARRIVE, FALSE, NULL);
+
if (!modest_conf_key_exists (conf, MODEST_CONF_PREFER_FORMATTED_TEXT, NULL))
modest_conf_set_bool (conf, MODEST_CONF_PREFER_FORMATTED_TEXT, TRUE, NULL);
+ if (!modest_conf_key_exists (conf, MODEST_CONF_REPLY_TYPE, NULL))
+ modest_conf_set_int (conf, MODEST_CONF_REPLY_TYPE, MODEST_TNY_MSG_REPLY_TYPE_QUOTE, NULL);
}
else
devname[len] = '\0';
- modest_conf_set_string (conf, MODEST_CONF_DEVICE_NAME,devname, NULL);
+ GError *err = NULL;
+ if (!modest_conf_set_string (conf, MODEST_CONF_DEVICE_NAME,devname, &err)) {
+ g_printerr ("modest: error setting device name '%s': %s",
+ devname, err ? err->message: "?");
+ g_error_free (err);
+ }
}
-
+
g_free (devname);
}