From: Sergio Villar SenĂ­n Date: Tue, 24 Nov 2009 19:22:47 +0000 (+0100) Subject: Select the region in the easysetup wizard based on device's regional X-Git-Tag: 3.2.2~9 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=fb98616a6219798c38abb5afd58b0040f627ae4c Select the region in the easysetup wizard based on device's regional settings Now we use the name of the country in en_GB to properly select the current region. It works now for every language, even for those that don't have translations for osso-countries Fixes NB#143546 --- diff --git a/src/modest-init.c b/src/modest-init.c index 0a38520..ce4161f 100644 --- a/src/modest-init.c +++ b/src/modest-init.c @@ -195,7 +195,6 @@ force_ke_recv_load (void) return TRUE; } - gboolean modest_init (int argc, char *argv[]) { @@ -204,8 +203,8 @@ modest_init (int argc, char *argv[]) if (_is_initialized) { g_printerr ("modest: %s may only be invoked once\n", __FUNCTION__); return FALSE; - } - + } + init_i18n(); if (!force_ke_recv_load()) { @@ -221,25 +220,25 @@ modest_init (int argc, char *argv[]) /* initialize the prng, we need it when creating random files */ srandom((int)getpid()); - + if (!gnome_vfs_initialized()) { if (!gnome_vfs_init ()) { g_printerr ("modest: failed to init gnome-vfs\n"); return FALSE; } } - + if (!modest_runtime_init()) { modest_init_uninit (); g_printerr ("modest: failed to initialize the modest runtime\n"); return FALSE; } - + modest_plugin_factory_load_all (modest_runtime_get_plugin_factory ()); /* do an initial guess for the device name */ init_device_name (modest_runtime_get_conf()); - + if (!modest_platform_init(argc, argv)) { modest_init_uninit (); g_printerr ("modest: failed to run platform-specific initialization\n"); @@ -257,19 +256,19 @@ modest_init (int argc, char *argv[]) } init_default_settings (modest_runtime_get_conf ()); - + 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 ())) { modest_init_uninit (); g_printerr ("modest: failed to init default account\n"); return FALSE; - } - + } + if (!init_ui (argc, argv)) { modest_init_uninit (); g_printerr ("modest: failed to init ui\n"); @@ -591,28 +590,28 @@ init_debug_logging (void) } #endif - if (mflags & MODEST_RUNTIME_DEBUG_ABORT_ON_WARNING) g_log_set_always_fatal (G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING); } - static void init_i18n (void) { const gchar *lc_messages = setlocale (LC_MESSAGES, NULL); - gchar *new_lc_messages; if (!lc_messages) { setenv ("LANGUAGE", "en_GB", 1); setenv ("LC_MESSAGES", "en_GB", 1); +#ifdef MODEST_PLATFORM_GNOME } else { + gchar *new_lc_messages; new_lc_messages = g_strconcat (lc_messages, ":en_GB", NULL); setenv ("LANGUAGE", new_lc_messages, 1); setenv ("LC_MESSAGES", new_lc_messages, 1); g_free (new_lc_messages); +#endif } bindtextdomain (GETTEXT_PACKAGE, MODEST_LOCALE_DIR); diff --git a/src/modest-main.c b/src/modest-main.c index e84b2de..a74f619 100644 --- a/src/modest-main.c +++ b/src/modest-main.c @@ -188,7 +188,6 @@ main (int argc, char *argv[]) goto cleanup; } - /* Create the account store & launch send queues */ acc_store = modest_runtime_get_account_store (); modest_tny_account_store_start_send_queues (acc_store); diff --git a/src/modest-plugin-factory.c b/src/modest-plugin-factory.c index a94bf9a..fb55b2a 100644 --- a/src/modest-plugin-factory.c +++ b/src/modest-plugin-factory.c @@ -131,7 +131,7 @@ modest_plugin_factory_new (void) } void -modest_plugin_factory_load_all (ModestPluginFactory *self) +modest_plugin_factory_load_all (ModestPluginFactory *self) { ModestPluginFactoryPrivate *priv; GError *error = NULL; @@ -159,7 +159,7 @@ modest_plugin_factory_load_all (ModestPluginFactory *self) while ((dirent = g_dir_read_name (d))) { if (g_str_has_suffix (dirent, PLUGIN_EXT)) { gchar *plugin_file; - ModestPlugin *plugin; + ModestPlugin *plugin = NULL; plugin_file = g_build_filename (MODEST_MAILPLUGINDIR, dirent, NULL); plugin = modest_plugin_factory_load (plugin_file); @@ -169,7 +169,6 @@ modest_plugin_factory_load_all (ModestPluginFactory *self) priv->plugins = g_slist_prepend (priv->plugins, plugin); } } - priv->plugins = g_slist_reverse (priv->plugins); g_dir_close (d); diff --git a/src/modest-utils.c b/src/modest-utils.c index 40bb816..f56a3a8 100644 --- a/src/modest-utils.c +++ b/src/modest-utils.c @@ -934,7 +934,9 @@ modest_utils_fill_country_model (GtkTreeModel *model, gint *locale_mcc) } /* Get the territory specified for the current locale */ - territory = nl_langinfo (_NL_ADDRESS_COUNTRY_NAME); + territory = nl_langinfo (_NL_IDENTIFICATION_TERRITORY); + + setlocale (LC_MESSAGES, "en_GB"); while (fgets (line, MCC_FILE_MAX_LINE_LEN, file) != NULL) { int mcc; @@ -959,6 +961,8 @@ modest_utils_fill_country_model (GtkTreeModel *model, gint *locale_mcc) } } + setlocale (LC_MESSAGES, ""); + /* Now we fill the model */ rewind (file); country_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);