aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs
diff options
context:
space:
mode:
author7 <jpr@ximian.com>2002-07-18 01:23:49 +0800
committerJP Rosevear <jpr@src.gnome.org>2002-07-18 01:23:49 +0800
commit1ea6884e825cb2e30787f6f6d0c7911647473945 (patch)
tree7b31a4699adb7dae215d1eb03bef4e89f6d235c3 /calendar/gui/dialogs
parent6dee50394a99a1d1e2e95309764bfedbcd95275d (diff)
downloadgsoc2013-evolution-1ea6884e825cb2e30787f6f6d0c7911647473945.tar
gsoc2013-evolution-1ea6884e825cb2e30787f6f6d0c7911647473945.tar.gz
gsoc2013-evolution-1ea6884e825cb2e30787f6f6d0c7911647473945.tar.bz2
gsoc2013-evolution-1ea6884e825cb2e30787f6f6d0c7911647473945.tar.lz
gsoc2013-evolution-1ea6884e825cb2e30787f6f6d0c7911647473945.tar.xz
gsoc2013-evolution-1ea6884e825cb2e30787f6f6d0c7911647473945.tar.zst
gsoc2013-evolution-1ea6884e825cb2e30787f6f6d0c7911647473945.zip
use util function to see if the user is the organizer
2002-07-17 <jpr@ximian.com> * gui/calendar-model.c (calendar_model_value_at): use util function to see if the user is the organizer * gui/dialogs/cancel-comp.c (cancel_component_dialog): add deleting proto to indicate whether cancelling or deleting is the primary operation * gui/dialogs/cancel-comp.h: update proto * gui/dialogs/comp-editor.c (delete_cmd): offer to cancel * gui/dialogs/task-editor.c (cancel_task_cmd): call cancel_component_dialog with new param * gui/dialogs/event-editor.c (cancel_meeting_cmd): ditto * gui/e-week-view.c (e_week_view_on_editing_stopped): only update request if user is organizer (e_week_view_show_popup_menu): disable the meeting and meeting organizer mask if appropriate (e_week_view_delete_event_internal): offer to cancel the meeting (e_week_view_on_cut): ditto (selection_received): send request if its a meeting * gui/e-day-view.h: add meeting icon/mask * gui/e-day-view.c (e_day_view_on_event_right_click): disable the meeting and meeting organizer mask if appropriate (e_day_view_delete_event_internal): offer to cancel meeting (e_day_view_on_cut): ditto (e_day_view_finish_long_event_resize): only update request if user is organizer (e_day_view_reshape_long_event): add meeting icon to count (e_day_view_reshape_day_event): ditto (e_day_view_on_top_canvas_drag_data_received): only update request if user is organizer (e_day_view_on_main_canvas_drag_data_received): ditto (selection_received): offer to send meeting info * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): draw meeting icon if appropriate (using dummy icon atm) svn path=/trunk/; revision=17491
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r--calendar/gui/dialogs/cancel-comp.c28
-rw-r--r--calendar/gui/dialogs/cancel-comp.h2
-rw-r--r--calendar/gui/dialogs/comp-editor.c10
-rw-r--r--calendar/gui/dialogs/event-editor.c2
-rw-r--r--calendar/gui/dialogs/task-editor.c2
5 files changed, 30 insertions, 14 deletions
diff --git a/calendar/gui/dialogs/cancel-comp.c b/calendar/gui/dialogs/cancel-comp.c
index 92590cfa40..9156877016 100644
--- a/calendar/gui/dialogs/cancel-comp.c
+++ b/calendar/gui/dialogs/cancel-comp.c
@@ -42,30 +42,40 @@
* Return value: TRUE if the user clicked Yes, FALSE otherwise.
**/
gboolean
-cancel_component_dialog (CalComponent *comp)
+cancel_component_dialog (CalComponent *comp, gboolean deleting)
{
GtkWidget *dialog;
CalComponentVType vtype;
char *str;
- str = _("The meeting status has changed. Send an updated version?");
-
vtype = cal_component_get_vtype (comp);
switch (vtype) {
case CAL_COMPONENT_EVENT:
- str = g_strdup_printf (_("Are you sure you want to cancel "
- "and delete this meeting?"));
+ if (deleting)
+ str = g_strdup_printf (_("The event being deleted is a meeting, "
+ "would you like to send a cancellation notice?"));
+ else
+ str = g_strdup_printf (_("Are you sure you want to cancel "
+ "and delete this meeting?"));
break;
case CAL_COMPONENT_TODO:
- str = g_strdup_printf (_("Are you sure you want to cancel "
- "and delete this task?"));
+ if (deleting)
+ str = g_strdup_printf (_("The task being deleted is assigned, "
+ "would you like to send a cancellation notice?"));
+ else
+ str = g_strdup_printf (_("Are you sure you want to cancel "
+ "and delete this task?"));
break;
case CAL_COMPONENT_JOURNAL:
- str = g_strdup_printf (_("Are you sure you want to cancel "
- "and delete this journal entry?"));
+ if (deleting)
+ str = g_strdup_printf (_("The journal entry being deleted is published, "
+ "would you like to send a cancellation notice?"));
+ else
+ str = g_strdup_printf (_("Are you sure you want to cancel "
+ "and delete this journal entry?"));
break;
default:
diff --git a/calendar/gui/dialogs/cancel-comp.h b/calendar/gui/dialogs/cancel-comp.h
index d12466ffa1..b05d6a5cab 100644
--- a/calendar/gui/dialogs/cancel-comp.h
+++ b/calendar/gui/dialogs/cancel-comp.h
@@ -24,6 +24,6 @@
#include <glib.h>
#include <cal-util/cal-component.h>
-gboolean cancel_component_dialog (CalComponent *comp);
+gboolean cancel_component_dialog (CalComponent *comp, gboolean deleting);
#endif
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 1179453aff..44e7f80c20 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -47,6 +47,7 @@
#include "delete-comp.h"
#include "send-comp.h"
#include "changed-comp.h"
+#include "cancel-comp.h"
#include "comp-editor.h"
@@ -379,7 +380,7 @@ save_comp_with_send (CompEditor *editor)
if (!save_comp (editor))
return FALSE;
- if (send && send_component_dialog (priv->comp, priv->existing_org)) {
+ if (send && send_component_dialog (priv->comp, !priv->existing_org)) {
if (itip_organizer_is_user (priv->comp))
comp_editor_send_comp (editor, CAL_COMPONENT_METHOD_REQUEST);
else
@@ -1232,8 +1233,13 @@ delete_cmd (GtkWidget *widget, gpointer data)
vtype = cal_component_get_vtype (priv->comp);
- if (delete_component_dialog (priv->comp, FALSE, 1, vtype, GTK_WIDGET (editor)))
+ if (delete_component_dialog (priv->comp, FALSE, 1, vtype, GTK_WIDGET (editor))) {
+ if (itip_organizer_is_user (priv->comp)
+ && cancel_component_dialog (priv->comp, TRUE))
+ itip_send_comp (CAL_COMPONENT_METHOD_CANCEL, priv->comp, priv->client, NULL);
+
delete_comp (editor);
+ }
}
static void
diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c
index 7c020caff0..7224f6f175 100644
--- a/calendar/gui/dialogs/event-editor.c
+++ b/calendar/gui/dialogs/event-editor.c
@@ -446,7 +446,7 @@ cancel_meeting_cmd (GtkWidget *widget, gpointer data)
CalComponent *comp;
comp = comp_editor_get_current_comp (COMP_EDITOR (ee));
- if (cancel_component_dialog (comp)) {
+ if (cancel_component_dialog (comp, FALSE)) {
comp_editor_send_comp (COMP_EDITOR (ee), CAL_COMPONENT_METHOD_CANCEL);
comp_editor_delete_comp (COMP_EDITOR (ee));
}
diff --git a/calendar/gui/dialogs/task-editor.c b/calendar/gui/dialogs/task-editor.c
index b712e07135..7a637f34f1 100644
--- a/calendar/gui/dialogs/task-editor.c
+++ b/calendar/gui/dialogs/task-editor.c
@@ -394,7 +394,7 @@ cancel_task_cmd (GtkWidget *widget, gpointer data)
CalComponent *comp;
comp = comp_editor_get_current_comp (COMP_EDITOR (te));
- if (cancel_component_dialog (comp)) {
+ if (cancel_component_dialog (comp, FALSE)) {
comp_editor_send_comp (COMP_EDITOR (te), CAL_COMPONENT_METHOD_CANCEL);
comp_editor_delete_comp (COMP_EDITOR (te));
}