*/
#include <config.h>
+#include <modest-defs.h>
#include <widgets/modest-header-view.h>
#include <widgets/modest-folder-view.h>
#include <modest-tny-platform-factory.h>
#include <modest-local-folder-info.h>
#include <modest-init.h>
#include <glib/gstdio.h>
+#include <modest-account-mgr.h>
+#include <modest-account-mgr-helpers.h>
typedef struct {
ModestHeaderViewColumn col;
guint width;
} FolderCols;
-
-#if MODEST_PLATFORM_ID==1 /*gtk*/
-static const FolderCols INBOX_COLUMNS[] = {
- {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 20},
- {MODEST_HEADER_VIEW_COLUMN_ATTACH, 20},
- {MODEST_HEADER_VIEW_COLUMN_FROM, 50},
- {MODEST_HEADER_VIEW_COLUMN_SUBJECT, 50},
- {MODEST_HEADER_VIEW_COLUMN_RECEIVED_DATE, 50},
- {MODEST_HEADER_VIEW_COLUMN_SIZE, 30},
+static const FolderCols INBOX_COLUMNS_DETAILS[] = {
+ {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 40},
+ {MODEST_HEADER_VIEW_COLUMN_ATTACH, 40},
+ {MODEST_HEADER_VIEW_COLUMN_FROM, 80},
+ {MODEST_HEADER_VIEW_COLUMN_SUBJECT, 80},
+ {MODEST_HEADER_VIEW_COLUMN_RECEIVED_DATE, 60},
+ {MODEST_HEADER_VIEW_COLUMN_SIZE, 50}
};
-
-static const FolderCols OUTBOX_COLUMNS[] = {
- {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 20},
- {MODEST_HEADER_VIEW_COLUMN_ATTACH, 20},
- {MODEST_HEADER_VIEW_COLUMN_TO, 50},
- {MODEST_HEADER_VIEW_COLUMN_SUBJECT, 50},
- {MODEST_HEADER_VIEW_COLUMN_SENT_DATE, 50},
- {MODEST_HEADER_VIEW_COLUMN_SIZE, 30},
+static const FolderCols INBOX_COLUMNS_TWOLINES[] = {
+ {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 40},
+ {MODEST_HEADER_VIEW_COLUMN_ATTACH, 40},
+ {MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_IN, 200}
};
-#elif MODEST_PLATFORM==2 /*maemo*/
-static const FolderCols INBOX_COLUMNS = {
- {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 20},
- {MODEST_HEADER_VIEW_COLUMN_ATTACH, 20},
- {MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_IN,150},
+
+static const FolderCols OUTBOX_COLUMNS_DETAILS[] = {
+ {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 40},
+ {MODEST_HEADER_VIEW_COLUMN_ATTACH, 40},
+ {MODEST_HEADER_VIEW_COLUMN_TO, 80},
+ {MODEST_HEADER_VIEW_COLUMN_SUBJECT, 80},
+ {MODEST_HEADER_VIEW_COLUMN_SENT_DATE, 80},
+ {MODEST_HEADER_VIEW_COLUMN_SIZE, 50}
};
-static const FolderCols OUTBOX_COLUMNS = {
- {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 20},
- {MODEST_HEADER_VIEW_COLUMN_ATTACH, 20},
- {MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT,150},
+static const FolderCols OUTBOX_COLUMNS_TWOLINES[] = {
+ {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 40},
+ {MODEST_HEADER_VIEW_COLUMN_ATTACH, 40},
+ {MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT,200},
};
-#endif /*MODEST_PLATFORM*/
-
-static const ModestLocalFolderType LOCAL_FOLDERS[] = {
- MODEST_LOCAL_FOLDER_TYPE_OUTBOX,
- MODEST_LOCAL_FOLDER_TYPE_DRAFTS,
- MODEST_LOCAL_FOLDER_TYPE_SENT,
- MODEST_LOCAL_FOLDER_TYPE_ARCHIVE
+
+static const TnyFolderType LOCAL_FOLDERS[] = {
+ TNY_FOLDER_TYPE_OUTBOX,
+ TNY_FOLDER_TYPE_DRAFTS,
+ TNY_FOLDER_TYPE_SENT,
+ TNY_FOLDER_TYPE_ARCHIVE
};
-
static ModestTnyPlatformFactory*
get_platform_factory (void)
{
}
+static ModestAccountMgr*
+get_account_mgr (void)
+{
+ ModestTnyPlatformFactory *fact =
+ get_platform_factory ();
+ ModestAccountMgr *acc_mgr =
+ modest_tny_platform_factory_get_account_mgr_instance (fact);
+ if (!acc_mgr) {
+ g_printerr ("modest: cannot get modest account mgr instance\n");
+ return NULL;
+ }
+ return acc_mgr;
+}
+
+
/* NOTE: the exact details of this format are important, as they
* are also used in modest-widget-memory. FIXME: make a shared function
* for this with widget-memory
*/
static gboolean
-save_header_settings (ModestConf *conf, TnyFolderType type, const FolderCols* cols,
- guint col_num, gboolean overwrite)
+save_header_settings (ModestConf *conf, TnyFolderType type,
+ ModestHeaderViewStyle style, const FolderCols* cols,
+ guint col_num, gboolean overwrite)
{
int i;
gchar *key;
g_return_val_if_fail (cols, FALSE);
- key = _modest_widget_memory_get_keyname_with_type ("header-view",
- type,
- MODEST_WIDGET_MEMORY_PARAM_COLUMN_WIDTH);
+ key = _modest_widget_memory_get_keyname_with_double_type ("header-view",
+ type, style,
+ MODEST_WIDGET_MEMORY_PARAM_COLUMN_WIDTH);
/* if we're not in overwrite mode, only write stuff it
* there was nothing before */
if (!overwrite && modest_conf_key_exists(conf, key, NULL)) {
case TNY_FOLDER_TYPE_OUTBOX:
case TNY_FOLDER_TYPE_SENT:
case TNY_FOLDER_TYPE_DRAFTS:
- save_header_settings (conf, folder_type, OUTBOX_COLUMNS,
- G_N_ELEMENTS(OUTBOX_COLUMNS),
- overwrite);
- break;
+ save_header_settings (conf, folder_type,
+ MODEST_HEADER_VIEW_STYLE_DETAILS,
+ OUTBOX_COLUMNS_DETAILS,
+ G_N_ELEMENTS(OUTBOX_COLUMNS_DETAILS),
+ overwrite);
+ save_header_settings (conf, folder_type,
+ MODEST_HEADER_VIEW_STYLE_TWOLINES,
+ OUTBOX_COLUMNS_TWOLINES,
+ G_N_ELEMENTS(OUTBOX_COLUMNS_TWOLINES),
+ overwrite);
+ break;
+
default:
- save_header_settings (conf, folder_type, INBOX_COLUMNS,
- G_N_ELEMENTS(INBOX_COLUMNS),
- overwrite);
+ save_header_settings (conf, folder_type,
+ MODEST_HEADER_VIEW_STYLE_DETAILS,
+ INBOX_COLUMNS_DETAILS,
+ G_N_ELEMENTS(INBOX_COLUMNS_DETAILS),
+ overwrite);
+ save_header_settings (conf, folder_type,
+ MODEST_HEADER_VIEW_STYLE_TWOLINES,
+ INBOX_COLUMNS_TWOLINES,
+ G_N_ELEMENTS(INBOX_COLUMNS_TWOLINES),
+ overwrite);
};
}
return TRUE;
g_free (maildir_path);
return TRUE;
}
+
+
+
+static void
+free_element (gpointer data, gpointer user_data)
+{
+ g_free (data);
+}
+
+
+gboolean
+modest_init_default_account_maybe (void)
+{
+ ModestAccountMgr *acc_mgr;
+
+ GSList *all_accounts = NULL;
+ gchar *default_account;
+ gboolean retval = TRUE;
+
+ acc_mgr = get_account_mgr ();
+ if (!acc_mgr) {
+ g_printerr ("modest: cannot get modest account mgr\n");
+ return FALSE;
+ }
+
+ all_accounts = modest_account_mgr_account_names (acc_mgr, NULL);
+ if (all_accounts) { /* if there are any accounts, there should be a default one */
+ default_account =
+ modest_account_mgr_get_default_account (acc_mgr);
+ if (!default_account) {
+ gchar *first_account;
+ g_printerr ("modest: no default account defined\n");
+ first_account = (gchar*)all_accounts->data;
+ if ((retval = modest_account_mgr_set_default_account (acc_mgr, first_account)))
+ g_printerr ("modest: set '%s' as the default account\n",
+ first_account);
+ else
+ g_printerr ("modest: failed to set '%s' as the default account\n",
+ first_account);
+ g_free (default_account);
+ }
+ g_slist_foreach (all_accounts, free_element, NULL);
+ g_slist_free (all_accounts);
+ }
+ return retval;
+}