2007-05-23 Murray Cumming <murrayc@murrayc.com>
[modest] / src / modest-defs.h
index de7fe4f..c12252f 100644 (file)
 
 #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_CACHE_DIR                  "cache"
 
-#define MODEST_LOCAL_FOLDERS_ACCOUNT_ID   "local_folders"
-#define MODEST_LOCAL_FOLDERS_ACCOUNT_NAME MODEST_LOCAL_FOLDERS_ACCOUNT_ID
-#define MODEST_LOCAL_FOLDERS_MAILDIR      MODEST_LOCAL_FOLDERS_ACCOUNT_ID
+/** Sent, Drafts, etc, 
+ * but not outbox, because outbox is a virtual folder merged from the 
+ * various outboxes/<account-name>/outbox folders.
+ */
+#define MODEST_ACTUAL_LOCAL_FOLDERS_ACCOUNT_ID   "local_folders"
+#define MODEST_LOCAL_FOLDERS_ACCOUNT_NAME MODEST_ACTUAL_LOCAL_FOLDERS_ACCOUNT_ID
+#define MODEST_LOCAL_FOLDERS_MAILDIR      MODEST_ACTUAL_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"
@@ -57,9 +67,6 @@
 #define MODEST_ACCOUNT_NAMESPACE         MODEST_CONF_NAMESPACE "/accounts"
 #define MODEST_CONF_DEFAULT_ACCOUNT      MODEST_CONF_NAMESPACE "/default_account"
 
-#define MODEST_CONF_REPLY_TYPE           MODEST_CONF_NAMESPACE "/reply_type"        /*  int  */
-#define MODEST_CONF_FORWARD_TYPE         MODEST_CONF_NAMESPACE "/forward_type"      /*  int  */
-
 #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_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.
+ * We store it so that we can remove it later.
+ */
+#define MODEST_CONF_ALARM_ID MODEST_CONF_NAMESPACE "/alarm_id"
+
 /*
  * in the maemo case, we try to replace this
  * with the device name
 
 /* place for widget settings */
 #define MODEST_CONF_WIDGET_NAMESPACE     MODEST_CONF_NAMESPACE "/widgets"
+#define MODEST_CONF_FOLDER_VIEW_KEY      "folder-view"
+#define MODEST_CONF_HEADER_VIEW_KEY      "header-view"
+#define MODEST_CONF_MAIN_PANED_KEY       "modest-main-paned"
+#define MODEST_CONF_MSG_PANED_KEY        "modest-msg-paned"
+#define MODEST_CONF_FOLDER_PANED_KEY     "modest-folder-paned"
+#define MODEST_CONF_MAIN_WINDOW_KEY      "modest-main-window"
+#define MODEST_CONF_EDIT_WINDOW_KEY      "modest-edit-msg-window"
+#define MODEST_CONF_MSG_VIEW_WINDOW_KEY  "modest-msg-view-window"
 
 #define MODEST_SERVER_ACCOUNT_NAMESPACE  MODEST_CONF_NAMESPACE "/" "server_accounts"
 
 #define MODEST_ACCOUNT_DISPLAY_NAME      "display_name"      /* string */
 #define MODEST_ACCOUNT_STORE_ACCOUNT     "store_account"     /* string */
 #define MODEST_ACCOUNT_TRANSPORT_ACCOUNT "transport_account" /* string */
-#define MODEST_ACCOUNT_FULLNAME                 "fullname"
-#define MODEST_ACCOUNT_EMAIL             "email"
+#define MODEST_ACCOUNT_FULLNAME                 "fullname"          /* string */
+#define MODEST_ACCOUNT_EMAIL             "email"             /* string */
+
+/* This is a list of strings, with each strings, 
+ * 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"
 
 /* server account keys */
 #define MODEST_ACCOUNT_PASSWORD          "password"          /* string */
 #define MODEST_ACCOUNT_REMEMBER_PWD     "remember_pwd"      /* boolean */
 #define MODEST_ACCOUNT_HOSTNAME          "hostname"          /* string */
 #define MODEST_ACCOUNT_USERNAME          "username"          /* string */
+#define MODEST_ACCOUNT_USERNAME_HAS_SUCCEEDED          "username_succeeded"          /* string */
+#define MODEST_ACCOUNT_USE_SIGNATURE         "use_signature"         /* boolean */
+#define MODEST_ACCOUNT_SIGNATURE         "signature"         /* string */
+
+/* Only used for mbox and maildir accounts: */
 #define MODEST_ACCOUNT_URI              "uri"               /* string */
 
 #define MODEST_ACCOUNT_PROTO             "proto"             /* string */
 #define MODEST_ACCOUNT_LEAVE_ON_SERVER   "leave_on_server"   /* boolean */
 #define MODEST_ACCOUNT_PREFERRED_CNX     "preferred_cnx"     /* string */
 #define MODEST_ACCOUNT_PORT                     "port"              /* int */
