From 48140af35f90d7ec4f994821a5265b1fe0159cfa Mon Sep 17 00:00:00 2001 From: Rodrigo Moya Date: Thu, 16 May 2002 16:41:35 +0000 Subject: added PermissionDenied exception and make it be raised in open, 2002-05-16 Rodrigo Moya * idl/evolution-calendar.idl: added PermissionDenied exception and make it be raised in open, updateObjects and removeObject. * pcs/cal-backend.h: added CAL_BACKEND_OPEN_PERMISSION_DENIED to CalBackendOpenStatus enumeration, added CalBackendResult enumeration. * pcs/cal.c: * pcs/cal-backend.c: * pcs/cal-backend-file.c: adapted to changes in update_objects and remove_object methods. * cal-client/cal-client.[ch]: added CalClientResult enumeration. (cal_client_update_object, cal_client_update_objects, cal_client_remove_object): changed to return a CalClientResult. * conduits/calendar/calendar-conduit.c: * calendar/conduits/todo/todo-conduit.c: * importers/icalendar-importer.c: * gui/dialogs/comp-editor.c: * gui/calendar-model.c: * gui/e-calendar-table.c: * gui/e-day-view.c: * gui/e-itip-control.c: * gui/e-week-view.c: * gui/comp-util.c: * gui/e-tasks.c: * gui/tasks-migrate.c: adapted to changes in cal_client_update_object(s) and cal_client_remove_object. svn path=/trunk/; revision=16932 --- calendar/gui/dialogs/comp-editor.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'calendar/gui/dialogs/comp-editor.c') diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c index cad55ebf08..05710b7581 100644 --- a/calendar/gui/dialogs/comp-editor.c +++ b/calendar/gui/dialogs/comp-editor.c @@ -297,6 +297,7 @@ save_comp (CompEditor *editor) CompEditorPrivate *priv; CalComponent *clone; GList *l; + CalClientResult result; priv = editor->priv; @@ -316,11 +317,29 @@ save_comp (CompEditor *editor) priv->updating = TRUE; - if (!cal_client_update_object (priv->client, priv->comp)) { + result = cal_client_update_object (priv->client, priv->comp); + if (result != CAL_CLIENT_RESULT_SUCCESS) { GtkWidget *dlg; + char *msg; + + switch (result) { + case CAL_CLIENT_RESULT_INVALID_OBJECT : + msg = g_strdup (_("Could not update invalid object")); + break; + case CAL_CLIENT_RESULT_NOT_FOUND : + msg = g_strdup (_("Object not found, not updated")); + break; + case CAL_CLIENT_RESULT_PERMISSION_DENIED : + msg = g_strdup (_("You don't have permissions to update this object")); + break; + default : + msg = g_strdup (_("Could not update object")); + break; + } - dlg = gnome_error_dialog (_("Could not update object!")); + dlg = gnome_error_dialog (msg); gnome_dialog_run_and_close (GNOME_DIALOG (dlg)); + g_free (msg); return FALSE; } else { -- cgit v1.2.3