#ifndef __MODEST_DEFS_H__
#define __MODEST_DEFS_H__
+#include <config.h>
#include <glib/gi18n.h>
-/* some interesting dirs. NOTE, they should be prefixed
- * with $HOME; also, except MODEST_DIR itself, they
+/* Some interesting directories. NOTE, they should be prefixed
+ * with $HOME; Also, except for MODEST_DIR itself, they
* need to be prefixed with MODEST_DIR;
- * why these seperate things? well, this is for crossplatform
- * building of dirs from their components..
+ * The parts of the path are separate for crossplatform
+ * building of dirs from their components.
* g_build_dir is your friend
*/
#define MODEST_DIR ".modest"
#define MODEST_LOCAL_FOLDERS_ACCOUNT_ID "local_folders"
#define MODEST_LOCAL_FOLDERS_ACCOUNT_NAME MODEST_LOCAL_FOLDERS_ACCOUNT_ID
+
+/** Sent, Drafts, etc, are on-disk
+ * but not outbox, because outbox is a virtual folder merged from the
+ * various outboxes/<account-name>/outbox folders.
+ */
#define MODEST_LOCAL_FOLDERS_MAILDIR MODEST_LOCAL_FOLDERS_ACCOUNT_ID
+/** There is an outboxes/<account-name>/outbox/ folder for each account,
+ * though we merge them so that the user sees only one outbox.
+ */
+#define MODEST_PER_ACCOUNT_LOCAL_OUTBOX_FOLDER_ACCOUNT_ID_PREFIX "outboxes"
+#define MODEST_PER_ACCOUNT_LOCAL_OUTBOX_FOLDERS_MAILDIR MODEST_PER_ACCOUNT_LOCAL_OUTBOX_FOLDER_ACCOUNT_ID_PREFIX
+
#define MODEST_MMC_ACCOUNT_ID "mcc"
-#define MODEST_MCC_ACCOUNT_MAILDIR "/media/mmc1/.Maildir"
+
+/* FIXME: get these from the environment */
+/* Without the trailing / because gnome-vfs reports mounted
+ * volume URIs without the trailing, and we want to match them: */
+#define MODEST_MCC1_VOLUMEPATH "/media/mmc1"
+#define MODEST_MCC1_VOLUMEPATH_URI "file://" MODEST_MCC1_VOLUMEPATH
/* configuration key definitions for modest */
#define MODEST_CONF_NAMESPACE "/apps/modest"
+/* the mapping files, there are two possibilities; used in modest_maemo_open_mcc_mapping_file */
+#define MODEST_MCC_MAPPING PREFIX "/share/modest/provider-data/mcc_mapping"
+#define MODEST_OPERATOR_WIZARD_MCC_MAPPING "/usr/share/operator-wizard/mcc_mapping"
+
+#define MODEST_PROVIDER_DATA_FILE PREFIX "/share/modest/provider-data/modest-provider-data.keyfile"
+#define MODEST_MAEMO_PROVIDER_DATA_FILE PREFIX "/share/modest/provider-data/maemo-provider-data.keyfile"
+
+
+#define MODEST_ICON_SIZE_SMALL 26
+#define MODEST_ICON_SIZE_BIG 64
+
/* configuration key definitions for modest */
#define MODEST_ACCOUNT_NAMESPACE MODEST_CONF_NAMESPACE "/accounts"
#define MODEST_CONF_DEFAULT_ACCOUNT MODEST_CONF_NAMESPACE "/default_account"
-#define MODEST_CONF_CONNECT_AT_STARTUP MODEST_CONF_NAMESPACE "/connect_at_startup"
+/* Not used: #define MODEST_CONF_CONNECT_AT_STARTUP MODEST_CONF_NAMESPACE "/connect_at_startup" */
#define MODEST_CONF_SHOW_CC MODEST_CONF_NAMESPACE "/show_cc"
#define MODEST_CONF_SHOW_BCC MODEST_CONF_NAMESPACE "/show_bcc"
-#define MODEST_CONF_SHOW_TOOLBAR MODEST_CONF_NAMESPACE "/show_toolbar"
-#define MODEST_CONF_SHOW_TOOLBAR_FULLSCREEN MODEST_CONF_NAMESPACE "/show_toolbar_fullscreen"
/* This is the alarmd cookie, obtained from alarm_event_add(),
* which apparently remains valid between application instances.
#define MODEST_SERVER_ACCOUNT_NAMESPACE MODEST_CONF_NAMESPACE "/" "server_accounts"
+/* show toolbar settings */
+#define MODEST_CONF_MAIN_WINDOW_SHOW_TOOLBAR MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_MAIN_WINDOW_KEY "/show_toolbar"
+#define MODEST_CONF_EDIT_WINDOW_SHOW_TOOLBAR MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_EDIT_WINDOW_KEY "/show_toolbar"
+#define MODEST_CONF_MSG_VIEW_WINDOW_SHOW_TOOLBAR MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_MSG_VIEW_WINDOW_KEY "/show_toolbar"
+#define MODEST_CONF_MAIN_WINDOW_SHOW_TOOLBAR_FULLSCREEN MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_MAIN_WINDOW_KEY "/show_toolbar_fullscreen"
+#define MODEST_CONF_EDIT_WINDOW_SHOW_TOOLBAR_FULLSCREEN MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_EDIT_WINDOW_KEY "/show_toolbar_fullscreen"
+#define MODEST_CONF_MSG_VIEW_WINDOW_SHOW_TOOLBAR_FULLSCREEN MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_MSG_VIEW_WINDOW_KEY "/show_toolbar_fullscreen"
/* per-account data */
#define MODEST_ACCOUNT_DISPLAY_NAME "display_name" /* string */
* alernating between a connection name, followed by a corresponding server account name.
* That's not pretty, but it's nicer than dealing with escaping of a = separator if
* putting them both in one string. */
-#define MODEST_ACCOUNT_CONNECTION_SPECIFIC_SMTP_LIST "specific_smtp"
+#define MODEST_CONF_CONNECTION_SPECIFIC_SMTP_LIST MODEST_CONF_NAMESPACE "/specific_smtp" /* one list used for all accounts. */
+#define MODEST_ACCOUNT_USE_CONNECTION_SPECIFIC_SMTP "use_specific_smtp" /* boolean */
/* server account keys */
#define MODEST_ACCOUNT_PASSWORD "password" /* string */
#define MODEST_ACCOUNT_SECURITY "security"
#define MODEST_ACCOUNT_SECURITY_VALUE_NONE "none"
-#define MODEST_ACCOUNT_SECURITY_VALUE_NORMAL "normal"
+#define MODEST_ACCOUNT_SECURITY_VALUE_NORMAL "normal" /* Meaning "Normal (TLS)", as in our UI spec. */
#define MODEST_ACCOUNT_SECURITY_VALUE_SSL "ssl"
/* Macros for different text formats in mail editor */
#define MODEST_CONF_REPLY_TYPE MODEST_CONF_NAMESPACE "/reply_type" /* int */
#define MODEST_CONF_FORWARD_TYPE MODEST_CONF_NAMESPACE "/forward_type" /* int */
+/* hidden global settings */
+#define MODEST_CONF_FETCH_HTML_EXTERNAL_IMAGES MODEST_CONF_NAMESPACE "/fetch_external_images" /* bool */
+
+/* Notification ids */
+#define MODEST_CONF_NOTIFICATION_IDS MODEST_CONF_NAMESPACE "/notification_ids" /* list of ints */
+
+
+#define MODEST_EXAMPLE_EMAIL_ADDRESS "first.last@example.com"
+
+
+/* max size of message we still allow to save/send when we're in low-mem
+ * condition
+ */
+#define MODEST_MAX_LOW_MEMORY_MESSAGE_SIZE (25*1024)
+#define MODEST_MAX_ATTACHMENT_SIZE (15*1024*1024)
+
#endif /*__MODEST_DEFS_H__*/