1 /* Copyright (c) 2006-2009, Nokia Corporation
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * * Neither the name of the Nokia Corporation nor the names of its
14 * contributors may be used to endorse or promote products derived from
15 * this software without specific prior written permission.
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
18 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
20 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
21 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 #ifndef __MODEST_DEFS_H__
32 #define __MODEST_DEFS_H__
35 #include <glib/gi18n.h>
37 const gchar *modest_defs_dir (const gchar *string);
38 const gchar *modest_defs_namespace (const gchar *string);
41 /* Default paths. We set them this way so that we can define on runtime
43 #define MODEST_DEFAULT_DIR ".modest"
44 #define MODEST_DEFAULT_NAMESPACE "/apps/modest"
45 #define MODEST_DIR_ENV "MODEST_DIR"
46 #define MODEST_NAMESPACE_ENV "MODEST_GCONF_NAMESPACE"
48 /* Some interesting directories. NOTE, they should be prefixed
49 * with $HOME; Also, except for MODEST_DIR itself, they
50 * need to be prefixed with MODEST_DIR;
51 * The parts of the path are separate for crossplatform
52 * building of dirs from their components.
53 * g_build_dir is your friend
55 #define MODEST_DIR modest_defs_dir (NULL)
56 #define MODEST_CACHE_DIR "cache"
57 #define MODEST_IMAGES_CACHE_DIR "images"
58 #define MODEST_IMAGES_CACHE_SIZE (1024*1024)
60 #define MODEST_LOCAL_FOLDERS_ACCOUNT_ID "local_folders"
61 #define MODEST_LOCAL_FOLDERS_ACCOUNT_NAME MODEST_LOCAL_FOLDERS_ACCOUNT_ID
63 /** Sent, Drafts, etc, are on-disk
64 * but not outbox, because outbox is a virtual folder merged from the
65 * various outboxes/<account-name>/outbox folders.
67 #define MODEST_LOCAL_FOLDERS_MAILDIR MODEST_LOCAL_FOLDERS_ACCOUNT_ID
69 /** There is an outboxes/<account-name>/outbox/ folder for each account,
70 * though we merge them so that the user sees only one outbox.
72 #define MODEST_PER_ACCOUNT_LOCAL_OUTBOX_FOLDER_ACCOUNT_ID_PREFIX "outboxes"
73 #define MODEST_PER_ACCOUNT_LOCAL_OUTBOX_FOLDERS_MAILDIR MODEST_PER_ACCOUNT_LOCAL_OUTBOX_FOLDER_ACCOUNT_ID_PREFIX
75 #define MODEST_MMC_ACCOUNT_ID "mcc"
77 /* Without the trailing / because gnome-vfs reports mounted
78 * volume URIs without the trailing, and we want to match them: */
79 #define MODEST_MMC1_VOLUMEPATH_ENV "MMC_MOUNTPOINT"
80 #define MODEST_MMC1_VOLUMEPATH_URI_PREFIX "file://"
82 /* configuration key definitions for modest */
83 #define MODEST_CONF_NAMESPACE (modest_defs_namespace (NULL))
85 /* the mapping files, there are two possibilities; used in modest_utils_open_mcc_mapping_file */
86 #define MODEST_MCC_MAPPING PREFIX "/share/modest/provider-data/mcc_mapping"
87 #define MODEST_OPERATOR_WIZARD_MCC_MAPPING "/usr/share/operator-wizard/mcc_mapping"
89 #define MODEST_PROVIDER_DATA_FILE PREFIX "/share/modest/provider-data/modest-provider-data.keyfile"
90 #define MODEST_FALLBACK_PROVIDER_DATA_FILE PREFIX "/share/modest/provider-data/fallback-provider-data.keyfile"
93 #ifndef MODEST_TOOLKIT_GTK
94 #ifdef MODEST_TOOLKIT_HILDON2
95 #define MODEST_ICON_SIZE_XSMALL 16
96 #define MODEST_ICON_SIZE_SMALL 24
97 #define MODEST_ICON_SIZE_BIG 48
99 #define MODEST_ICON_SIZE_XSMALL 16
100 #define MODEST_ICON_SIZE_SMALL 26
101 #define MODEST_ICON_SIZE_BIG 64
104 #define MODEST_ICON_SIZE_XSMALL 16
105 #define MODEST_ICON_SIZE_SMALL 16
106 #define MODEST_ICON_SIZE_BIG 32
109 /* configuration key definitions for modest */
110 #define MODEST_ACCOUNT_SUBNAMESPACE "/accounts"
111 #define MODEST_ACCOUNT_NAMESPACE (modest_defs_namespace (MODEST_ACCOUNT_SUBNAMESPACE))
112 #define MODEST_CONF_DEFAULT_ACCOUNT (modest_defs_namespace ("/default_account"))
114 /* Not used: #define MODEST_CONF_CONNECT_AT_STARTUP MODEST_CONF_NAMESPACE "/connect_at_startup" */
116 #define MODEST_CONF_SHOW_CC (modest_defs_namespace ("/show_cc"))
117 #define MODEST_CONF_SHOW_BCC (modest_defs_namespace ("/show_bcc"))
119 /* Last used folders for insert images, attach file and save attachments */
120 #define MODEST_CONF_LATEST_ATTACH_FILE_PATH (modest_defs_namespace ("/latest_attach_file_path"))
121 #define MODEST_CONF_LATEST_INSERT_IMAGE_PATH (modest_defs_namespace ("/latest_inset_image_path"))
122 #define MODEST_CONF_LATEST_SAVE_ATTACHMENT_PATH (modest_defs_namespace ("/latest_save_attachment_path"))
124 /* This is the alarmd cookie, obtained from alarm_event_add(),
125 * which apparently remains valid between application instances.
126 * We store it so that we can remove it later.
128 #define MODEST_CONF_ALARM_ID (modest_defs_namespace ("/alarm_id"))
131 * in the maemo case, we try to replace this
132 * with the device name
134 #define MODEST_LOCAL_FOLDERS_DEFAULT_DISPLAY_NAME N_("Local folders")
136 /* the name of the device; in case of maemo this is set and updated
137 * using dbus; see modest-maemo-utils.[ch]
139 #define MODEST_CONF_DEVICE_NAME (modest_defs_namespace ("/device_name"))
142 /* place for widget settings */
143 #define MODEST_CONF_WIDGET_SUBNAMESPACE "/widgets"
144 #define MODEST_CONF_WIDGET_NAMESPACE (modest_defs_namespace (MODEST_CONF_WIDGET_SUBNAMESPACE))
145 #define MODEST_CONF_FOLDER_VIEW_KEY "folder-view"
146 #define MODEST_CONF_HEADER_VIEW_KEY "header-view"
147 #define MODEST_CONF_MAIN_PANED_KEY "modest-main-paned"
148 #define MODEST_CONF_MSG_PANED_KEY "modest-msg-paned"
149 #define MODEST_CONF_FOLDER_PANED_KEY "modest-folder-paned"
150 #define MODEST_CONF_MAIN_WINDOW_KEY "modest-main-window"
151 #define MODEST_CONF_EDIT_WINDOW_KEY "modest-edit-msg-window"
152 #define MODEST_CONF_MSG_VIEW_WINDOW_KEY "modest-msg-view-window"
154 #define MODEST_SERVER_ACCOUNT_SUBNAMESPACE "/server_accounts"
155 #define MODEST_SERVER_ACCOUNT_NAMESPACE (modest_defs_namespace (MODEST_SERVER_ACCOUNT_SUBNAMESPACE))
157 /* show toolbar settings */
158 #define MODEST_CONF_MAIN_WINDOW_SHOW_TOOLBAR \
159 (modest_defs_namespace (MODEST_CONF_WIDGET_SUBNAMESPACE "/" \
160 MODEST_CONF_MAIN_WINDOW_KEY "/show_toolbar"))
161 #define MODEST_CONF_EDIT_WINDOW_SHOW_TOOLBAR \
162 (modest_defs_namespace (MODEST_CONF_WIDGET_SUBNAMESPACE "/" \
163 MODEST_CONF_EDIT_WINDOW_KEY "/show_toolbar"))
164 #define MODEST_CONF_MSG_VIEW_WINDOW_SHOW_TOOLBAR \
165 (modest_defs_namespace (MODEST_CONF_WIDGET_SUBNAMESPACE "/" \
166 MODEST_CONF_MSG_VIEW_WINDOW_KEY "/show_toolbar"))
167 #define MODEST_CONF_MAIN_WINDOW_SHOW_TOOLBAR_FULLSCREEN \
168 (modest_defs_namespace (MODEST_CONF_WIDGET_SUBNAMESPACE "/" \
169 MODEST_CONF_MAIN_WINDOW_KEY "/show_toolbar_fullscreen"))
170 #define MODEST_CONF_EDIT_WINDOW_SHOW_TOOLBAR_FULLSCREEN \
171 (modest_defs_namespace (MODEST_CONF_WIDGET_SUBNAMESPACE "/" \
172 MODEST_CONF_EDIT_WINDOW_KEY "/show_toolbar_fullscreen"))
173 #define MODEST_CONF_MSG_VIEW_WINDOW_SHOW_TOOLBAR_FULLSCREEN \
174 (modest_defs_namespace (MODEST_CONF_WIDGET_SUBNAMESPACE "/" \
175 MODEST_CONF_MSG_VIEW_WINDOW_KEY "/show_toolbar_fullscreen"))
177 /* per-account data */
178 #define MODEST_ACCOUNT_DISPLAY_NAME "display_name" /* string */
179 #define MODEST_ACCOUNT_STORE_ACCOUNT "store_account" /* string */
180 #define MODEST_ACCOUNT_TRANSPORT_ACCOUNT "transport_account" /* string */
181 #define MODEST_ACCOUNT_FULLNAME "fullname" /* string */
182 #define MODEST_ACCOUNT_EMAIL "email" /* string */
184 /* This is a list of strings, with each strings,
185 * alernating between a connection name, followed by a corresponding server account name.
186 * That's not pretty, but it's nicer than dealing with escaping of a = separator if
187 * putting them both in one string. */
188 #define MODEST_CONF_CONNECTION_SPECIFIC_SMTP_LIST \
189 (modest_defs_namespace ("/specific_smtp")) /* one list used for all accounts. */
190 #define MODEST_ACCOUNT_USE_CONNECTION_SPECIFIC_SMTP "use_specific_smtp" /* boolean */
192 /* server account keys */
193 #define MODEST_ACCOUNT_PASSWORD "password" /* string */
194 #define MODEST_ACCOUNT_REMEMBER_PWD "remember_pwd" /* boolean */
195 #define MODEST_ACCOUNT_HOSTNAME "hostname" /* string */
196 #define MODEST_ACCOUNT_USERNAME "username" /* string */
197 #define MODEST_ACCOUNT_USERNAME_HAS_SUCCEEDED "username_succeeded" /* string */
198 #define MODEST_ACCOUNT_USE_SIGNATURE "use_signature" /* boolean */
199 #define MODEST_ACCOUNT_SIGNATURE "signature" /* string */
201 /* Only used for mbox and maildir accounts: */
202 #define MODEST_ACCOUNT_URI "uri" /* string */
204 #define MODEST_ACCOUNT_PROTO "proto" /* string */
205 #define MODEST_ACCOUNT_ENABLED "enabled" /* boolean */
206 #define MODEST_ACCOUNT_TYPE "type" /* string */
207 #define MODEST_ACCOUNT_LAST_UPDATED "last_updated" /* int */
209 #define MODEST_ACCOUNT_LEAVE_ON_SERVER "leave_on_server" /* boolean */
210 #define MODEST_ACCOUNT_PREFERRED_CNX "preferred_cnx" /* string */
211 #define MODEST_ACCOUNT_PORT "port" /* int */
213 #define MODEST_ACCOUNT_AUTH_MECH "auth_mech" /* string */
214 #define MODEST_ACCOUNT_AUTH_MECH_VALUE_NONE "none"
215 #define MODEST_ACCOUNT_AUTH_MECH_VALUE_PASSWORD "password"
216 #define MODEST_ACCOUNT_AUTH_MECH_VALUE_CRAMMD5 "cram-md5"
218 #define MODEST_ACCOUNT_RETRIEVE "retrieve" /* string */
219 #define MODEST_ACCOUNT_RETRIEVE_VALUE_HEADERS_ONLY "headers-only"
220 #define MODEST_ACCOUNT_RETRIEVE_VALUE_MESSAGES "messages"
221 #define MODEST_ACCOUNT_RETRIEVE_VALUE_MESSAGES_AND_ATTACHMENTS "messages-and-attachments"
223 #define MODEST_ACCOUNT_LIMIT_RETRIEVE "limit-retrieve" /* int */
225 #define MODEST_ACCOUNT_SECURITY "security"
226 #define MODEST_ACCOUNT_SECURITY_VALUE_NONE "none"
227 #define MODEST_ACCOUNT_SECURITY_VALUE_NORMAL "normal" /* Meaning "Normal (TLS)", as in our UI spec. */
228 #define MODEST_ACCOUNT_SECURITY_VALUE_SSL "ssl"
230 /* Macros for different text formats in mail editor */
231 #define MODEST_FILE_FORMAT_PLAIN_TEXT 0
232 #define MODEST_FILE_FORMAT_FORMATTED_TEXT 1
234 /* Global settings */
235 #define MODEST_CONF_AUTO_UPDATE (modest_defs_namespace ("/auto_update")) /* bool */
236 #define MODEST_CONF_UPDATE_WHEN_CONNECTED_BY (modest_defs_namespace ("/update_when_connected_by")) /* int */
237 #define MODEST_CONF_UPDATE_INTERVAL (modest_defs_namespace ("/update_interval")) /* int */
238 #define MODEST_CONF_MSG_SIZE_LIMIT (modest_defs_namespace ("/msg_size_limit")) /* int */
239 #define MODEST_CONF_PLAY_SOUND_MSG_ARRIVE (modest_defs_namespace ("/play_sound_msg_arrive")) /* bool */
240 #define MODEST_CONF_PREFER_FORMATTED_TEXT (modest_defs_namespace ("/prefer_formatted_text")) /* bool */
241 #define MODEST_CONF_REPLY_TYPE (modest_defs_namespace ("/reply_type")) /* int */
242 #define MODEST_CONF_FORWARD_TYPE (modest_defs_namespace ("/forward_type")) /* int */
243 #define MODEST_CONF_NOTIFICATIONS (modest_defs_namespace ("/notifications")) /* bool */
244 #define MODEST_CONF_AUTO_ADD_TO_CONTACTS (modest_defs_namespace ("/auto_add_to_contacs")) /* bool */
246 /* hidden global settings */
247 #define MODEST_CONF_FETCH_HTML_EXTERNAL_IMAGES (modest_defs_namespace ("/fetch_external_images")) /* bool */
249 /* Notification ids */
250 #define MODEST_CONF_NOTIFICATION_IDS (modest_defs_namespace ("/notification_ids")) /* list of ints */
252 #ifdef MODEST_TOOLKIT_HILDON2
253 #define MODEST_EXAMPLE_EMAIL_ADDRESS _("mcen_va_example_email_address")
255 #define MODEST_EXAMPLE_EMAIL_ADDRESS "first.last@example.com"
259 /* max size of message we still allow to save/send when we're in low-mem
262 #define MODEST_MAX_LOW_MEMORY_MESSAGE_SIZE (25*1024)
263 #define MODEST_MAX_ATTACHMENT_SIZE (15*1024*1024)
265 #endif /*__MODEST_DEFS_H__*/