diff options
author | Rodrigo Moya <rodrigo@novell.com> | 2004-12-06 23:26:57 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@src.gnome.org> | 2004-12-06 23:26:57 +0800 |
commit | 6a691aa4e5648cc9dffb5df69e5062c7e195e406 (patch) | |
tree | 3cd0b3750d47fd2e55057aade7b3ed417d6256e3 /calendar/gui | |
parent | d6bae88c16bdbcf83100d7e1300c45cd47a1ebbb (diff) | |
download | gsoc2013-evolution-6a691aa4e5648cc9dffb5df69e5062c7e195e406.tar.gz gsoc2013-evolution-6a691aa4e5648cc9dffb5df69e5062c7e195e406.tar.zst gsoc2013-evolution-6a691aa4e5648cc9dffb5df69e5062c7e195e406.zip |
Fixes #67403
2004-12-06 Rodrigo Moya <rodrigo@novell.com>
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
Diffstat (limited to 'calendar/gui')
-rw-r--r-- | calendar/gui/dialogs/alarm-list-dialog.c | 13 | ||||
-rw-r--r-- | calendar/gui/dialogs/event-page.c | 2 |
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 |