aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r--calendar/gui/dialogs/alarm-list-dialog.c13
-rw-r--r--calendar/gui/dialogs/event-page.c2
2 files changed, 11 insertions, 4 deletions
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