aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/migration.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-05-12 11:32:19 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-05-12 11:32:19 +0800
commit63ca6c19ab323142c1362afe95f6acf1259d2ecf (patch)
tree7fc3bc513a980f35e126543154dd908ae1b1a448 /calendar/gui/migration.c
parent97a9bd320d00f4a194d6948cf9d54435b04a331e (diff)
downloadgsoc2013-evolution-63ca6c19ab323142c1362afe95f6acf1259d2ecf.tar
gsoc2013-evolution-63ca6c19ab323142c1362afe95f6acf1259d2ecf.tar.gz
gsoc2013-evolution-63ca6c19ab323142c1362afe95f6acf1259d2ecf.tar.bz2
gsoc2013-evolution-63ca6c19ab323142c1362afe95f6acf1259d2ecf.tar.lz
gsoc2013-evolution-63ca6c19ab323142c1362afe95f6acf1259d2ecf.tar.xz
gsoc2013-evolution-63ca6c19ab323142c1362afe95f6acf1259d2ecf.tar.zst
gsoc2013-evolution-63ca6c19ab323142c1362afe95f6acf1259d2ecf.zip
add GError return for error details & return errors.
2004-05-11 Not Zed <NotZed@Ximian.com> * gui/migration.c (migrate_calendars, migrate_tasks): add GError return for error details & return errors. * gui/calendar-component.c (impl_upgradeFromVersion): fix for api change, and erturn exception if we need to. svn path=/trunk/; revision=25865
Diffstat (limited to 'calendar/gui/migration.c')
-rw-r--r--calendar/gui/migration.c39
1 files changed, 25 insertions, 14 deletions
diff --git a/calendar/gui/migration.c b/calendar/gui/migration.c
index e1d6731ba4..fa449d5f17 100644
--- a/calendar/gui/migration.c
+++ b/calendar/gui/migration.c
@@ -669,11 +669,11 @@ migrate_pilot_data (const char *component, const char *conduit, const char *old_
}
gboolean
-migrate_calendars (CalendarComponent *component, int major, int minor, int revision)
+migrate_calendars (CalendarComponent *component, int major, int minor, int revision, GError **err)
{
ESourceGroup *on_this_computer = NULL, *on_the_web = NULL, *contacts = NULL;
ESource *personal_source = NULL;
- gboolean retval = TRUE;
+ gboolean retval = FALSE;
/* we call this unconditionally now - create_groups either
creates the groups/sources or it finds the necessary
@@ -704,8 +704,9 @@ migrate_calendars (CalendarComponent *component, int major, int minor, int revis
xmlFreeDoc(config_doc);
if (res != 0) {
- g_warning("Could not move config from bonobo-conf to gconf");
- return FALSE;
+ /* FIXME: set proper domain/code */
+ g_set_error(err, 0, 0, _("Unable to migrate old settings from evolution/config.xmldb"));
+ goto fail;
}
}
@@ -731,8 +732,12 @@ migrate_calendars (CalendarComponent *component, int major, int minor, int revis
source_name = get_source_name (on_this_computer, (char*)l->data);
- if (!migrate_ical_folder (l->data, on_this_computer, source_name, E_CAL_SOURCE_TYPE_EVENT))
- retval = FALSE;
+ if (!migrate_ical_folder (l->data, on_this_computer, source_name, E_CAL_SOURCE_TYPE_EVENT)) {
+ /* FIXME: domain/code */
+ g_set_error(err, 0, 0, _("Unable to migrate calendar `%s'"), source_name);
+ g_free(source_name);
+ goto fail;
+ }
g_free (source_name);
}
@@ -781,7 +786,8 @@ migrate_calendars (CalendarComponent *component, int major, int minor, int revis
}
e_source_list_sync (calendar_component_peek_source_list (component), NULL);
-
+ retval = TRUE;
+fail:
if (on_this_computer)
g_object_unref (on_this_computer);
if (on_the_web)
@@ -795,12 +801,12 @@ migrate_calendars (CalendarComponent *component, int major, int minor, int revis
}
gboolean
-migrate_tasks (TasksComponent *component, int major, int minor, int revision)
+migrate_tasks (TasksComponent *component, int major, int minor, int revision, GError **err)
{
ESourceGroup *on_this_computer = NULL;
ESourceGroup *on_the_web = NULL;
ESource *personal_source = NULL;
- gboolean retval = TRUE;
+ gboolean retval = FALSE;
/* we call this unconditionally now - create_groups either
creates the groups/sources or it finds the necessary
@@ -831,8 +837,8 @@ migrate_tasks (TasksComponent *component, int major, int minor, int revision)
xmlFreeDoc(config_doc);
if (res != 0) {
- g_warning("Could not move config from bonobo-conf to gconf");
- return FALSE;
+ g_set_error(err, 0, 0, _("Unable to migrate old settings from evolution/config.xmldb"));
+ goto fail;
}
}
@@ -858,8 +864,12 @@ migrate_tasks (TasksComponent *component, int major, int minor, int revision)
source_name = get_source_name (on_this_computer, (char*)l->data);
- if (!migrate_ical_folder (l->data, on_this_computer, source_name, E_CAL_SOURCE_TYPE_TODO))
- retval = FALSE;
+ if (!migrate_ical_folder (l->data, on_this_computer, source_name, E_CAL_SOURCE_TYPE_TODO)) {
+ /* FIXME: domain/code */
+ g_set_error(err, 0, 0, _("Unable to migrate tasks `%s'"), source_name);
+ g_free(source_name);
+ goto fail;
+ }
g_free (source_name);
}
@@ -882,7 +892,8 @@ migrate_tasks (TasksComponent *component, int major, int minor, int revision)
}
e_source_list_sync (tasks_component_peek_source_list (component), NULL);
-
+ retval = TRUE;
+fail:
if (on_this_computer)
g_object_unref (on_this_computer);
if (on_the_web)