diff options
author | Rodrigo Moya <rodrigo@ximian.com> | 2002-05-17 00:41:35 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@src.gnome.org> | 2002-05-17 00:41:35 +0800 |
commit | 48140af35f90d7ec4f994821a5265b1fe0159cfa (patch) | |
tree | dd2bde3e78c4fd5db7a97dbb754b59edf66bbb4e /calendar/gui/e-itip-control.c | |
parent | aad3ac6ddd62d5cd1b3421f5bf45ccdcf1b0ed35 (diff) | |
download | gsoc2013-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.c | 49 |
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)); } |