aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog9
-rw-r--r--calendar/gui/dialogs/alarm-list-dialog.c5
-rw-r--r--calendar/gui/dialogs/event-page.c26
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",