#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,
init_debug_g_type();
init_debug_logging();
- g_thread_init(NULL);
+ if (!g_thread_supported())
+ g_thread_init(NULL);
+
gdk_threads_init ();
if (!modest_runtime_init()) {
/* Set application name */
g_set_application_name (modest_platform_get_app_name());
- g_message (modest_platform_get_app_name());
+ /* g_message (modest_platform_get_app_name()); */
init_stock_icons ();
return TRUE;
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;
}
}
}
-
+/* TODO: This is a duplicate of modest_account_mgr_set_first_account_as_default(). */
/**
* init_default_account_maybe:
*
gchar *default_account;
gboolean retval = TRUE;
- all_accounts = modest_account_mgr_account_names (acc_mgr);
+ 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);
static void
init_i18n (void)
{
+ const gchar* gettext_package;
/* Setup gettext, to use our .po files: */
/* GETTEXT_PACKAGE and MODEST_LOCALE_DIR are defined in config.h */
- bindtextdomain (GETTEXT_PACKAGE, MODEST_LOCALE_DIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
+#ifdef MODEST_HILDON_VERSION_0
+ gettext_package = GETTEXT_PACKAGE;
+ bindtextdomain (gettext_package, MODEST_LOCALE_DIR);
+#else
+ gettext_package = "osso-email"; /* HACK to use the localizations */
+ bindtextdomain (gettext_package, "/usr/share/locale");
+#endif /*MODEST_HILDON_VERSION_0*/
+
+ bind_textdomain_codeset (gettext_package, "UTF-8");
+ textdomain (gettext_package);
}
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);
}