aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog15
-rw-r--r--calendar/gui/dialogs/alarm-list-dialog.glade4
-rw-r--r--calendar/gui/dialogs/comp-editor.c16
-rw-r--r--calendar/gui/dialogs/event-page.c3
-rw-r--r--calendar/gui/e-meeting-list-view.c2
5 files changed, 32 insertions, 8 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index abfe07f9bd..dc17a13311 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,18 @@
+2007-07-09 Milan Crha <mcrha@redhat.com>
+
+ ** Fix for bug #438613 and #329594
+
+ * gui/dialogs/event-page.c: (sensitize_widgets):
+ Disable recurrence and free/busy actions with read only calendars.
+ * gui/dialogs/comp-editor.c: (prompt_and_save_changes):
+ When clicked "Save", then claim on readonly calendars and didn't
+ discard changes silently.
+ * gui/dialogs/comp-editor.c: (menu_file_save_cb):
+ Claims on readonly calendars before validating form datas.
+
+ * gui/e-meeting-list-view.c: (build_table): Fixed runtime warning.
+ * gui/dialogs/alarm-list-dialog.glade: Fixed runtime warnings.
+
2007-07-03 Milan Crha <mcrha@redhat.com>
** Fix for bug #321741
diff --git a/calendar/gui/dialogs/alarm-list-dialog.glade b/calendar/gui/dialogs/alarm-list-dialog.glade
index 779a30071a..6a601e4c47 100644
--- a/calendar/gui/dialogs/alarm-list-dialog.glade
+++ b/calendar/gui/dialogs/alarm-list-dialog.glade
@@ -145,10 +145,6 @@
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 59f805c1e1..3e4a77d0ee 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -911,11 +911,14 @@ prompt_and_save_changes (CompEditor *editor, gboolean send)
if (!priv->changed)
return TRUE;
- if (!e_cal_is_read_only (priv->client, &read_only, NULL) || read_only)
- return TRUE;
-
switch (save_component_dialog (GTK_WINDOW(editor), priv->comp)) {
case GTK_RESPONSE_YES: /* Save */
+ if (!e_cal_is_read_only (priv->client, &read_only, NULL) || read_only) {
+ e_error_run ((GtkWindow *) gtk_widget_get_toplevel (GTK_WIDGET (editor)), "calendar:prompt-read-only-cal", NULL);
+ /* don't discard changes when selected readonly calendar */
+ return FALSE;
+ }
+
comp = comp_editor_get_current_comp (editor);
e_cal_component_get_summary (comp, &text);
g_object_unref (comp);
@@ -1258,6 +1261,7 @@ menu_file_save_cb (BonoboUIComponent *uic,
CompEditorPrivate *priv = editor->priv;
ECalComponentText text;
gboolean delegated = FALSE;
+ gboolean read_only;
ECalComponent *comp;
if (e_attachment_bar_get_download_count (E_ATTACHMENT_BAR (editor->priv->attachment_bar)) ){
@@ -1280,6 +1284,12 @@ menu_file_save_cb (BonoboUIComponent *uic,
if (!response)
return;
}
+
+ if (!e_cal_is_read_only (priv->client, &read_only, NULL) || read_only) {
+ e_error_run ((GtkWindow *) gtk_widget_get_toplevel (GTK_WIDGET (editor)), "calendar:prompt-read-only-cal", NULL);
+ return;
+ }
+
commit_all_fields (editor);
if (e_cal_component_is_instance (priv->comp))
if (!recur_component_dialog (priv->client, priv->comp, &priv->mod, GTK_WINDOW (editor), delegated))
diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c
index 12b95739aa..91787bc12f 100644
--- a/calendar/gui/dialogs/event-page.c
+++ b/calendar/gui/dialogs/event-page.c
@@ -873,6 +873,9 @@ sensitize_widgets (EventPage *epage)
sensitize ? "1" : "0", NULL);
bonobo_ui_component_set_prop (priv->uic, "/commands/InsertSendOptions", "sensitive", sensitize ? "1" : "0"
, NULL);
+ bonobo_ui_component_set_prop (priv->uic, "/commands/ActionRecurrence", "sensitive", sensitize ? "1" : "0", NULL);
+ bonobo_ui_component_set_prop (priv->uic, "/commands/ActionFreeBusy", "sensitive", sensitize ? "1" : "0", NULL);
+
bonobo_ui_component_set_prop (priv->uic, "/commands/ViewCategories", "sensitive", "1", NULL);
bonobo_ui_component_set_prop (priv->uic, "/commands/ViewTimeZone", "sensitive", "1", NULL);
diff --git a/calendar/gui/e-meeting-list-view.c b/calendar/gui/e-meeting-list-view.c
index c3ea4e8d89..15391fef91 100644
--- a/calendar/gui/e-meeting-list-view.c
+++ b/calendar/gui/e-meeting-list-view.c
@@ -490,7 +490,7 @@ build_table (EMeetingListView *lview)
col = gtk_tree_view_get_column (view, pos -1);
gtk_tree_view_column_set_resizable (col, TRUE);
gtk_tree_view_column_set_reorderable(col, TRUE);
- g_object_set (col, "width", 50, NULL);
+ g_object_set (col, "min-width", 50, NULL);
g_signal_connect (renderer, "cell_edited", G_CALLBACK (attendee_edited_cb), view);
g_signal_connect (renderer, "editing-canceled", G_CALLBACK (attendee_editing_canceled_cb), view);
g_hash_table_insert (edit_table, GINT_TO_POINTER (E_MEETING_STORE_ATTENDEE_COL), renderer);