X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-init.c;h=8a3b8680cdcd0ce959e8df4c67b16681e8bfb30b;hp=d0cc3e2a7eaef691cb1e1511d9fea3e738099b5e;hb=f849d2d231b92b7d1c7e5f7309802ffa8dd48907;hpb=2f8f9e570328c3e806e71f9df15c7dc921acd19a diff --git a/src/modest-init.c b/src/modest-init.c index d0cc3e2..8a3b868 100644 --- a/src/modest-init.c +++ b/src/modest-init.c @@ -48,6 +48,9 @@ #include #include "widgets/modest-global-settings-dialog.h" #include "modest-tny-msg.h" +#include +#include + #ifdef MODEST_PLATFORM_MAEMO #include "modest-hildon-includes.h" #endif @@ -76,7 +79,8 @@ typedef struct { } FolderCols; -static const guint MODEST_MAIN_PANED_POS = 280; +static const guint MODEST_MAIN_PANED_POS_PERCENTAGE = 30; +static const guint MODEST_MSG_PANED_POS_PERCENTAGE = 50; static const FolderCols INBOX_COLUMNS_DETAILS[] = { {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 40, 0}, @@ -177,17 +181,40 @@ modest_init_get_default_header_view_column_ids (TnyFolderType folder_type, Modes } +static gboolean +force_ke_recv_load (void) +{ + if (strcmp ("cerm_device_memory_full", + dgettext("ke-recv", "cerm_device_memory_full")) == 0) { + g_warning ("%s: cannot get translation for cerm_device_memory_full", + __FUNCTION__); + return FALSE; + } + + return TRUE; +} + + gboolean modest_init (int argc, char *argv[]) { gboolean reset; if (_is_initialized) { - g_printerr ("modest: modest_init_init_core may only be invoked once\n"); + g_printerr ("modest: %s may only be invoked once\n", __FUNCTION__); return FALSE; } init_i18n(); + + if (!force_ke_recv_load()) { + g_printerr ("modest: %s: ke-recv is missing " + "or memory is very low\n", __FUNCTION__); + /* don't return FALSE here, because it might be that ke-recv is + missing. TODO: find a way to verify that + */ + } + init_debug_g_type(); init_debug_logging(); @@ -271,12 +298,15 @@ modest_init_uninit (void) if (!_is_initialized) return TRUE; - if (gnome_vfs_initialized()) /* apparently, this returns TRUE, even after a shutdown */ - gnome_vfs_shutdown (); - if (!modest_runtime_uninit()) g_printerr ("modest: failed to uninit runtime\n"); + if (!modest_platform_uninit()) + g_printerr ("modest: failed to uninit platform\n"); + + if (gnome_vfs_initialized()) /* apparently, this returns TRUE, even after a shutdown */ + gnome_vfs_shutdown (); + _is_initialized = FALSE; return TRUE; } @@ -394,11 +424,21 @@ init_header_columns (ModestConf *conf, gboolean overwrite) }; } - key = _modest_widget_memory_get_keyname (MODEST_CONF_MAIN_PANED_KEY, MODEST_WIDGET_MEMORY_PARAM_POS); + 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); + modest_conf_set_int (conf, key, MODEST_MAIN_PANED_POS_PERCENTAGE, NULL); + + g_free (key); + + key = _modest_widget_memory_get_keyname (MODEST_CONF_MSG_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_MSG_PANED_POS_PERCENTAGE, NULL); g_free (key); return TRUE; @@ -522,9 +562,9 @@ init_debug_g_type (void) gflags = 0; mflags = modest_runtime_get_debug_flags (); - if (mflags & MODEST_RUNTIME_DEBUG_DEBUG_OBJECTS) + if (mflags & MODEST_RUNTIME_DEBUG_OBJECTS) gflags |= G_TYPE_DEBUG_OBJECTS; - if (mflags & MODEST_RUNTIME_DEBUG_DEBUG_SIGNALS) + if (mflags & MODEST_RUNTIME_DEBUG_SIGNALS) gflags |= G_TYPE_DEBUG_SIGNALS; g_type_init_with_debug_flags (gflags); @@ -546,23 +586,26 @@ init_debug_logging (void) 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 */ -/* #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*\/ */ - - gettext_package = GETTEXT_PACKAGE; - - bind_textdomain_codeset (gettext_package, "UTF-8"); - textdomain (gettext_package); + /* little trick make en_GB the fallback language, instead + * of the logical IDs + * we need the ugly ifdefs, because modest_platform_init is + * too late. + */ + const gchar *lc_messages = getenv ("LC_MESSAGES"); + + if (!lc_messages) { + setenv ("LANGUAGE", "en_GB", 1); + setenv ("LC_MESSAGES", "en_GB", 1); + } else { + gchar *language = g_strdup_printf ("%s:en_GB", lc_messages); + setenv ("LANGUAGE", language, 1); + g_free (language); + } + /* end of little trick */ - setlocale (LC_ALL, ""); + bindtextdomain (GETTEXT_PACKAGE, MODEST_LOCALE_DIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); } @@ -583,16 +626,16 @@ init_stock_icons (void) static GtkStockItem items[] = { #ifdef MODEST_PLATFORM_MAEMO - { MODEST_STOCK_SPLIT_VIEW, "split view", 0, 0, NULL }, { MODEST_STOCK_SORT, "sort mail", 0, 0, NULL }, { MODEST_STOCK_REFRESH, "refresh mail", 0, 0, NULL }, #endif /*MODEST_PLATFORM_MAEMO*/ + { MODEST_STOCK_SPLIT_VIEW, "split view", 0, 0, NULL }, { MODEST_STOCK_MAIL_SEND, "send mail", 0, 0, NULL }, { MODEST_STOCK_NEW_MAIL, "new mail", 0, 0, NULL }, /* { MODEST_STOCK_SEND_RECEIVE, "send receive", 0, 0, NULL }, */ { MODEST_STOCK_REPLY, "reply", 0, 0, NULL }, -/* { MODEST_STOCK_REPLY_ALL, "reply all", 0, 0, NULL }, */ -/* { MODEST_STOCK_FORWARD, "forward", 0, 0, NULL }, */ + { MODEST_STOCK_REPLY_ALL, "reply all", 0, 0, NULL }, + { MODEST_STOCK_FORWARD, "forward", 0, 0, NULL }, { MODEST_STOCK_DELETE, "delete", 0, 0, NULL }, /* { MODEST_STOCK_NEXT, "next", 0, 0, NULL }, */ /* { MODEST_STOCK_PREV, "prev", 0, 0, NULL }, */ @@ -601,21 +644,21 @@ init_stock_icons (void) static gchar *items_names [] = { #ifdef MODEST_PLATFORM_MAEMO - MODEST_TOOLBAR_ICON_SPLIT_VIEW, MODEST_TOOLBAR_ICON_SORT, MODEST_TOOLBAR_ICON_REFRESH, #endif /*MODEST_PLATFORM_MAEMO*/ + MODEST_TOOLBAR_ICON_SPLIT_VIEW, MODEST_TOOLBAR_ICON_MAIL_SEND, MODEST_TOOLBAR_ICON_NEW_MAIL, /* MODEST_TOOLBAR_ICON_SEND_RECEIVE, */ MODEST_TOOLBAR_ICON_REPLY, -/* MODEST_TOOLBAR_ICON_REPLY_ALL, */ -/* MODEST_TOOLBAR_ICON_FORWARD, */ + MODEST_TOOLBAR_ICON_REPLY_ALL, + MODEST_TOOLBAR_ICON_FORWARD, MODEST_TOOLBAR_ICON_DELETE, /* MODEST_TOOLBAR_ICON_NEXT, */ /* MODEST_TOOLBAR_ICON_PREV, */ /* MODEST_TOOLBAR_ICON_STOP */ - MODEST_TOOLBAR_ICON_FORMAT_BULLETS, +/* MODEST_TOOLBAR_ICON_FORMAT_BULLETS, */ }; registered = TRUE; @@ -696,7 +739,7 @@ init_default_settings (ModestConf *conf) 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); + modest_conf_set_int (conf, MODEST_CONF_UPDATE_WHEN_CONNECTED_BY, MODEST_CONNECTED_VIA_WLAN_OR_WIMAX, 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); @@ -712,6 +755,9 @@ init_default_settings (ModestConf *conf) 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); + + if (!modest_conf_key_exists (conf, MODEST_CONF_FETCH_HTML_EXTERNAL_IMAGES, NULL)) + modest_conf_set_bool (conf, MODEST_CONF_FETCH_HTML_EXTERNAL_IMAGES, FALSE, NULL); } @@ -722,7 +768,7 @@ init_default_settings (ModestConf *conf) static void init_device_name (ModestConf *conf) { - unsigned int len = 255; /* max len */ + gsize len = 255; /* max len */ gchar *devname = NULL; if (!g_file_get_contents("/etc/hostname", &devname, &len, NULL) || len < 2 || len > 254) {