* Fixes NB#64415, now the show_toolbar options are per window type specific
[modest] / src / modest-defs.h
1 /* Copyright (c) 2006, Nokia Corporation
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are
6  * met:
7  *
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.
16  *
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.
28  */
29
30
31 #ifndef __MODEST_DEFS_H__
32 #define __MODEST_DEFS_H__
33
34 #include <glib/gi18n.h>
35
36 /* Some interesting directories. NOTE, they should be prefixed
37  * with $HOME; Also, except for MODEST_DIR itself, they
38  * need to be prefixed with MODEST_DIR;
39  * The parts of the path are separate for crossplatform
40  * building of dirs from their components.
41  * g_build_dir is your friend
42  */
43 #define MODEST_DIR                        ".modest"
44 #define MODEST_CACHE_DIR                  "cache"
45
46 #define MODEST_LOCAL_FOLDERS_ACCOUNT_ID   "local_folders"
47 #define MODEST_LOCAL_FOLDERS_ACCOUNT_NAME MODEST_LOCAL_FOLDERS_ACCOUNT_ID
48
49 /** Sent, Drafts, etc, are on-disk 
50  * but not outbox, because outbox is a virtual folder merged from the 
51  * various outboxes/<account-name>/outbox folders.
52  */
53 #define MODEST_LOCAL_FOLDERS_MAILDIR      MODEST_LOCAL_FOLDERS_ACCOUNT_ID
54
55 /** There is an outboxes/<account-name>/outbox/ folder for each account,
56  * though we merge them so that the user sees only one outbox.
57  */
58 #define MODEST_PER_ACCOUNT_LOCAL_OUTBOX_FOLDER_ACCOUNT_ID_PREFIX "outboxes"
59 #define MODEST_PER_ACCOUNT_LOCAL_OUTBOX_FOLDERS_MAILDIR MODEST_PER_ACCOUNT_LOCAL_OUTBOX_FOLDER_ACCOUNT_ID_PREFIX
60
61 #define MODEST_MMC_ACCOUNT_ID             "mcc"
62
63 /* Without the trailing / because gnome-vfs reports mounted 
64  * volume URIs without the trailing, and we want to match them: */
65 #define MODEST_MCC1_VOLUMEPATH    "/media/mmc1" 
66 #define MODEST_MCC1_VOLUMEPATH_URI "file://" MODEST_MCC1_VOLUMEPATH
67
68 /* configuration key definitions for modest */
69 #define MODEST_CONF_NAMESPACE           "/apps/modest"
70
71 /* configuration key definitions for modest */
72 #define MODEST_ACCOUNT_NAMESPACE         MODEST_CONF_NAMESPACE "/accounts"
73 #define MODEST_CONF_DEFAULT_ACCOUNT      MODEST_CONF_NAMESPACE "/default_account"
74
75 /* Not used: #define MODEST_CONF_CONNECT_AT_STARTUP   MODEST_CONF_NAMESPACE "/connect_at_startup" */      
76
77 #define MODEST_CONF_SHOW_CC              MODEST_CONF_NAMESPACE "/show_cc"           
78 #define MODEST_CONF_SHOW_BCC             MODEST_CONF_NAMESPACE "/show_bcc"           
79
80 /* This is the alarmd cookie, obtained from alarm_event_add(), 
81  * which apparently remains valid between application instances.
82  * We store it so that we can remove it later.
83  */
84 #define MODEST_CONF_ALARM_ID MODEST_CONF_NAMESPACE "/alarm_id"
85
86 /*
87  * in the maemo case, we try to replace this
88  * with the device name
89  */
90 #define MODEST_LOCAL_FOLDERS_DEFAULT_DISPLAY_NAME  N_("Local folders")
91
92 /* the name of the device; in case of maemo this is set and updated
93  * using dbus; see modest-maemo-utils.[ch]
94  */
95 #define MODEST_CONF_DEVICE_NAME       MODEST_CONF_NAMESPACE "/device_name"
96
97
98 /* place for widget settings */
99 #define MODEST_CONF_WIDGET_NAMESPACE     MODEST_CONF_NAMESPACE "/widgets"
100 #define MODEST_CONF_FOLDER_VIEW_KEY      "folder-view"
101 #define MODEST_CONF_HEADER_VIEW_KEY      "header-view"
102 #define MODEST_CONF_MAIN_PANED_KEY       "modest-main-paned"
103 #define MODEST_CONF_MSG_PANED_KEY        "modest-msg-paned"
104 #define MODEST_CONF_FOLDER_PANED_KEY     "modest-folder-paned"
105 #define MODEST_CONF_MAIN_WINDOW_KEY      "modest-main-window"
106 #define MODEST_CONF_EDIT_WINDOW_KEY      "modest-edit-msg-window"
107 #define MODEST_CONF_MSG_VIEW_WINDOW_KEY  "modest-msg-view-window"
108
109 #define MODEST_SERVER_ACCOUNT_NAMESPACE  MODEST_CONF_NAMESPACE "/" "server_accounts"
110
111 /* show toolbar settings */
112 #define MODEST_CONF_MAIN_WINDOW_SHOW_TOOLBAR MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_MAIN_WINDOW_KEY "/show_toolbar"
113 #define MODEST_CONF_EDIT_WINDOW_SHOW_TOOLBAR MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_EDIT_WINDOW_KEY "/show_toolbar"
114 #define MODEST_CONF_MSG_VIEW_WINDOW_SHOW_TOOLBAR MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_MSG_VIEW_WINDOW_KEY "/show_toolbar"
115 #define MODEST_CONF_MAIN_WINDOW_SHOW_TOOLBAR_FULLSCREEN MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_MAIN_WINDOW_KEY "/show_toolbar_fullscreen"
116 #define MODEST_CONF_EDIT_WINDOW_SHOW_TOOLBAR_FULLSCREEN MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_EDIT_WINDOW_KEY "/show_toolbar_fullscreen"
117 #define MODEST_CONF_MSG_VIEW_WINDOW_SHOW_TOOLBAR_FULLSCREEN MODEST_CONF_WIDGET_NAMESPACE "/" MODEST_CONF_MSG_VIEW_WINDOW_KEY "/show_toolbar_fullscreen"
118
119 /* per-account data */
120 #define MODEST_ACCOUNT_DISPLAY_NAME      "display_name"      /* string */
121 #define MODEST_ACCOUNT_STORE_ACCOUNT     "store_account"     /* string */
122 #define MODEST_ACCOUNT_TRANSPORT_ACCOUNT "transport_account" /* string */
123 #define MODEST_ACCOUNT_FULLNAME          "fullname"          /* string */
124 #define MODEST_ACCOUNT_EMAIL             "email"             /* string */
125
126 /* This is a list of strings, with each strings, 
127  * alernating between a connection name, followed by a corresponding server account name.
128  * That's not pretty, but it's nicer than dealing with escaping of a = separator if 
129  * putting them both in one string. */
130 #define MODEST_CONF_CONNECTION_SPECIFIC_SMTP_LIST "/specific_smtp" /* one list used for all accounts. */
131 #define MODEST_ACCOUNT_USE_CONNECTION_SPECIFIC_SMTP  "use_specific_smtp" /* boolean */
132
133 /* server account keys */
134 #define MODEST_ACCOUNT_PASSWORD          "password"          /* string */
135 #define MODEST_ACCOUNT_REMEMBER_PWD      "remember_pwd"      /* boolean */
136 #define MODEST_ACCOUNT_HOSTNAME          "hostname"          /* string */
137 #define MODEST_ACCOUNT_USERNAME          "username"          /* string */
138 #define MODEST_ACCOUNT_USERNAME_HAS_SUCCEEDED          "username_succeeded"          /* string */
139 #define MODEST_ACCOUNT_USE_SIGNATURE         "use_signature"         /* boolean */
140 #define MODEST_ACCOUNT_SIGNATURE         "signature"         /* string */
141
142 /* Only used for mbox and maildir accounts: */
143 #define MODEST_ACCOUNT_URI               "uri"               /* string */
144
145 #define MODEST_ACCOUNT_PROTO             "proto"             /* string */
146 #define MODEST_ACCOUNT_ENABLED           "enabled"           /* boolean */
147 #define MODEST_ACCOUNT_TYPE              "type"              /* string */
148 #define MODEST_ACCOUNT_LAST_UPDATED      "last_updated"      /* int */
149
150 #define MODEST_ACCOUNT_LEAVE_ON_SERVER   "leave_on_server"   /* boolean */
151 #define MODEST_ACCOUNT_PREFERRED_CNX     "preferred_cnx"     /* string */
152 #define MODEST_ACCOUNT_PORT                      "port"              /* int */
153
154 #define MODEST_ACCOUNT_AUTH_MECH         "auth_mech"         /* string */
155 #define MODEST_ACCOUNT_AUTH_MECH_VALUE_NONE "none"
156 #define MODEST_ACCOUNT_AUTH_MECH_VALUE_PASSWORD "password"
157 #define MODEST_ACCOUNT_AUTH_MECH_VALUE_CRAMMD5 "cram-md5"
158
159 #define MODEST_ACCOUNT_RETRIEVE  "retrieve"          /* string */
160 #define MODEST_ACCOUNT_RETRIEVE_VALUE_HEADERS_ONLY "headers-only"
161 #define MODEST_ACCOUNT_RETRIEVE_VALUE_MESSAGES "messages"
162 #define MODEST_ACCOUNT_RETRIEVE_VALUE_MESSAGES_AND_ATTACHMENTS "messages-and-attachments"
163
164 #define MODEST_ACCOUNT_LIMIT_RETRIEVE    "limit-retrieve"            /* int */
165
166 #define MODEST_ACCOUNT_SECURITY "security"
167 #define MODEST_ACCOUNT_SECURITY_VALUE_NONE "none"
168 #define MODEST_ACCOUNT_SECURITY_VALUE_NORMAL "normal" /* Meaning "Normal (TLS)", as in our UI spec. */ 
169 #define MODEST_ACCOUNT_SECURITY_VALUE_SSL "ssl"
170
171 /* Macros for different text formats in mail editor */
172 #define MODEST_FILE_FORMAT_PLAIN_TEXT 0
173 #define MODEST_FILE_FORMAT_FORMATTED_TEXT 1
174
175 /* Global settings */
176 #define MODEST_CONF_AUTO_UPDATE MODEST_CONF_NAMESPACE "/auto_update" /* bool */
177 #define MODEST_CONF_UPDATE_WHEN_CONNECTED_BY MODEST_CONF_NAMESPACE "/update_when_connected_by" /* int */
178 #define MODEST_CONF_UPDATE_INTERVAL MODEST_CONF_NAMESPACE "/update_interval" /* int */
179 #define MODEST_CONF_MSG_SIZE_LIMIT MODEST_CONF_NAMESPACE "/msg_size_limit" /* int */
180 #define MODEST_CONF_PLAY_SOUND_MSG_ARRIVE MODEST_CONF_NAMESPACE "/play_sound_msg_arrive" /* bool */
181 #define MODEST_CONF_PREFER_FORMATTED_TEXT MODEST_CONF_NAMESPACE "/prefer_formatted_text" /* bool */
182 #define MODEST_CONF_REPLY_TYPE           MODEST_CONF_NAMESPACE "/reply_type"        /*  int  */
183 #define MODEST_CONF_FORWARD_TYPE         MODEST_CONF_NAMESPACE "/forward_type"      /*  int  */
184
185 #endif /*__MODEST_DEFS_H__*/