#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);
#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,
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:
*
*/
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 ();
+{
+ gchar *maildir_path = modest_local_folder_info_get_maildir_path ();
+ /* 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);
}