#include "widgets/modest-global-settings-dialog.h"
#include "modest-tny-msg.h"
#ifdef MODEST_PLATFORM_MAEMO
-#include <hildon/hildon-notification.h>
-#else
-#include <libnotify/notify.h>
+#include "modest-hildon-includes.h"
#endif
static gboolean init_header_columns (ModestConf *conf, gboolean overwrite);
gint sort;
} FolderCols;
+
+static const guint MODEST_MAIN_PANED_POS = 280;
+
static const FolderCols INBOX_COLUMNS_DETAILS[] = {
{MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 40, 0},
{MODEST_HEADER_VIEW_COLUMN_ATTACH, 40, 0},
};
static const FolderCols OUTBOX_COLUMNS_TWOLINES[] = {
- {MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT,180, 0},
- {MODEST_HEADER_VIEW_COLUMN_STATUS, 240, 0}
+ {MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT,180, 0}
+// {MODEST_HEADER_VIEW_COLUMN_STATUS, 240, 0}
};
static const FolderCols SENT_COLUMNS_TWOLINES[] = {
};
#endif /* MODEST_PLATFORM_MAEMO */
+static GList* new_cold_ids_gslist_from_array( const FolderCols* cols, guint col_num)
+{
+ GList *result = NULL;
+
+ guint i = 0;
+ for (i = 0; i < col_num; ++i) {
+ result = g_list_append (result, GINT_TO_POINTER (cols[i].col));
+ }
+
+ return result;
+}
+
+GList * modest_init_get_default_header_view_column_ids (TnyFolderType folder_type, ModestHeaderViewStyle style)
+{
+ GList *result = NULL;
+
+ switch (folder_type) {
+ case TNY_FOLDER_TYPE_SENT:
+ case TNY_FOLDER_TYPE_DRAFTS:
+ if (style == MODEST_HEADER_VIEW_STYLE_DETAILS)
+ result = new_cold_ids_gslist_from_array (OUTBOX_COLUMNS_DETAILS,
+ G_N_ELEMENTS(OUTBOX_COLUMNS_DETAILS));
+ else if (style == MODEST_HEADER_VIEW_STYLE_TWOLINES)
+ result = new_cold_ids_gslist_from_array (SENT_COLUMNS_TWOLINES,
+ G_N_ELEMENTS(SENT_COLUMNS_TWOLINES));
+ break;
+ case TNY_FOLDER_TYPE_OUTBOX:
+ if (style == MODEST_HEADER_VIEW_STYLE_TWOLINES)
+ result = new_cold_ids_gslist_from_array (OUTBOX_COLUMNS_TWOLINES,
+ G_N_ELEMENTS(OUTBOX_COLUMNS_TWOLINES));
+ break;
+
+ default:
+ if (style == MODEST_HEADER_VIEW_STYLE_DETAILS)
+ result = new_cold_ids_gslist_from_array (INBOX_COLUMNS_DETAILS,
+ G_N_ELEMENTS(INBOX_COLUMNS_DETAILS));
+ else if (style == MODEST_HEADER_VIEW_STYLE_TWOLINES)
+ result = new_cold_ids_gslist_from_array (INBOX_COLUMNS_TWOLINES,
+ G_N_ELEMENTS(INBOX_COLUMNS_TWOLINES));
+ };
+
+ if (!result) {
+ g_warning("DEBUG: %s: No default columns IDs found for "
+ "folder_type=%d, style=%d\n", __FUNCTION__, folder_type, style);
+ }
+
+ return result;
+}
gboolean
modest_init_init_core (void)
init_default_settings (modest_runtime_get_conf ());
- if (!modest_init_local_folders()) {
+ 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 ())) {
+ if (!init_default_account_maybe (modest_runtime_get_account_mgr ())) {
modest_init_uninit ();
g_printerr ("modest: failed to init default account\n");
return FALSE;
init_stock_icons ();
/* Init notification system */
+ #ifndef MODEST_HILDON_VERSION_0
notify_init ("Basics");
+ #endif
return TRUE;
}
init_header_columns (ModestConf *conf, gboolean overwrite)
{
int folder_type;
+ gchar *key;
for (folder_type = TNY_FOLDER_TYPE_UNKNOWN;
folder_type <= TNY_FOLDER_TYPE_CALENDAR; ++folder_type) {
overwrite);
};
}
+
+ key = _modest_widget_memory_get_keyname (MODEST_CONF_MAIN_PANED_KEY, MODEST_WIDGET_MEMORY_PARAM_POS);
+ /* if we're not in overwrite mode, only write stuff it
+ * there was nothing before */
+ if (overwrite || !modest_conf_key_exists(conf, key, NULL))
+ modest_conf_set_int (conf, key, MODEST_MAIN_PANED_POS, NULL);
+
+ g_free (key);
return TRUE;
}
maildirs[j],
NULL);
if (g_mkdir_with_parents (dir, 0755) < 0) {
- g_printerr ("modest: failed to create %s\n", dir);
+ g_printerr ("modest: %s: failed to create %s\n", __FUNCTION__, dir);
g_free (dir);
return FALSE;
}
* they were created, FALSE otherwise
*/
gboolean
-modest_init_local_folders ()
+modest_init_local_folders (const gchar* location_filepath)
{
- gchar *maildir_path = modest_local_folder_info_get_maildir_path (NULL);
+ gchar *maildir_path = modest_local_folder_info_get_maildir_path (location_filepath);
- /* Create each of the standard on-disk folders.
- * Per-account outbox folders will be created when first needed. */
- int i;
- 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);
- const gboolean created = modest_init_one_local_folder (dir);
- g_free(dir);
-
- if (!created) {
+ if (location_filepath) {
+ /* For instance, for memory card, just create the top-level .modest folder: */
+ if (g_mkdir_with_parents (maildir_path, 0755) < 0) {
+ g_printerr ("modest: %s: failed to create %s\n", __FUNCTION__, location_filepath);
g_free (maildir_path);
return FALSE;
}
}
+ else {
+ /* Create each of the standard on-disk folders.
+ * Per-account outbox folders will be created when first needed. */
+ int i;
+ 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);
+ const gboolean created = modest_init_one_local_folder (dir);
+ g_free(dir);
+
+ if (!created) {
+ g_free (maildir_path);
+ return FALSE;
+ }
+ }
+ }
g_free (maildir_path);
return TRUE;
static void
init_device_name (ModestConf *conf)
{
- int len = 255; /* max len */
+ unsigned int len = 255; /* max len */
gchar *devname = NULL;
if (!g_file_get_contents("/etc/hostname", &devname, &len, NULL) || len < 2 || len > 254) {