diff options
Diffstat (limited to 'shell/e-setup.c')
-rw-r--r-- | shell/e-setup.c | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/shell/e-setup.c b/shell/e-setup.c index 088aa010c2..b3d41509c4 100644 --- a/shell/e-setup.c +++ b/shell/e-setup.c @@ -41,6 +41,7 @@ #include <gal/widgets/e-gui-utils.h> #include "e-local-folder.h" +#include "e-shell-config.h" #include "e-shell-constants.h" #include "e-setup.h" @@ -417,26 +418,41 @@ e_setup (const char *evolution_directory) void -e_setup_check_db (Bonobo_ConfigDatabase db) +e_setup_check_db (Bonobo_ConfigDatabase db, const char *evolution_directory) { - gboolean def; + char *uri; - if (bonobo_config_get_string_with_default (db, "/DefaultFolder/mail_path", NULL, &def) == NULL) { - bonobo_config_set_string (db, "/DefaultFolder/mail_path", + if (bonobo_config_get_string_with_default (db, "/DefaultFolders/mail_path", NULL, NULL) == NULL) { + bonobo_config_set_string (db, "/DefaultFolders/mail_path", E_LOCAL_INBOX_URI, NULL); - bonobo_config_set_string (db, "/DefaultFolder/mail_uri", - E_LOCAL_INBOX_URI, NULL); - bonobo_config_set_string (db, "/DefaultFolder/contacts_path", - E_LOCAL_CONTACTS_URI, NULL); - bonobo_config_set_string (db, "/DefaultFolder/contacts_uri", + uri = g_strconcat ("file://", evolution_directory, "/local", + strrchr (E_LOCAL_INBOX_URI, '/'), NULL); + bonobo_config_set_string (db, "/DefaultFolders/mail_uri", + uri, NULL); + g_free (uri); + + bonobo_config_set_string (db, "/DefaultFolders/contacts_path", E_LOCAL_CONTACTS_URI, NULL); - bonobo_config_set_string (db, "/DefaultFolder/calendar_path", - E_LOCAL_CALENDAR_URI, NULL); - bonobo_config_set_string (db, "/DefaultFolder/calendar_uri", + uri = g_strconcat ("file://", evolution_directory, "/local", + strrchr (E_LOCAL_CONTACTS_URI, '/'), NULL); + bonobo_config_set_string (db, "/DefaultFolders/contacts_uri", + uri, NULL); + g_free (uri); + + bonobo_config_set_string (db, "/DefaultFolders/calendar_path", E_LOCAL_CALENDAR_URI, NULL); - bonobo_config_set_string (db, "/DefaultFolder/tasks_path", - E_LOCAL_TASKS_URI, NULL); - bonobo_config_set_string (db, "/DefaultFolder/tasks_uri", + uri = g_strconcat ("file://", evolution_directory, "/local", + strrchr (E_LOCAL_CALENDAR_URI, '/'), NULL); + bonobo_config_set_string (db, "/DefaultFolders/calendar_uri", + uri, NULL); + g_free (uri); + + bonobo_config_set_string (db, "/DefaultFolders/tasks_path", E_LOCAL_TASKS_URI, NULL); + uri = g_strconcat ("file://", evolution_directory, "/local", + strrchr (E_LOCAL_TASKS_URI, '/'), NULL); + bonobo_config_set_string (db, "/DefaultFolders/tasks_uri", + uri, NULL); + g_free (uri); } } |