aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/dialogs/comp-editor.c18
-rw-r--r--calendar/gui/dialogs/comp-editor.h1
-rw-r--r--calendar/gui/dialogs/event-editor.c5
-rw-r--r--calendar/gui/dialogs/task-editor.c6
4 files changed, 29 insertions, 1 deletions
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 8286b444e8..26cc13e179 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -990,6 +990,20 @@ setup_widgets (CompEditor *editor)
}
+void
+comp_editor_sensitize_attachment_bar (CompEditor *editor, gboolean set)
+{
+ CompEditorPrivate *priv;
+
+ g_return_if_fail (IS_COMP_EDITOR (editor));
+
+ priv = editor->priv;
+
+ gtk_widget_set_sensitive (GTK_WIDGET (priv->attachment_bar), set);
+ gtk_widget_set_sensitive (GTK_WIDGET (priv->attachment_scrolled_window), set);
+ gtk_widget_set_sensitive (GTK_WIDGET (priv->attachment_expander), set);
+}
+
/* Object initialization function for the calendar component editor */
static void
comp_editor_init (CompEditor *editor)
@@ -1769,6 +1783,7 @@ real_send_comp (CompEditor *editor, ECalComponentItipMethod method)
if (!e_cal_component_has_attachments (priv->comp)) {
if (itip_send_comp (method, priv->comp, priv->client,
NULL, NULL)) {
+#if 0
tmp_comp = priv->comp;
g_object_ref (tmp_comp);
comp_editor_edit_comp (editor, tmp_comp);
@@ -1776,6 +1791,7 @@ real_send_comp (CompEditor *editor, ECalComponentItipMethod method)
comp_editor_set_changed (editor, TRUE);
save_comp (editor);
+#endif
return TRUE;
}
@@ -2014,7 +2030,7 @@ comp_editor_notify_client_changed (CompEditor *editor, ECal *client)
if (!e_cal_is_read_only (client, &read_only, NULL))
read_only = TRUE;
-
+ comp_editor_sensitize_attachment_bar (editor, !read_only);
gtk_dialog_set_response_sensitive (GTK_DIALOG (editor), GTK_RESPONSE_OK, !read_only);
}
diff --git a/calendar/gui/dialogs/comp-editor.h b/calendar/gui/dialogs/comp-editor.h
index 7203b3e722..84381a476f 100644
--- a/calendar/gui/dialogs/comp-editor.h
+++ b/calendar/gui/dialogs/comp-editor.h
@@ -99,6 +99,7 @@ void comp_editor_focus (CompEditor *editor);
void comp_editor_notify_client_changed (CompEditor *editor, ECal *client);
+void comp_editor_sensitize_attachment_bar (CompEditor *editor, gboolean set);
G_END_DECLS
diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c
index 5f46bb1222..20ded07a6c 100644
--- a/calendar/gui/dialogs/event-editor.c
+++ b/calendar/gui/dialogs/event-editor.c
@@ -129,6 +129,7 @@ EventEditor *
event_editor_construct (EventEditor *ee, ECal *client)
{
EventEditorPrivate *priv;
+ gboolean read_only = FALSE;
priv = ee->priv;
@@ -147,6 +148,10 @@ event_editor_construct (EventEditor *ee, ECal *client)
comp_editor_append_page (COMP_EDITOR (ee),
COMP_EDITOR_PAGE (priv->recur_page),
_("Recurrence"));
+
+ if (!e_cal_is_read_only (client, &read_only, NULL))
+ read_only = TRUE;
+ comp_editor_sensitize_attachment_bar (COMP_EDITOR (ee), !read_only);
if (priv->is_meeting) {
if (e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_REQ_SEND_OPTIONS))
diff --git a/calendar/gui/dialogs/task-editor.c b/calendar/gui/dialogs/task-editor.c
index b28814f18e..199e8fe78a 100644
--- a/calendar/gui/dialogs/task-editor.c
+++ b/calendar/gui/dialogs/task-editor.c
@@ -125,6 +125,7 @@ TaskEditor *
task_editor_construct (TaskEditor *te, ECal *client, gboolean is_assigned)
{
TaskEditorPrivate *priv;
+ gboolean read_only = FALSE;
priv = te->priv;
@@ -144,6 +145,11 @@ task_editor_construct (TaskEditor *te, ECal *client, gboolean is_assigned)
comp_editor_append_page (COMP_EDITOR (te),
COMP_EDITOR_PAGE (priv->task_details_page),
_("Status"));
+
+ if (!e_cal_is_read_only (client, &read_only, NULL))
+ read_only = TRUE;
+ comp_editor_sensitize_attachment_bar (COMP_EDITOR (te), !read_only);
+
if (priv->is_assigned) {
if (e_cal_get_static_capability (client, CAL_STATIC_CAPABILITY_REQ_SEND_OPTIONS))
task_page_show_options (priv->task_page);