diff options
-rw-r--r-- | calendar/ChangeLog | 9 | ||||
-rw-r--r-- | calendar/gui/dialogs/alarm-list-dialog.c | 5 | ||||
-rw-r--r-- | calendar/gui/dialogs/event-page.c | 26 |
3 files changed, 29 insertions, 11 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 9b971b8a0d..9a8c1f024e 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,12 @@ +2006-02-17 Johnny Jacob <johnnyjacob@gmail.com> + + Fixes #312423, #329749 + * gui/dialogs/event-page.c: (sensitize_widgets): Enable/Disable + based on read_only status. + (alarm_store_changed_cb): Added. Changed signal handler for alarm list. + * gui/dialogs/alamm-list-dialog.c: (edit_clicked_cb): Emit changed + signal for alarm list. + 2006-02-28 Chenthill Palanisamy <pchenthill@novell.com> Fixes #332726 diff --git a/calendar/gui/dialogs/alarm-list-dialog.c b/calendar/gui/dialogs/alarm-list-dialog.c index 9b365ca6a3..ccdca7573e 100644 --- a/calendar/gui/dialogs/alarm-list-dialog.c +++ b/calendar/gui/dialogs/alarm-list-dialog.c @@ -170,9 +170,12 @@ edit_clicked_cb (GtkButton *button, gpointer data) } alarm = e_alarm_list_get_alarm (dialog->list_store, &iter); + path = gtk_tree_model_get_path (GTK_TREE_MODEL (dialog->list_store), &iter); - if (alarm_dialog_run (dialog->toplevel, dialog->ecal, alarm)) + if (alarm_dialog_run (dialog->toplevel, dialog->ecal, alarm)) { gtk_tree_selection_select_iter (gtk_tree_view_get_selection (view), &iter); + gtk_tree_model_row_changed (GTK_TREE_MODEL (dialog->list_store), path, &iter); + } } /* Callback used for the "delete reminder" button */ diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c index a9444d8dda..05dcb0635e 100644 --- a/calendar/gui/dialogs/event-page.c +++ b/calendar/gui/dialogs/event-page.c @@ -808,16 +808,16 @@ sensitize_widgets (EventPage *epage) gtk_box_pack_start ((GtkBox *)priv->status_icons, priv->alarm_icon, FALSE, FALSE, 6); } - gtk_entry_set_editable (GTK_ENTRY (priv->summary), sensitize); + gtk_entry_set_editable (GTK_ENTRY (priv->summary), !read_only); gtk_entry_set_editable (GTK_ENTRY (priv->location), sensitize); gtk_widget_set_sensitive (priv->alarm_box, custom); gtk_widget_set_sensitive (priv->start_time, sensitize); gtk_widget_set_sensitive (priv->start_timezone, sensitize); gtk_widget_set_sensitive (priv->end_time, sensitize); gtk_widget_set_sensitive (priv->end_timezone, sensitize); - gtk_text_view_set_editable (GTK_TEXT_VIEW (priv->description), sensitize); + gtk_text_view_set_editable (GTK_TEXT_VIEW (priv->description), !read_only); gtk_widget_set_sensitive (priv->alarm_time, !read_only); - gtk_widget_set_sensitive (priv->categories_btn, sensitize); + gtk_widget_set_sensitive (priv->categories_btn, !read_only); /*TODO implement the for portion of the end time selector */ if ( (COMP_EDITOR_PAGE(epage)->flags) & COMP_EDITOR_PAGE_NEW_ITEM ) { if (priv->all_day_event) @@ -830,7 +830,7 @@ sensitize_widgets (EventPage *epage) gtk_widget_set_sensitive (priv->hour_selector, sensitize); gtk_widget_set_sensitive (priv->minute_selector, sensitize); - gtk_entry_set_editable (GTK_ENTRY (priv->categories), sensitize); + gtk_entry_set_editable (GTK_ENTRY (priv->categories), !read_only); if (delegate) { gtk_widget_set_sensitive (priv->source_selector, FALSE); @@ -846,11 +846,9 @@ sensitize_widgets (EventPage *epage) bonobo_ui_component_set_prop (priv->uic, "/commands/InsertAttachments", "sensitive", sensitize ? "1" : "0" , NULL); - bonobo_ui_component_set_prop (priv->uic, "/commands/ViewTimeZone", "sensitive", sensitize ? "1" : "0" - , NULL); bonobo_ui_component_set_prop (priv->uic, "/commands/ActionAllDayEvent", "sensitive", sensitize ? "1" : "0" , NULL); - bonobo_ui_component_set_prop (priv->uic, "/commands/ActionRecurrence", "sensitive", sensitize ? "1" : "0" + bonobo_ui_component_set_prop (priv->uic, "/commands/ActionRecurrence", "sensitive", !read_only ? "1" : "0" , NULL); bonobo_ui_component_set_prop (priv->uic, "/commands/ActionShowTimeBusy", "sensitive", !read_only ? "1" : "0" , NULL); @@ -862,10 +860,11 @@ sensitize_widgets (EventPage *epage) , NULL); bonobo_ui_component_set_prop (priv->uic, "/commands/ActionClassConfidential", "sensitive", sensitize ? "1" : "0", NULL); - bonobo_ui_component_set_prop (priv->uic, "/commands/ViewCategories", "sensitive", 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/ViewCategories", "sensitive", "1", NULL); + bonobo_ui_component_set_prop (priv->uic, "/commands/ViewTimeZone", "sensitive", "1", NULL); + if (!priv->is_meeting) { gtk_widget_hide (priv->calendar_label); @@ -2740,6 +2739,12 @@ alarm_store_deleted_cb (EAlarmList *alarm_list_store, GtkTreePath *path, gpointe field_changed_cb (NULL, data); } +static void +alarm_store_changed_cb (EAlarmList *alarm_list_store, GtkTreePath *path, GtkTreeIter *iter, gpointer data) +{ + field_changed_cb (NULL, data); +} + static void alarm_custom_clicked_cb (GtkWidget *widget, gpointer data) { @@ -2843,7 +2848,8 @@ init_widgets (EventPage *epage) G_CALLBACK (alarm_store_inserted_cb), epage); g_signal_connect((GtkTreeModel *)(priv->alarm_list_store), "row-deleted", G_CALLBACK (alarm_store_deleted_cb), epage); - + g_signal_connect((GtkTreeModel *)(priv->alarm_list_store), "row-changed", + G_CALLBACK (alarm_store_changed_cb), epage); /* Timezone changed */ g_signal_connect((priv->start_timezone), "changed", |