diff options
author | Not Zed <NotZed@Ximian.com> | 2004-01-27 20:31:22 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2004-01-27 20:31:22 +0800 |
commit | 2cf803cfc656c511342b5d80f464fe590b3f5d9d (patch) | |
tree | 68653e8f4cdadf7bca1b88ac9c7308e29c0cfdc0 /shell/main.c | |
parent | 932f9ea5cb3934a446fbe133311f759362578fd3 (diff) | |
download | gsoc2013-evolution-2cf803cfc656c511342b5d80f464fe590b3f5d9d.tar.gz gsoc2013-evolution-2cf803cfc656c511342b5d80f464fe590b3f5d9d.tar.zst gsoc2013-evolution-2cf803cfc656c511342b5d80f464fe590b3f5d9d.zip |
attempt the upgrade before trying to startup the wizard.
2004-01-21 Not Zed <NotZed@Ximian.com>
* e-shell.c (attempt_upgrade, detect_version, e_shell_construct):
attempt the upgrade before trying to startup the wizard.
* main.c (detect_version, attempt_upgrade): move to e-shell.c
(idle_cb): remove call to attempt_upgrade.
svn path=/trunk/; revision=24461
Diffstat (limited to 'shell/main.c')
-rw-r--r-- | shell/main.c | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/shell/main.c b/shell/main.c index 71892bd1b0..cbce47b214 100644 --- a/shell/main.c +++ b/shell/main.c @@ -340,79 +340,6 @@ new_window_created_callback (EShell *shell, #endif /* DEVELOPMENT_WARNING */ -static gboolean -detect_version (GConfClient *gconf, int *major, int *minor, int *revision) -{ - char *val, *evolution_dir, *filename; - struct stat st; - - evolution_dir = g_build_filename (g_get_home_dir (), "evolution", NULL); - filename = g_build_filename (evolution_dir, "config.xmldb", NULL); - - val = gconf_client_get_string(gconf, "/apps/evolution/version", NULL); - if (val) { - /* Since 1.4.0 We've been keeping the version key in gconf */ - sscanf(val, "%u.%u.%u", major, minor, revision); - g_free(val); - } else if (lstat (filename, &st) != 0 || !S_ISDIR (st.st_mode)) { - /* If ~/evolution does not exit or is not a directory it must be a new installation */ - *major = 0; - *minor = 0; - *revision = 0; - } else { - xmlDocPtr config_doc = NULL; - xmlNodePtr source; - char *tmp; - - if (lstat(filename, &st) == 0 - && S_ISREG(st.st_mode)) - config_doc = xmlParseFile (filename); - - tmp = NULL; - if (config_doc - && (source = e_bconf_get_path (config_doc, "/Shell")) - && (tmp = e_bconf_get_value (source, "upgrade_from_1_0_to_1_2_performed")) - && tmp[0] == '1' ) { - *major = 1; - *minor = 2; - *revision = 0; - } else { - *major = 1; - *minor = 0; - *revision = 0; - } - if (tmp) - xmlFree(tmp); - if (config_doc) - xmlFreeDoc (config_doc); - } - - g_free (evolution_dir); - g_free (filename); - - return TRUE; -} - -static void -attempt_upgrade (EShell *shell) -{ - GConfClient *gconf_client; - int major = 0, minor = 0, revision = 0; - - gconf_client = gconf_client_get_default (); - - if (!detect_version (gconf_client, &major, &minor, &revision) - || !e_shell_attempt_upgrade (shell, major, minor, revision)) - e_notice (NULL, GTK_MESSAGE_ERROR, - _("Warning: Evolution could not upgrade all your data from version %d.%d.%d.\n" - "The data hasn't been deleted, but it will not be seen by this version of Evolution.\n"), - major, minor, revision); - - gconf_client_set_string (gconf_client, "/apps/evolution/version", VERSION, NULL); - g_object_unref (gconf_client); -} - - static void open_uris (GNOME_Evolution_Shell corba_shell, GSList *uri_list) { @@ -500,9 +427,6 @@ idle_cb (void *data) } - if (shell != NULL) - attempt_upgrade (shell); - have_evolution_uri = FALSE; if (shell != NULL) { |