diff options
author | JP Rosevear <jpr@ximian.com> | 2003-04-25 09:57:55 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2003-04-25 09:57:55 +0800 |
commit | 90dc62f9e598a84a4300f06c329c288b5171e159 (patch) | |
tree | 68b221e9882bf02db332804f00ecbe340e2c481c /calendar/gui/dialogs | |
parent | 8f4d9f83b2d7a561840c39d3abefb4cec2b9b87e (diff) | |
download | gsoc2013-evolution-90dc62f9e598a84a4300f06c329c288b5171e159.tar.gz gsoc2013-evolution-90dc62f9e598a84a4300f06c329c288b5171e159.tar.zst gsoc2013-evolution-90dc62f9e598a84a4300f06c329c288b5171e159.zip |
Fixes #37552
2003-04-24 JP Rosevear <jpr@ximian.com>
Fixes #37552
* gui/dialogs/Makefile.am: build delete-error.[hc]
* gui/e-tasks.c: wrap calls to cal_client_remove_object with
delete_error_dialog
* gui/e-itip-control.c: ditto
* gui/e-calendar-table.c: ditto
* gui/e-week-view.c: ditto
* gui/e-day-view.c: ditto
* gui/dialogs/delete-error.[hc]: gemerate an error message based
on result
svn path=/trunk/; revision=20961
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r-- | calendar/gui/dialogs/Makefile.am | 2 | ||||
-rw-r--r-- | calendar/gui/dialogs/delete-error.c | 107 | ||||
-rw-r--r-- | calendar/gui/dialogs/delete-error.h | 30 |
3 files changed, 139 insertions, 0 deletions
diff --git a/calendar/gui/dialogs/Makefile.am b/calendar/gui/dialogs/Makefile.am index 8dc79e7fe7..4bbdd90ca5 100644 --- a/calendar/gui/dialogs/Makefile.am +++ b/calendar/gui/dialogs/Makefile.am @@ -53,6 +53,8 @@ libcal_dialogs_la_SOURCES = \ comp-editor-util.h \ delete-comp.c \ delete-comp.h \ + delete-error.c \ + delete-error.h \ e-delegate-dialog.c \ e-delegate-dialog.h \ event-editor.c \ diff --git a/calendar/gui/dialogs/delete-error.c b/calendar/gui/dialogs/delete-error.c new file mode 100644 index 0000000000..947aab1e97 --- /dev/null +++ b/calendar/gui/dialogs/delete-error.c @@ -0,0 +1,107 @@ +/* Evolution calendar - Send calendar component dialog + * + * Copyright (C) 2001 Ximian, Inc. + * + * Author: JP Rosevear <jpr@ximian.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <glib.h> +#include <gtk/gtkmessagedialog.h> +#include <libgnome/gnome-i18n.h> +#include <libgnomeui/gnome-uidefs.h> +#include <gal/widgets/e-unicode.h> +#include "delete-error.h" + + + +/** + * delete_error_dialog: + * + * Shows any applicable error messages as the result of deleting and object + * + **/ +void +delete_error_dialog (CalClientResult result, CalComponentVType vtype) +{ + GtkWidget *dialog; + const char *str; + + switch (result) { + case CAL_CLIENT_RESULT_CORBA_ERROR: + switch (vtype) { + case CAL_COMPONENT_EVENT: + str = _("The event could not be deleted due to a corba error"); + break; + case CAL_COMPONENT_TODO: + str = _("The task could not be deleted due to a corba error"); + break; + case CAL_COMPONENT_JOURNAL: + str = _("The journal entry could not be deleted due to a corba error"); + break; + default: + str = _("The item could not be deleted due to a corba error"); + break; + } + break; + case CAL_CLIENT_RESULT_PERMISSION_DENIED: + switch (vtype) { + case CAL_COMPONENT_EVENT: + str = _("The event could not be deleted because permission was denied"); + break; + case CAL_COMPONENT_TODO: + str = _("The task could not be deleted because permission was denied"); + break; + case CAL_COMPONENT_JOURNAL: + str = _("The journal entry could not be deleted because permission was denied"); + break; + default: + str = _("The item could not be deleted because permission was denied"); + break; + } + break; + case CAL_CLIENT_RESULT_INVALID_OBJECT: + switch (vtype) { + case CAL_COMPONENT_EVENT: + str = _("The event could not be deleted because it was invalid"); + break; + case CAL_COMPONENT_TODO: + str = _("The task could not be deleted because it was invalid"); + break; + case CAL_COMPONENT_JOURNAL: + str = _("The journal entry could not be deleted because it was invalid"); + break; + default: + str = _("The item could not be deleted because it was invalid"); + break; + } + break; + case CAL_CLIENT_RESULT_SUCCESS: + case CAL_CLIENT_RESULT_NOT_FOUND: + default: + /* If not found, we don't care - its gone anyhow */ + return; + } + + dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, str); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); +} diff --git a/calendar/gui/dialogs/delete-error.h b/calendar/gui/dialogs/delete-error.h new file mode 100644 index 0000000000..dcef2fa3be --- /dev/null +++ b/calendar/gui/dialogs/delete-error.h @@ -0,0 +1,30 @@ +/* Evolution calendar - Send calendar component dialog + * + * Copyright (C) 2001 Ximian, Inc. + * + * Author: JP Rosevear <jpr@ximian.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef DELETE_ERROR_H +#define DELETE_ERROR_H + +#include <glib.h> +#include <cal-client/cal-client.h> +#include <cal-util/cal-component.h> + +void delete_error_dialog (CalClientResult result, CalComponentVType vtype); + +#endif |