aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Ramsay <i.am@jimramsay.com>2010-05-19 04:39:47 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-05-19 05:34:22 +0800
commit9df9e2390311a76bc137c743d5adb996184f6413 (patch)
tree4157bdbac3b96eb1b0a5fa3d64687eec86d1ef45
parent02564bb45b4a4ceac0bdb27ff80a26e65590d220 (diff)
downloadgsoc2013-evolution-9df9e2390311a76bc137c743d5adb996184f6413.tar.gz
gsoc2013-evolution-9df9e2390311a76bc137c743d5adb996184f6413.tar.zst
gsoc2013-evolution-9df9e2390311a76bc137c743d5adb996184f6413.zip
Bug 594153 (1/3) - Allow setting alarms on any meeting
This introduces a new action_group called "editable" in the comp-editor that can be used by other components to assign actions that should be sensitized separately from the existing "individual" group, such as the "Alarms" and "Show Time as Busy" event actions. This fixes a bug introduced in 0597b877c5bf4d21ac4048742ddf6b11e24877ba where these two actions were accidentally grouped with other actions that should legitimately be in the "individual" group.
-rw-r--r--calendar/gui/dialogs/comp-editor.c15
-rw-r--r--calendar/gui/dialogs/event-editor.c32
-rw-r--r--calendar/gui/dialogs/event-page.c3
-rw-r--r--calendar/gui/dialogs/memo-page.c3
-rw-r--r--calendar/gui/dialogs/task-page.c3
5 files changed, 43 insertions, 13 deletions
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 5fe874d476..48f596dec7 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -1073,7 +1073,7 @@ static GtkActionEntry individual_entries[] = {
G_CALLBACK (action_attach_cb) }
};
-static GtkToggleActionEntry individual_toggle_entries[] = {
+static GtkToggleActionEntry personal_toggle_entries[] = {
{ "view-categories",
NULL,
@@ -1644,9 +1644,6 @@ comp_editor_init (CompEditor *editor)
gtk_action_group_add_actions (
action_group, individual_entries,
G_N_ELEMENTS (individual_entries), editor);
- gtk_action_group_add_toggle_actions (
- action_group, individual_toggle_entries,
- G_N_ELEMENTS (individual_toggle_entries), editor);
gtk_action_group_add_radio_actions (
action_group, classification_radio_entries,
G_N_ELEMENTS (classification_radio_entries),
@@ -1656,6 +1653,16 @@ comp_editor_init (CompEditor *editor)
priv->ui_manager, action_group, 0);
g_object_unref (action_group);
+ action_group = gtk_action_group_new ("editable");
+ gtk_action_group_set_translation_domain (
+ action_group, GETTEXT_PACKAGE);
+ gtk_action_group_add_toggle_actions (
+ action_group, personal_toggle_entries,
+ G_N_ELEMENTS (personal_toggle_entries), editor);
+ gtk_ui_manager_insert_action_group (
+ priv->ui_manager, action_group, 0);
+ g_object_unref (action_group);
+
action_group = gtk_action_group_new ("coordinated");
gtk_action_group_set_translation_domain (
action_group, GETTEXT_PACKAGE);
diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c
index 23256adff0..c40f2b05d0 100644
--- a/calendar/gui/dialogs/event-editor.c
+++ b/calendar/gui/dialogs/event-editor.c
@@ -194,7 +194,7 @@ action_show_time_busy_cb (GtkToggleAction *action,
event_page_set_show_time_busy (editor->priv->event_page, active);
}
-static GtkActionEntry event_entries[] = {
+static GtkActionEntry editable_entries[] = {
{ "alarms",
"appointment-soon",
@@ -202,6 +202,20 @@ static GtkActionEntry event_entries[] = {
NULL,
N_("Click here to set or unset alarms for this event"),
G_CALLBACK (action_alarms_cb) },
+};
+
+static GtkToggleActionEntry editable_toggle_entries[] = {
+
+ { "show-time-busy",
+ GTK_STOCK_DIALOG_ERROR,
+ N_("Show Time as _Busy"),
+ NULL,
+ N_("Toggles whether to show time as busy"),
+ G_CALLBACK (action_show_time_busy_cb),
+ FALSE }
+};
+
+static GtkActionEntry event_entries[] = {
{ "recurrence",
"stock_task-recurring",
@@ -227,14 +241,6 @@ static GtkToggleActionEntry event_toggle_entries[] = {
N_("Toggles whether to have All Day Event"),
G_CALLBACK (action_all_day_event_cb),
FALSE },
-
- { "show-time-busy",
- GTK_STOCK_DIALOG_ERROR,
- N_("Show Time as _Busy"),
- NULL,
- N_("Toggles whether to show time as busy"),
- G_CALLBACK (action_show_time_busy_cb),
- FALSE }
};
static GtkActionEntry meeting_entries[] = {
@@ -498,6 +504,14 @@ event_editor_init (EventEditor *ee)
action_group, event_toggle_entries,
G_N_ELEMENTS (event_toggle_entries), ee);
+ action_group = comp_editor_get_action_group (editor, "editable");
+ gtk_action_group_add_actions (
+ action_group, editable_entries,
+ G_N_ELEMENTS (editable_entries), ee);
+ gtk_action_group_add_toggle_actions (
+ action_group, editable_toggle_entries,
+ G_N_ELEMENTS (editable_toggle_entries), ee);
+
action_group = comp_editor_get_action_group (editor, "coordinated");
gtk_action_group_add_actions (
action_group, meeting_entries,
diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c
index 7d79a2bfb7..6308cda647 100644
--- a/calendar/gui/dialogs/event-page.c
+++ b/calendar/gui/dialogs/event-page.c
@@ -809,6 +809,9 @@ sensitize_widgets (EventPage *epage)
gtk_widget_set_sensitive (priv->invite, (!read_only && sens) || delegate);
gtk_widget_set_sensitive (GTK_WIDGET (priv->list_view), !read_only);
+ action_group = comp_editor_get_action_group (editor, "editable");
+ gtk_action_group_set_sensitive (action_group, !read_only);
+
action_group = comp_editor_get_action_group (editor, "individual");
gtk_action_group_set_sensitive (action_group, sensitize);
diff --git a/calendar/gui/dialogs/memo-page.c b/calendar/gui/dialogs/memo-page.c
index f5c6a26400..f1b3a71d03 100644
--- a/calendar/gui/dialogs/memo-page.c
+++ b/calendar/gui/dialogs/memo-page.c
@@ -376,6 +376,9 @@ sensitize_widgets (MemoPage *mpage)
}
}
+ action_group = comp_editor_get_action_group (editor, "editable");
+ gtk_action_group_set_sensitive (action_group, !read_only);
+
action_group = comp_editor_get_action_group (editor, "individual");
gtk_action_group_set_sensitive (action_group, sensitize);
}
diff --git a/calendar/gui/dialogs/task-page.c b/calendar/gui/dialogs/task-page.c
index 33413250ad..9a10f403d7 100644
--- a/calendar/gui/dialogs/task-page.c
+++ b/calendar/gui/dialogs/task-page.c
@@ -365,6 +365,9 @@ sensitize_widgets (TaskPage *tpage)
gtk_widget_set_sensitive (priv->invite, (!read_only && sens));
gtk_widget_set_sensitive (GTK_WIDGET (priv->list_view), !read_only);
+ action_group = comp_editor_get_action_group (editor, "editable");
+ gtk_action_group_set_sensitive (action_group, !read_only);
+
action_group = comp_editor_get_action_group (editor, "individual");
gtk_action_group_set_sensitive (action_group, sensitize);