diff options
-rw-r--r-- | calendar/ChangeLog | 15 | ||||
-rw-r--r-- | calendar/gui/dialogs/alarm-list-dialog.glade | 4 | ||||
-rw-r--r-- | calendar/gui/dialogs/comp-editor.c | 16 | ||||
-rw-r--r-- | calendar/gui/dialogs/event-page.c | 3 | ||||
-rw-r--r-- | calendar/gui/e-meeting-list-view.c | 2 |
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); |