From 6a691aa4e5648cc9dffb5df69e5062c7e195e406 Mon Sep 17 00:00:00 2001 From: Rodrigo Moya Date: Mon, 6 Dec 2004 15:26:57 +0000 Subject: Fixes #67403 2004-12-06 Rodrigo Moya Fixes #67403 * gui/dialogs/event-page.c (sensitize_widgets): don't unsensitize the 'Customize' button, to allow users to look at the alarm list for read only events. * gui/dialogs/alarm-list-dialog.c (sensitize_buttons): unsensitize buttons if the event is read only. svn path=/trunk/; revision=28072 --- calendar/ChangeLog | 12 ++++++++++++ calendar/gui/dialogs/alarm-list-dialog.c | 13 ++++++++++--- calendar/gui/dialogs/event-page.c | 2 +- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 4599b34cd3..32b78b0729 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,14 @@ +2004-12-06 Rodrigo Moya + + Fixes #67403 + + * gui/dialogs/event-page.c (sensitize_widgets): don't unsensitize + the 'Customize' button, to allow users to look at the alarm list + for read only events. + + * gui/dialogs/alarm-list-dialog.c (sensitize_buttons): unsensitize + buttons if the event is read only. + 2004-12-02 Chenthill Palanisamy * gui/dialogs/task-editor.[ch] (task_editor_new), (task_editor_construct), @@ -35,6 +46,7 @@ week_view->last_edited_comp_string for the same reason above. 2004-11-29 Chenthill Palanisamy + * calendar-errors.xml.h: committng this file. Missed to commit this one. diff --git a/calendar/gui/dialogs/alarm-list-dialog.c b/calendar/gui/dialogs/alarm-list-dialog.c index add08c1dfa..31d98e6087 100644 --- a/calendar/gui/dialogs/alarm-list-dialog.c +++ b/calendar/gui/dialogs/alarm-list-dialog.c @@ -93,16 +93,23 @@ sensitize_buttons (Dialog *dialog) { GtkTreeSelection *selection; GtkTreeIter iter; - gboolean have_selected; + gboolean have_selected, read_only = FALSE; + GError *error = NULL; + + if (!e_cal_is_read_only (dialog->ecal, &read_only, &error)) { + if (error->code != E_CALENDAR_STATUS_BUSY) + read_only = TRUE; + g_error_free (error); + } selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->list)); have_selected = gtk_tree_selection_get_selected (selection, NULL, &iter); - if (e_cal_get_one_alarm_only (dialog->ecal) && have_selected) + if ((e_cal_get_one_alarm_only (dialog->ecal) && have_selected) || read_only) gtk_widget_set_sensitive (dialog->add, FALSE); else gtk_widget_set_sensitive (dialog->add, TRUE); - gtk_widget_set_sensitive (dialog->delete, have_selected); + gtk_widget_set_sensitive (dialog->delete, have_selected && !read_only); } /* Callback used for the "add reminder" button */ diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c index d0a4283366..d28b3cb986 100644 --- a/calendar/gui/dialogs/event-page.c +++ b/calendar/gui/dialogs/event-page.c @@ -611,7 +611,7 @@ sensitize_widgets (EventPage *epage) gtk_widget_set_sensitive (priv->show_time_as_busy, !read_only); gtk_widget_set_sensitive (priv->alarm, !read_only); gtk_widget_set_sensitive (priv->alarm_time, !read_only && !custom && alarm); - gtk_widget_set_sensitive (priv->alarm_custom, !read_only && alarm); + gtk_widget_set_sensitive (priv->alarm_custom, alarm); if (custom) gtk_widget_show (priv->alarm_warning); else -- cgit v1.2.3