X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-init.c;h=a4f4a899c7ab7f35e5fb8930cadf5af6a4be739c;hp=f41c88a15dffd9ffa1ede99bebd163b7d7cc4e9b;hb=4d39841513a3a7f7aa9d38ab97cb9fcc9171e80b;hpb=3c6ba2e4cafb1cdc7bbf60bda1e38a7738c244fe diff --git a/src/modest-init.c b/src/modest-init.c index f41c88a..a4f4a89 100644 --- a/src/modest-init.c +++ b/src/modest-init.c @@ -27,6 +27,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include #include #include #include @@ -35,6 +36,7 @@ #include #include #include +#include "modest-address-book.h" #include #include #include @@ -185,7 +187,7 @@ force_ke_recv_load (void) { if (strcmp ("cerm_device_memory_full", _KR("cerm_device_memory_full")) == 0) { - g_warning ("%s: cannot get translation for cerm_device_memory_full", + g_debug ("%s: cannot get translation for cerm_device_memory_full", __FUNCTION__); return FALSE; } @@ -244,6 +246,9 @@ modest_init (int argc, char *argv[]) return FALSE; } + /* Initialize addressbook */ + modest_address_book_init (); + reset = modest_runtime_get_debug_flags () & MODEST_RUNTIME_DEBUG_FACTORY_SETTINGS; if (!init_header_columns(modest_runtime_get_conf(), reset)) { modest_init_uninit (); @@ -280,7 +285,7 @@ init_ui (gint argc, gchar** argv) { /* Set application name */ g_set_application_name (modest_platform_get_app_name()); - /* g_message (modest_platform_get_app_name()); */ + /* g_debug (modest_platform_get_app_name()); */ /* Init stock icons */ init_stock_icons (); @@ -479,7 +484,7 @@ gboolean modest_init_one_local_folder (gchar *maildir_path) */ gboolean modest_init_local_folders (const gchar* location_filepath) -{ +{ gboolean retval = TRUE; gchar *maildir_path = modest_local_folder_info_get_maildir_path (location_filepath); @@ -494,18 +499,10 @@ modest_init_local_folders (const gchar* location_filepath) NULL); const gboolean created = modest_init_one_local_folder (dir); g_free(dir); - - if (!created) { - retval = FALSE; - } - #if 0 - /* Do this if we only create the top-level dir: */ - if (g_mkdir_with_parents (maildir_path, 0755) < 0) { - g_printerr ("modest: %s: failed to create %s\n", __FUNCTION__, location_filepath); + if (!created) { retval = FALSE; } - #endif } else { /* Create each of the standard on-disk folders. @@ -514,16 +511,16 @@ modest_init_local_folders (const gchar* location_filepath) for (i = 0; i != G_N_ELEMENTS(LOCAL_FOLDERS); ++i) { gchar *dir = g_build_filename (maildir_path, modest_local_folder_info_get_type_name(LOCAL_FOLDERS[i]), - NULL); + NULL); const gboolean created = modest_init_one_local_folder (dir); g_free(dir); - + if (!created) { retval = FALSE; } } } - + g_free (maildir_path); return retval; } @@ -571,11 +568,29 @@ init_debug_g_type (void) g_type_init_with_debug_flags (gflags); } +#ifndef DEBUG +static void +null_log(const gchar* dom, + GLogLevelFlags l, + const gchar* m, + gpointer d) +{ + return; +}; +#endif + static void init_debug_logging (void) { ModestRuntimeDebugFlags mflags; mflags = modest_runtime_get_debug_flags (); + +#ifndef DEBUG + if (! (mflags & MODEST_RUNTIME_DEBUG_CODE)) { + g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG, null_log, NULL); + } +#endif + if (mflags & MODEST_RUNTIME_DEBUG_ABORT_ON_WARNING) g_log_set_always_fatal (G_LOG_LEVEL_ERROR | @@ -587,22 +602,12 @@ init_debug_logging (void) static void init_i18n (void) { - /* 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 */ bindtextdomain (GETTEXT_PACKAGE, MODEST_LOCALE_DIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); @@ -618,7 +623,7 @@ static void init_stock_icons (void) { static gboolean registered = FALSE; - + if (!registered) { GtkIconTheme *current_theme; GdkPixbuf *pixbuf; @@ -633,16 +638,12 @@ init_stock_icons (void) { 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_DELETE, "delete", 0, 0, NULL }, -/* { MODEST_STOCK_NEXT, "next", 0, 0, NULL }, */ -/* { MODEST_STOCK_PREV, "prev", 0, 0, NULL }, */ -/* { MODEST_STOCK_STOP, "stop", 0, 0, NULL } */ + { MODEST_STOCK_DELETE, "delete", 0, 0, NULL }, }; - + static gchar *items_names [] = { #ifndef MODEST_TOOLKIT_GTK MODEST_TOOLBAR_ICON_SORT, @@ -651,22 +652,17 @@ init_stock_icons (void) 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, 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_DELETE, }; registered = TRUE; /* Register our stock items */ gtk_stock_add (items, G_N_ELEMENTS (items)); - + /* Add our custom icon factory to the list of defaults */ factory = gtk_icon_factory_new (); gtk_icon_factory_add_default (factory); @@ -676,10 +672,14 @@ init_stock_icons (void) /* Register icons to accompany stock items */ for (i = 0; i < G_N_ELEMENTS (items); i++) { -#ifndef MODEST_PLATFORM_GTK +#ifndef MODEST_PLATFORM_GTK pixbuf = gtk_icon_theme_load_icon (current_theme, items_names[i], - 26, +#ifdef MODEST_TOOLKIT_HILDON2 + MODEST_ICON_SIZE_BIG, +#else + MODEST_ICON_SIZE_SMALL, +#endif GTK_ICON_LOOKUP_NO_SVG, NULL); #else @@ -688,17 +688,21 @@ init_stock_icons (void) if (pixbuf != NULL) { GtkIconSet *icon_set; - GdkPixbuf *transparent; +#ifndef MODEST_TOOLKIT_HILDON2 + GdkPixbuf *transparent; transparent = gdk_pixbuf_add_alpha (pixbuf, TRUE, 0xff, 0xff, 0xff); icon_set = gtk_icon_set_new_from_pixbuf (transparent); + g_object_unref (transparent); +#else + icon_set = gtk_icon_set_new_from_pixbuf (pixbuf); +#endif gtk_icon_factory_add (factory, items[i].stock_id, icon_set); gtk_icon_set_unref (icon_set); g_object_unref (pixbuf); - g_object_unref (transparent); } else - g_warning ("Modest: %s: failed to load %s icon", __FUNCTION__, items_names[i]); + g_warning ("%s: failed to load %s icon", __FUNCTION__, items_names[i]); } /* Drop our reference to the factory, GTK will hold a reference. */ g_object_unref (factory); @@ -735,6 +739,14 @@ init_default_settings (ModestConf *conf) if (!modest_conf_key_exists (conf, MODEST_CONF_SHOW_BCC, NULL)) modest_conf_set_bool (conf, MODEST_CONF_SHOW_BCC, FALSE, NULL); + /* File chooser keys */ + if (!modest_conf_key_exists (conf, MODEST_CONF_LATEST_ATTACH_FILE_PATH, NULL)) + modest_conf_set_string (conf, MODEST_CONF_LATEST_ATTACH_FILE_PATH, "", NULL); + if (!modest_conf_key_exists (conf, MODEST_CONF_LATEST_INSERT_IMAGE_PATH, NULL)) + modest_conf_set_string (conf, MODEST_CONF_LATEST_INSERT_IMAGE_PATH, "", NULL); + if (!modest_conf_key_exists (conf, MODEST_CONF_LATEST_SAVE_ATTACHMENT_PATH, NULL)) + modest_conf_set_string (conf, MODEST_CONF_LATEST_SAVE_ATTACHMENT_PATH, "", 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); @@ -751,8 +763,13 @@ init_default_settings (ModestConf *conf) 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); +#ifdef MODEST_TOOLKIT_GTK + /* In Gnome port, we only allow editting plain text */ + modest_conf_set_bool (conf, MODEST_CONF_PREFER_FORMATTED_TEXT, FALSE, NULL); +#else if (!modest_conf_key_exists (conf, MODEST_CONF_PREFER_FORMATTED_TEXT, NULL)) modest_conf_set_bool (conf, MODEST_CONF_PREFER_FORMATTED_TEXT, TRUE, NULL); +#endif 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); @@ -769,28 +786,16 @@ init_default_settings (ModestConf *conf) static void init_device_name (ModestConf *conf) { - gsize len = 255; /* max len */ - gchar *devname = NULL; - - if (!g_file_get_contents("/etc/hostname", &devname, &len, NULL) || len < 2 || len > 254) { - g_warning ("%s: failed to read hostname\n", __FUNCTION__); - modest_conf_set_string (conf, MODEST_CONF_DEVICE_NAME, - MODEST_LOCAL_FOLDERS_DEFAULT_DISPLAY_NAME, + struct utsname name; + + if (uname (&name) == 0) { + modest_conf_set_string (modest_runtime_get_conf(), + MODEST_CONF_DEVICE_NAME, name.nodename, NULL); } else { - /* remove the \n at the end */ - if (devname[len-1] == '\n') - devname[len-1] = '\0'; - else - devname[len] = '\0'; - - 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); - } + modest_conf_set_string (modest_runtime_get_conf(), + MODEST_CONF_DEVICE_NAME, + MODEST_LOCAL_FOLDERS_DEFAULT_DISPLAY_NAME, + NULL); } - - g_free (devname); }