aboutsummaryrefslogtreecommitdiffstats
path: root/shell/main.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2003-11-18 05:27:21 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2003-11-18 05:27:21 +0800
commitc6b3809b47d4c5166d5244754f28b03ec5d5d60b (patch)
tree8076b2d754096a5196999295790f0099045d9884 /shell/main.c
parent9582e8159c9862e160d8b7569c534c8196e40686 (diff)
downloadgsoc2013-evolution-c6b3809b47d4c5166d5244754f28b03ec5d5d60b.tar
gsoc2013-evolution-c6b3809b47d4c5166d5244754f28b03ec5d5d60b.tar.gz
gsoc2013-evolution-c6b3809b47d4c5166d5244754f28b03ec5d5d60b.tar.bz2
gsoc2013-evolution-c6b3809b47d4c5166d5244754f28b03ec5d5d60b.tar.lz
gsoc2013-evolution-c6b3809b47d4c5166d5244754f28b03ec5d5d60b.tar.xz
gsoc2013-evolution-c6b3809b47d4c5166d5244754f28b03ec5d5d60b.tar.zst
gsoc2013-evolution-c6b3809b47d4c5166d5244754f28b03ec5d5d60b.zip
New helper function. (idle_cb): Call it if we have a local shell. Also,
* main.c (attempt_upgrade): New helper function. (idle_cb): Call it if we have a local shell. Also, remove unused variables. * e-shell.c (e_shell_attempt_upgrade): New. * Evolution-Component.idl (Component.upgradeFromeVersion): New. svn path=/trunk/; revision=23403
Diffstat (limited to 'shell/main.c')
-rw-r--r--shell/main.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/shell/main.c b/shell/main.c
index 6285e55560..d89566a6aa 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -340,6 +340,25 @@ new_window_created_callback (EShell *shell,
#endif /* DEVELOPMENT_WARNING */
+static void
+attempt_upgrade (EShell *shell)
+{
+ GConfClient *gconf_client = gconf_client_get_default ();
+ char *previous_version = gconf_client_get_string (gconf_client, "/apps/evolution/version", NULL);
+
+ if (previous_version != NULL) {
+ if (! e_shell_attempt_upgrade (shell, previous_version))
+ e_notice (NULL, GTK_MESSAGE_ERROR,
+ _("Warning: Evolution could not upgrade all your data from version %s.\n"
+ "The data hasn't been deleted, but it will not be seen by this version of Evolution.\n"),
+ previous_version);
+ }
+
+ gconf_client_set_string (gconf_client, "/apps/evolution/version", VERSION, NULL);
+ g_object_unref (gconf_client);
+}
+
+
/* This is for doing stuff that requires the GTK+ loop to be running already. */
static gint
@@ -352,8 +371,6 @@ idle_cb (void *data)
EShellStartupLineMode startup_line_mode;
GSList *p;
gboolean have_evolution_uri;
- gboolean display_default;
- gboolean displayed_any;
#ifdef KILL_PROCESS_CMD
kill_old_dataserver ();
@@ -408,6 +425,9 @@ idle_cb (void *data)
}
+ if (shell != NULL)
+ attempt_upgrade (shell);
+
have_evolution_uri = FALSE;
if (uri_list == NULL && shell != NULL)