X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-runtime.c;h=5ed75267f21ad17448ae37b1e92dcfb49d315e79;hb=ed5c56ad762a26abfa2d45d0d3f07dfa0fce2e14;hp=f071ce99d3062672e08ef5770ec6e117ebf12650;hpb=0489db9d4ed582aecd48b26cdd71f3ade843a16d;p=modest diff --git a/src/modest-runtime.c b/src/modest-runtime.c index f071ce9..5ed7526 100644 --- a/src/modest-runtime.c +++ b/src/modest-runtime.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -44,11 +45,6 @@ #include #include -#if MODEST_PLATFORM_ID==2 /* maemo/hildon */ -#include -static gboolean init_hildon (void); -#endif /* MODEST_PLATFORM_ID==2 */ - static gboolean init_header_columns (ModestConf *conf, gboolean overwrite); static gboolean init_local_folders (void); static gboolean init_default_account_maybe (ModestAccountMgr *acc_mgr); @@ -57,6 +53,7 @@ static void init_stock_icons (void); static void init_debug_g_type (void); static void init_debug_logging (void); static void init_test_accounts (ModestAccountMgr *acc_mgr); +static void init_default_settings (ModestConf *conf); static ModestSingletons *_singletons = NULL; @@ -130,14 +127,12 @@ modest_runtime_init (void) g_printerr ("modest: failed to initialize singletons\n"); return FALSE; } - -#if MODEST_PLATFORM_ID==2 - if (!init_hildon ()) { + + if (!modest_platform_init()) { modest_runtime_uninit (); - g_printerr ("modest: failed to initialize hildon\n"); + g_printerr ("modest: failed to run platform-specific initialization\n"); return FALSE; } -#endif /* MODEST_PLATFORM_ID==2 */ /* based on the debug settings, we decide whether to overwrite old settings */ reset = modest_runtime_get_debug_flags () & MODEST_RUNTIME_DEBUG_FACTORY_SETTINGS; @@ -146,6 +141,8 @@ modest_runtime_init (void) g_printerr ("modest: failed to init header columns\n"); return FALSE; } + + init_default_settings (modest_singletons_get_conf (my_singletons)); if (!init_local_folders()) { modest_runtime_uninit (); @@ -534,21 +531,6 @@ init_i18n (void) } -#if MODEST_PLATFORM_ID==2 -static gboolean -init_hildon (void) -{ - osso_context_t *osso_context = - osso_initialize(PACKAGE, PACKAGE_VERSION, - TRUE, NULL); - if (!osso_context) { - g_printerr ("modest: failed to acquire osso context\n"); - return FALSE; - } -} -#endif /* MODEST_PLATFORM_ID==2 */ - - /* * This function registers our custom toolbar icons, so they can be * themed. The idea of this function was taken from the gtk-demo @@ -559,11 +541,17 @@ init_stock_icons (void) static gboolean registered = FALSE; if (!registered) { + GtkIconTheme *current_theme; GdkPixbuf *pixbuf; GtkIconFactory *factory; gint i; static GtkStockItem items[] = { +#if MODEST_PLATFORM_ID==2 + { 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_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 }, */ @@ -577,6 +565,11 @@ init_stock_icons (void) }; static gchar *items_names [] = { +#if MODEST_PLATFORM_ID==2 + MODEST_TOOLBAR_ICON_SPLIT_VIEW, + MODEST_TOOLBAR_ICON_SORT, + MODEST_TOOLBAR_ICON_REFRESH, +#endif MODEST_TOOLBAR_ICON_MAIL_SEND, MODEST_TOOLBAR_ICON_NEW_MAIL, /* MODEST_TOOLBAR_ICON_SEND_RECEIVE, */ @@ -587,6 +580,7 @@ init_stock_icons (void) /* MODEST_TOOLBAR_ICON_NEXT, */ /* MODEST_TOOLBAR_ICON_PREV, */ /* MODEST_TOOLBAR_ICON_STOP */ + MODEST_TOOLBAR_ICON_FORMAT_BULLETS, }; registered = TRUE; @@ -598,17 +592,25 @@ init_stock_icons (void) factory = gtk_icon_factory_new (); gtk_icon_factory_add_default (factory); + current_theme = gtk_icon_theme_get_default (); + /* Register icons to accompany stock items */ for (i = 0; i < G_N_ELEMENTS (items); i++) { - pixbuf = NULL; - pixbuf = gdk_pixbuf_new_from_file (items_names[i], NULL); +#if MODEST_PLATFORM_ID==1 /* MODES_PLATFORM_ID: 1 ==> gnome, 2==> maemo */ + pixbuf = gdk_pixbuf_new_from_file (items_names[i], NULL); +#else + pixbuf = gtk_icon_theme_load_icon (current_theme, + items_names[i], + 26, + GTK_ICON_LOOKUP_NO_SVG, + NULL); +#endif if (pixbuf != NULL) { GtkIconSet *icon_set; GdkPixbuf *transparent; transparent = gdk_pixbuf_add_alpha (pixbuf, TRUE, 0xff, 0xff, 0xff); - icon_set = gtk_icon_set_new_from_pixbuf (transparent); gtk_icon_factory_add (factory, items[i].stock_id, icon_set); gtk_icon_set_unref (icon_set); @@ -659,3 +661,21 @@ init_test_accounts (ModestAccountMgr *acc_mgr) modest_account_mgr_add_account (acc_mgr, imap_test, imap_test, smtp_test); modest_account_mgr_add_account (acc_mgr, pop_test, pop_test, smtp_test); } + + +static void +init_default_settings (ModestConf *conf) +{ + if (!modest_conf_key_exists (conf, MODEST_CONF_SHOW_TOOLBAR, NULL)) + modest_conf_set_bool (conf, MODEST_CONF_SHOW_TOOLBAR, TRUE, NULL); + + if (!modest_conf_key_exists (conf, MODEST_CONF_SHOW_CC, NULL)) + modest_conf_set_bool (conf, MODEST_CONF_SHOW_CC, TRUE, NULL); + + if (!modest_conf_key_exists (conf, MODEST_CONF_SHOW_BCC, NULL)) + modest_conf_set_bool (conf, MODEST_CONF_SHOW_BCC, FALSE, NULL); + + if (!modest_conf_key_exists (conf, MODEST_CONF_CONNECT_AT_STARTUP, NULL)) + modest_conf_set_bool (conf, MODEST_CONF_CONNECT_AT_STARTUP, TRUE, NULL); + +}