* restore gnome building (check for easysetup)
[modest] / src / modest-runtime.c
index 17347e8..de3fa1f 100644 (file)
@@ -53,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;
@@ -93,7 +94,14 @@ static const FolderCols OUTBOX_COLUMNS_TWOLINES[] = {
         {MODEST_HEADER_VIEW_COLUMN_ATTACH,  40},
         {MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT,200},
 };
-        
+
+#ifdef MODEST_PLATFORM_MAEMO
+static const TnyFolderType LOCAL_FOLDERS[] = {
+       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_DRAFTS,
@@ -101,6 +109,8 @@ static const TnyFolderType LOCAL_FOLDERS[] = {
        TNY_FOLDER_TYPE_TRASH,
        TNY_FOLDER_TYPE_ARCHIVE 
 };
+#endif /* MODEST_PLATFORM_MAEMO */
+
 
 
 gboolean
@@ -140,6 +150,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 ();
@@ -521,10 +533,11 @@ init_debug_logging (void)
 static void
 init_i18n (void)
 {
-       bindtextdomain (GETTEXT_PACKAGE, MODEST_LOCALEDIR);
+       /* 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);
-
 }
 
 
@@ -538,11 +551,17 @@ init_stock_icons (void)
        static gboolean registered = FALSE;
   
        if (!registered) {
+               GtkIconTheme *current_theme;
                GdkPixbuf *pixbuf;
                GtkIconFactory *factory;
                gint i;
 
                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_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 },  */
@@ -556,6 +575,11 @@ 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_MAIL_SEND,
                        MODEST_TOOLBAR_ICON_NEW_MAIL,
 /*                     MODEST_TOOLBAR_ICON_SEND_RECEIVE,  */
@@ -566,6 +590,7 @@ init_stock_icons (void)
 /*                     MODEST_TOOLBAR_ICON_NEXT, */
 /*                     MODEST_TOOLBAR_ICON_PREV, */
 /*                     MODEST_TOOLBAR_ICON_STOP */
+                       MODEST_TOOLBAR_ICON_FORMAT_BULLETS,
                };
 
                registered = TRUE;
@@ -577,17 +602,26 @@ 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;
+
+#ifdef MODEST_PLATFORM_MAEMO  /* MODES_PLATFORM_ID: 1 ==> gnome, 2==> maemo */ 
+                       pixbuf = gtk_icon_theme_load_icon (current_theme,
+                                                          items_names[i],
+                                                          26,
+                                                          GTK_ICON_LOOKUP_NO_SVG,
+                                                          NULL);
+#else
                        pixbuf = gdk_pixbuf_new_from_file (items_names[i], 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);
@@ -638,3 +672,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);
+
+}