-#define MODEST_ACCOUNT_OPTIONS          "options"           /* list */
-#define MODEST_ACCOUNT_AUTH_MECH        "auth_mech"         /* string */
-
-/* Keys and values used in the text items in the options GSList: */
-#define MODEST_ACCOUNT_OPTION_SECURE_AUTH "secure_auth"
-#define MODEST_ACCOUNT_OPTION_SECURE_AUTH_VALUE_NONE "none"
-#define MODEST_ACCOUNT_OPTION_SECURE_AUTH_VALUE_PASSWORD "password"
-#define MODEST_ACCOUNT_OPTION_SECURE_AUTH_VALUE_CRAMMD5 "cram-md5"
-
-#define MODEST_ACCOUNT_OPTION_SECURITY "security"
-#define MODEST_ACCOUNT_OPTION_SECURITY_VALUE_NONE "none"
-#define MODEST_ACCOUNT_OPTION_SECURITY_VALUE_NORMAL "normal"
-#define MODEST_ACCOUNT_OPTION_SECURITY_VALUE_SSL "ssl"
-
-
-/* Options keys that correspond directly to camel options.
- * These probably should not be written to user configuration, 
- * because they are specific API implementation details. */
-#define MODEST_ACCOUNT_OPTION_SSL "use_ssl"
-#define MODEST_ACCOUNT_OPTION_SSL_NEVER "never"
-#define MODEST_ACCOUNT_OPTION_SSL_ALWAYS "always"
-#define MODEST_ACCOUNT_OPTION_SSL_WHEN_POSSIBLE "when-possible"
-
-#define MODEST_ACCOUNT_OPTION_USE_LSUB "use_lsub"
-#define MODEST_ACCOUNT_OPTION_CHECK_ALL "check_all"
 
+#define MODEST_ACCOUNT_AUTH_MECH        "auth_mech"         /* string */
+#define MODEST_ACCOUNT_AUTH_MECH_VALUE_NONE "none"
+#define MODEST_ACCOUNT_AUTH_MECH_VALUE_PASSWORD "password"
+#define MODEST_ACCOUNT_AUTH_MECH_VALUE_CRAMMD5 "cram-md5"
+
+#define MODEST_ACCOUNT_RETRIEVE         "retrieve"          /* string */
+#define MODEST_ACCOUNT_RETRIEVE_VALUE_HEADERS_ONLY "headers-only"
+#define MODEST_ACCOUNT_RETRIEVE_VALUE_MESSAGES "messages"
+#define MODEST_ACCOUNT_RETRIEVE_VALUE_MESSAGES_AND_ATTACHMENTS "messages-and-attachments"
+
+#define MODEST_ACCOUNT_LIMIT_RETRIEVE   "limit-retrieve"            /* int */
+
+#define MODEST_ACCOUNT_SECURITY "security"
+#define MODEST_ACCOUNT_SECURITY_VALUE_NONE "none"
+#define MODEST_ACCOUNT_SECURITY_VALUE_NORMAL "normal"
+#define MODEST_ACCOUNT_SECURITY_VALUE_SSL "ssl"
+
+/* Macros for different text formats in mail editor */
+#define MODEST_FILE_FORMAT_PLAIN_TEXT 0
+#define MODEST_FILE_FORMAT_FORMATTED_TEXT 1
+
+/* Global settings */
+#define MODEST_CONF_AUTO_UPDATE MODEST_CONF_NAMESPACE "/auto_update" /* bool */
+#define MODEST_CONF_UPDATE_WHEN_CONNECTED_BY MODEST_CONF_NAMESPACE "/update_when_connected_by" /* int */
+#define MODEST_CONF_UPDATE_INTERVAL MODEST_CONF_NAMESPACE "/update_interval" /* int */
+#define MODEST_CONF_MSG_SIZE_LIMIT MODEST_CONF_NAMESPACE "/msg_size_limit" /* int */
+#define MODEST_CONF_PLAY_SOUND_MSG_ARRIVE MODEST_CONF_NAMESPACE "/play_sound_msg_arrive" /* bool */
+#define MODEST_CONF_PREFER_FORMATTED_TEXT MODEST_CONF_NAMESPACE "/prefer_formatted_text" /* bool */
+#define MODEST_CONF_REPLY_TYPE           MODEST_CONF_NAMESPACE "/reply_type"        /*  int  */
+#define MODEST_CONF_FORWARD_TYPE         MODEST_CONF_NAMESPACE "/forward_type"      /*  int  */
 
 #endif /*__MODEST_DEFS_H__*/