aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-itip-control.c
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@ximian.com>2002-05-17 00:41:35 +0800
committerRodrigo Moya <rodrigo@src.gnome.org>2002-05-17 00:41:35 +0800
commit48140af35f90d7ec4f994821a5265b1fe0159cfa (patch)
treedd2bde3e78c4fd5db7a97dbb754b59edf66bbb4e /calendar/gui/e-itip-control.c
parentaad3ac6ddd62d5cd1b3421f5bf45ccdcf1b0ed35 (diff)
downloadgsoc2013-evolution-48140af35f90d7ec4f994821a5265b1fe0159cfa.tar
gsoc2013-evolution-48140af35f90d7ec4f994821a5265b1fe0159cfa.tar.gz
gsoc2013-evolution-48140af35f90d7ec4f994821a5265b1fe0159cfa.tar.bz2
gsoc2013-evolution-48140af35f90d7ec4f994821a5265b1fe0159cfa.tar.lz
gsoc2013-evolution-48140af35f90d7ec4f994821a5265b1fe0159cfa.tar.xz
gsoc2013-evolution-48140af35f90d7ec4f994821a5265b1fe0159cfa.tar.zst
gsoc2013-evolution-48140af35f90d7ec4f994821a5265b1fe0159cfa.zip
added PermissionDenied exception and make it be raised in open,
2002-05-16 Rodrigo Moya <rodrigo@ximian.com> * 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
Diffstat (limited to 'calendar/gui/e-itip-control.c')
-rw-r--r--calendar/gui/e-itip-control.c49
1 files changed, 42 insertions, 7 deletions
diff --git a/calendar/gui/e-itip-control.c b/calendar/gui/e-itip-control.c
index f8cfe2fea3..75be4d098d 100644
--- a/calendar/gui/e-itip-control.c
+++ b/calendar/gui/e-itip-control.c
@@ -1548,6 +1548,7 @@ update_item (EItipControl *itip)
CalClient *client;
CalComponentVType type;
GtkWidget *dialog;
+ CalClientResult result;
priv = itip->priv;
@@ -1560,10 +1561,27 @@ update_item (EItipControl *itip)
clone = icalcomponent_new_clone (priv->ical_comp);
icalcomponent_add_component (priv->top_level, clone);
- if (!cal_client_update_objects (client, priv->top_level))
- dialog = gnome_warning_dialog (_("Calendar file could not be updated!\n"));
- else
+ result = cal_client_update_objects (client, priv->top_level);
+ switch (result) {
+ case CAL_CLIENT_RESULT_INVALID_OBJECT :
+ dialog = gnome_warning_dialog (_("Object is invalid and cannot be updated\n"));
+ break;
+ case CAL_CLIENT_RESULT_CORBA_ERROR :
+ dialog = gnome_warning_dialog (_("There was an error on the CORBA system\n"));
+ break;
+ case CAL_CLIENT_RESULT_NOT_FOUND :
+ dialog = gnome_warning_dialog (_("Object could not be found\n"));
+ break;
+ case CAL_CLIENT_RESULT_PERMISSION_DENIED :
+ dialog = gnome_warning_dialog (_("You don't have permissions to update the calendar\n"));
+ break;
+ case CAL_CLIENT_RESULT_SUCCESS :
dialog = gnome_ok_dialog (_("Update complete\n"));
+ break;
+ default :
+ dialog = gnome_warning_dialog (_("Calendar file could not be updated!\n"));
+ break;
+ }
gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
icalcomponent_remove_component (priv->top_level, clone);
@@ -1579,6 +1597,7 @@ update_attendee_status (EItipControl *itip)
CalComponentVType type;
const char *uid;
GtkWidget *dialog;
+ CalClientResult result;
priv = itip->priv;
@@ -1634,10 +1653,26 @@ update_attendee_status (EItipControl *itip)
}
}
- if (!cal_client_update_object (client, comp))
- dialog = gnome_warning_dialog (_("Attendee status could not be updated!\n"));
- else
+ result = cal_client_update_object (client, comp);
+ switch (result) {
+ case CAL_CLIENT_RESULT_INVALID_OBJECT :
+ dialog = gnome_warning_dialog (_("Object is invalid and cannot be updated\n"));
+ break;
+ case CAL_CLIENT_RESULT_CORBA_ERROR :
+ dialog = gnome_warning_dialog (_("There was an error on the CORBA system\n"));
+ break;
+ case CAL_CLIENT_RESULT_NOT_FOUND :
+ dialog = gnome_warning_dialog (_("Object could not be found\n"));
+ break;
+ case CAL_CLIENT_RESULT_PERMISSION_DENIED :
+ dialog = gnome_warning_dialog (_("You don't have permissions to update the calendar\n"));
+ break;
+ case CAL_CLIENT_RESULT_SUCCESS :
dialog = gnome_ok_dialog (_("Attendee status updated\n"));
+ break;
+ default :
+ dialog = gnome_warning_dialog (_("Attendee status could not be updated!\n"));
+ }
} else {
dialog = gnome_warning_dialog (_("Attendee status can not be updated "
"because the item no longer exists"));
@@ -1670,7 +1705,7 @@ remove_item (EItipControl *itip)
return;
cal_component_get_uid (priv->comp, &uid);
- if (cal_client_remove_object (client, uid)) {
+ if (cal_client_remove_object (client, uid) == CAL_CLIENT_RESULT_SUCCESS) {
dialog = gnome_ok_dialog (_("Removal Complete"));
gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
}