evolution r37137 - in branches/kill-bonobo: addressbook/gui/component calendar/modules doc/reference/shell doc/reference/shell/tmpl mail shell



Author: mbarnes
Date: Tue Jan 27 05:22:57 2009
New Revision: 37137
URL: http://svn.gnome.org/viewvc/evolution?rev=37137&view=rev

Log:
Make action group management in shell windows more elegant.


Modified:
   branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-actions.c
   branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-private.c
   branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-private.h
   branches/kill-bonobo/calendar/modules/e-cal-shell-view-actions.c
   branches/kill-bonobo/calendar/modules/e-cal-shell-view-actions.h
   branches/kill-bonobo/calendar/modules/e-cal-shell-view-memopad.c
   branches/kill-bonobo/calendar/modules/e-cal-shell-view-private.c
   branches/kill-bonobo/calendar/modules/e-cal-shell-view-private.h
   branches/kill-bonobo/calendar/modules/e-cal-shell-view-taskpad.c
   branches/kill-bonobo/calendar/modules/e-memo-shell-view-actions.c
   branches/kill-bonobo/calendar/modules/e-memo-shell-view-actions.h
   branches/kill-bonobo/calendar/modules/e-memo-shell-view-private.c
   branches/kill-bonobo/calendar/modules/e-memo-shell-view-private.h
   branches/kill-bonobo/calendar/modules/e-task-shell-view-actions.c
   branches/kill-bonobo/calendar/modules/e-task-shell-view-actions.h
   branches/kill-bonobo/calendar/modules/e-task-shell-view-private.c
   branches/kill-bonobo/calendar/modules/e-task-shell-view-private.h
   branches/kill-bonobo/doc/reference/shell/eshell-sections.txt
   branches/kill-bonobo/doc/reference/shell/tmpl/action-groups.sgml
   branches/kill-bonobo/doc/reference/shell/tmpl/e-shell-window.sgml
   branches/kill-bonobo/mail/e-mail-shell-content.c
   branches/kill-bonobo/mail/e-mail-shell-view-actions.c
   branches/kill-bonobo/mail/e-mail-shell-view-actions.h
   branches/kill-bonobo/mail/e-mail-shell-view-private.c
   branches/kill-bonobo/mail/e-mail-shell-view-private.h
   branches/kill-bonobo/shell/e-shell-window-actions.c
   branches/kill-bonobo/shell/e-shell-window-actions.h
   branches/kill-bonobo/shell/e-shell-window-private.c
   branches/kill-bonobo/shell/e-shell-window-private.h
   branches/kill-bonobo/shell/e-shell-window.c
   branches/kill-bonobo/shell/e-shell-window.h
   branches/kill-bonobo/shell/e-shell.c

Modified: branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-actions.c
==============================================================================
--- branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-actions.c	(original)
+++ branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-actions.c	Tue Jan 27 05:22:57 2009
@@ -839,21 +839,16 @@
 	EShellView *shell_view;
 	EShellWindow *shell_window;
 	GtkActionGroup *action_group;
-	GtkUIManager *ui_manager;
 	GConfBridge *bridge;
 	GtkAction *action;
 	GObject *object;
-	const gchar *domain;
 	const gchar *key;
 
 	shell_view = E_SHELL_VIEW (book_shell_view);
 	shell_window = e_shell_view_get_shell_window (shell_view);
-	ui_manager = e_shell_window_get_ui_manager (shell_window);
-	domain = GETTEXT_PACKAGE;
 
 	/* Contact Actions */
-	action_group = book_shell_view->priv->contact_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
+	action_group = ACTION_GROUP (CONTACTS);
 	gtk_action_group_add_actions (
 		action_group, contact_entries,
 		G_N_ELEMENTS (contact_entries), book_shell_view);
@@ -868,12 +863,6 @@
 		G_N_ELEMENTS (contact_search_entries),
 		CONTACT_SEARCH_NAME_CONTAINS,
 		NULL, NULL);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
-
-	/* Filter Actions (empty) */
-	action_group = book_shell_view->priv->filter_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
 
 	/* Lockdown Printing Actions */
 	action_group = ACTION_GROUP (LOCKDOWN_PRINTING);
@@ -909,8 +898,9 @@
 void
 e_book_shell_view_update_search_filter (EBookShellView *book_shell_view)
 {
-	EShellContent *shell_content;
 	EShellView *shell_view;
+	EShellContent *shell_content;
+	EShellWindow *shell_window;
 	GtkActionGroup *action_group;
 	GtkRadioAction *radio_action;
 	GList *list, *iter;
@@ -919,8 +909,9 @@
 
 	shell_view = E_SHELL_VIEW (book_shell_view);
 	shell_content = e_shell_view_get_shell_content (shell_view);
-	action_group = book_shell_view->priv->filter_actions;
+	shell_window = e_shell_view_get_shell_window (shell_view);
 
+	action_group = ACTION_GROUP (CONTACTS_FILTER);
 	e_action_group_remove_all_actions (action_group);
 
 	/* Add the standard filter actions. */

Modified: branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-private.c
==============================================================================
--- branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-private.c	(original)
+++ branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-private.c	Tue Jan 27 05:22:57 2009
@@ -420,8 +420,6 @@
 		(GDestroyNotify) g_free);
 
 	priv->source_list = g_object_ref (source_list);
-	priv->contact_actions = gtk_action_group_new ("contacts");
-	priv->filter_actions = gtk_action_group_new ("contacts-filter");
 	priv->uid_to_view = uid_to_view;
 	priv->uid_to_editor = uid_to_editor;
 
@@ -448,6 +446,9 @@
 	shell_sidebar = e_shell_view_get_shell_sidebar (shell_view);
 	shell_window = e_shell_view_get_shell_window (shell_view);
 
+	e_shell_window_add_action_group (shell_window, "contacts");
+	e_shell_window_add_action_group (shell_window, "contacts-filter");
+
 	/* Cache these to avoid lots of awkward casting. */
 	priv->book_shell_content = g_object_ref (shell_content);
 	priv->book_shell_sidebar = g_object_ref (shell_sidebar);
@@ -491,9 +492,6 @@
 
 	DISPOSE (priv->source_list);
 
-	DISPOSE (priv->contact_actions);
-	DISPOSE (priv->filter_actions);
-
 	DISPOSE (priv->book_shell_content);
 	DISPOSE (priv->book_shell_sidebar);
 

Modified: branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-private.h
==============================================================================
--- branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-private.h	(original)
+++ branches/kill-bonobo/addressbook/gui/component/e-book-shell-view-private.h	Tue Jan 27 05:22:57 2009
@@ -96,11 +96,6 @@
 
 	ESourceList *source_list;
 
-	/*** UI Management ***/
-
-	GtkActionGroup *contact_actions;
-	GtkActionGroup *filter_actions;
-
 	/*** Other Stuff ***/
 
 	/* These are just for convenience. */

Modified: branches/kill-bonobo/calendar/modules/e-cal-shell-view-actions.c
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-cal-shell-view-actions.c	(original)
+++ branches/kill-bonobo/calendar/modules/e-cal-shell-view-actions.c	Tue Jan 27 05:22:57 2009
@@ -1030,18 +1030,13 @@
 	EShellView *shell_view;
 	EShellWindow *shell_window;
 	GtkActionGroup *action_group;
-	GtkUIManager *ui_manager;
 	GtkAction *action;
-	const gchar *domain;
 
 	shell_view = E_SHELL_VIEW (cal_shell_view);
 	shell_window = e_shell_view_get_shell_window (shell_view);
-	ui_manager = e_shell_window_get_ui_manager (shell_window);
-	domain = GETTEXT_PACKAGE;
 
 	/* Calendar Actions */
-	action_group = cal_shell_view->priv->calendar_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
+	action_group = ACTION_GROUP (CALENDAR);
 	gtk_action_group_add_actions (
 		action_group, calendar_entries,
 		G_N_ELEMENTS (calendar_entries), cal_shell_view);
@@ -1057,7 +1052,6 @@
 		G_N_ELEMENTS (calendar_search_entries),
 		CALENDAR_SEARCH_SUMMARY_CONTAINS,
 		NULL, NULL);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
 
 	/* Lockdown Printing Actions */
 	action_group = ACTION_GROUP (LOCKDOWN_PRINTING);
@@ -1070,11 +1064,11 @@
 
 	/* Fine tuning. */
 
-        action = ACTION (CALENDAR_GO_TODAY);
-        g_object_set (action, "short-label", _("Today"), NULL);
+	action = ACTION (CALENDAR_GO_TODAY);
+	g_object_set (action, "short-label", _("Today"), NULL);
 
-        action = ACTION (CALENDAR_JUMP_TO);
-        g_object_set (action, "short-label", _("Go To"), NULL);
+	action = ACTION (CALENDAR_JUMP_TO);
+	g_object_set (action, "short-label", _("Go To"), NULL);
 
 	action = ACTION (EVENT_DELETE);
 	g_object_set (action, "short-label", _("Delete"), NULL);
@@ -1096,6 +1090,7 @@
 e_cal_shell_view_update_search_filter (ECalShellView *cal_shell_view)
 {
 	EShellContent *shell_content;
+	EShellWindow *shell_window;
 	EShellView *shell_view;
 	GtkActionGroup *action_group;
 	GtkRadioAction *radio_action;
@@ -1105,8 +1100,9 @@
 
 	shell_view = E_SHELL_VIEW (cal_shell_view);
 	shell_content = e_shell_view_get_shell_content (shell_view);
-	action_group = cal_shell_view->priv->filter_actions;
+	shell_window = e_shell_view_get_shell_window (shell_view);
 
+	action_group = ACTION_GROUP (CALENDAR_FILTER);
 	e_action_group_remove_all_actions (action_group);
 
 	/* Add the standard filter actions. */

Modified: branches/kill-bonobo/calendar/modules/e-cal-shell-view-actions.h
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-cal-shell-view-actions.h	(original)
+++ branches/kill-bonobo/calendar/modules/e-cal-shell-view-actions.h	Tue Jan 27 05:22:57 2009
@@ -145,7 +145,9 @@
 	E_SHELL_WINDOW_ACTION ((window), "calendar-search-summary-contains")
 
 /* Action Groups */
-#define E_SHELL_WINDOW_ACTION_GROUP_CALS(window) \
-	E_SHELL_WINDOW_ACTION_GROUP ((window), "calendars")
+#define E_SHELL_WINDOW_ACTION_GROUP_CALENDAR(window) \
+	E_SHELL_WINDOW_ACTION_GROUP ((window), "calendar")
+#define E_SHELL_WINDOW_ACTION_GROUP_CALENDAR_FILTER(window) \
+	E_SHELL_WINDOW_ACTION_GROUP ((window), "calendar-filter")
 
 #endif /* E_CAL_SHELL_VIEW_ACTIONS_H */

Modified: branches/kill-bonobo/calendar/modules/e-cal-shell-view-memopad.c
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-cal-shell-view-memopad.c	(original)
+++ branches/kill-bonobo/calendar/modules/e-cal-shell-view-memopad.c	Tue Jan 27 05:22:57 2009
@@ -341,14 +341,12 @@
 	EShellView *shell_view;
 	EShellWindow *shell_window;
 	GtkActionGroup *action_group;
-	GtkUIManager *ui_manager;
 
 	shell_view = E_SHELL_VIEW (cal_shell_view);
 	shell_window = e_shell_view_get_shell_window (shell_view);
-	ui_manager = e_shell_window_get_ui_manager (shell_window);
 
 	/* Calendar Actions */
-	action_group = cal_shell_view->priv->calendar_actions;
+	action_group = ACTION_GROUP (CALENDAR);
 	gtk_action_group_add_actions (
 		action_group, calendar_memopad_entries,
 		G_N_ELEMENTS (calendar_memopad_entries), cal_shell_view);

Modified: branches/kill-bonobo/calendar/modules/e-cal-shell-view-private.c
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-cal-shell-view-private.c	(original)
+++ branches/kill-bonobo/calendar/modules/e-cal-shell-view-private.c	Tue Jan 27 05:22:57 2009
@@ -229,8 +229,6 @@
 	g_return_if_fail (E_IS_SOURCE_LIST (source_list));
 
 	priv->source_list = g_object_ref (source_list);
-	priv->calendar_actions = gtk_action_group_new ("calendars");
-	priv->filter_actions = gtk_action_group_new ("calendars-filter");
 
 	if (!gal_view_collection_loaded (shell_view_class->view_collection))
 		cal_shell_view_load_view_collection (shell_view_class);
@@ -248,6 +246,7 @@
 	ECalShellSidebar *cal_shell_sidebar;
 	EShellContent *shell_content;
 	EShellSidebar *shell_sidebar;
+	EShellWindow *shell_window;
 	EShellView *shell_view;
 	GnomeCalendar *calendar;
 	ECalendar *mini_calendar;
@@ -259,6 +258,10 @@
 	shell_view = E_SHELL_VIEW (cal_shell_view);
 	shell_content = e_shell_view_get_shell_content (shell_view);
 	shell_sidebar = e_shell_view_get_shell_sidebar (shell_view);
+	shell_window = e_shell_view_get_shell_window (shell_view);
+
+	e_shell_window_add_action_group (shell_window, "calendar");
+	e_shell_window_add_action_group (shell_window, "calendar-filter");
 
 	/* Cache these to avoid lots of awkward casting. */
 	priv->cal_shell_content = g_object_ref (shell_content);
@@ -360,9 +363,6 @@
 
 	DISPOSE (priv->source_list);
 
-	DISPOSE (priv->calendar_actions);
-	DISPOSE (priv->filter_actions);
-
 	DISPOSE (priv->cal_shell_content);
 	DISPOSE (priv->cal_shell_sidebar);
 

Modified: branches/kill-bonobo/calendar/modules/e-cal-shell-view-private.h
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-cal-shell-view-private.h	(original)
+++ branches/kill-bonobo/calendar/modules/e-cal-shell-view-private.h	Tue Jan 27 05:22:57 2009
@@ -94,11 +94,6 @@
 
 	ESourceList *source_list;
 
-	/*** UI Management ***/
-
-	GtkActionGroup *calendar_actions;
-	GtkActionGroup *filter_actions;
-
 	/* These are just for convenience. */
 	ECalShellContent *cal_shell_content;
 	ECalShellSidebar *cal_shell_sidebar;

Modified: branches/kill-bonobo/calendar/modules/e-cal-shell-view-taskpad.c
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-cal-shell-view-taskpad.c	(original)
+++ branches/kill-bonobo/calendar/modules/e-cal-shell-view-taskpad.c	Tue Jan 27 05:22:57 2009
@@ -429,14 +429,12 @@
 	EShellView *shell_view;
 	EShellWindow *shell_window;
 	GtkActionGroup *action_group;
-	GtkUIManager *ui_manager;
 
 	shell_view = E_SHELL_VIEW (cal_shell_view);
 	shell_window = e_shell_view_get_shell_window (shell_view);
-	ui_manager = e_shell_window_get_ui_manager (shell_window);
 
 	/* Calendar Actions */
-	action_group = cal_shell_view->priv->calendar_actions;
+	action_group = ACTION_GROUP (CALENDAR);
 	gtk_action_group_add_actions (
 		action_group, calendar_taskpad_entries,
 		G_N_ELEMENTS (calendar_taskpad_entries), cal_shell_view);

Modified: branches/kill-bonobo/calendar/modules/e-memo-shell-view-actions.c
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-memo-shell-view-actions.c	(original)
+++ branches/kill-bonobo/calendar/modules/e-memo-shell-view-actions.c	Tue Jan 27 05:22:57 2009
@@ -770,21 +770,16 @@
 	EShellView *shell_view;
 	EShellWindow *shell_window;
 	GtkActionGroup *action_group;
-	GtkUIManager *ui_manager;
 	GConfBridge *bridge;
 	GtkAction *action;
 	GObject *object;
-	const gchar *domain;
 	const gchar *key;
 
 	shell_view = E_SHELL_VIEW (memo_shell_view);
 	shell_window = e_shell_view_get_shell_window (shell_view);
-	ui_manager = e_shell_window_get_ui_manager (shell_window);
-	domain = GETTEXT_PACKAGE;
 
 	/* Memo Actions */
-	action_group = memo_shell_view->priv->memo_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
+	action_group = ACTION_GROUP (MEMOS);
 	gtk_action_group_add_actions (
 		action_group, memo_entries,
 		G_N_ELEMENTS (memo_entries), memo_shell_view);
@@ -799,7 +794,6 @@
 		G_N_ELEMENTS (memo_search_entries),
 		MEMO_SEARCH_SUMMARY_CONTAINS,
 		NULL, NULL);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
 
 	/* Lockdown Printing Actions */
 	action_group = ACTION_GROUP (LOCKDOWN_PRINTING);
@@ -836,6 +830,7 @@
 e_memo_shell_view_update_search_filter (EMemoShellView *memo_shell_view)
 {
 	EShellContent *shell_content;
+	EShellWindow *shell_window;
 	EShellView *shell_view;
 	GtkActionGroup *action_group;
 	GtkRadioAction *radio_action;
@@ -845,8 +840,9 @@
 
 	shell_view = E_SHELL_VIEW (memo_shell_view);
 	shell_content = e_shell_view_get_shell_content (shell_view);
-	action_group = memo_shell_view->priv->filter_actions;
+	shell_window = e_shell_view_get_shell_window (shell_view);
 
+	action_group = ACTION_GROUP (MEMOS_FILTER);
 	e_action_group_remove_all_actions (action_group);
 
 	/* Add the standard filter actions. */

Modified: branches/kill-bonobo/calendar/modules/e-memo-shell-view-actions.h
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-memo-shell-view-actions.h	(original)
+++ branches/kill-bonobo/calendar/modules/e-memo-shell-view-actions.h	Tue Jan 27 05:22:57 2009
@@ -81,5 +81,7 @@
 /* Action Groups */
 #define E_SHELL_WINDOW_ACTION_GROUP_MEMOS(window) \
 	E_SHELL_WINDOW_ACTION_GROUP ((window), "memos")
+#define E_SHELL_WINDOW_ACTION_GROUP_MEMOS_FILTER(window) \
+	E_SHELL_WINDOW_ACTION_GROUP ((window), "memos-filter")
 
 #endif /* E_MEMO_SHELL_VIEW_ACTIONS_H */

Modified: branches/kill-bonobo/calendar/modules/e-memo-shell-view-private.c
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-memo-shell-view-private.c	(original)
+++ branches/kill-bonobo/calendar/modules/e-memo-shell-view-private.c	Tue Jan 27 05:22:57 2009
@@ -160,8 +160,6 @@
 	g_return_if_fail (E_IS_SOURCE_LIST (source_list));
 
 	priv->source_list = g_object_ref (source_list);
-	priv->memo_actions = gtk_action_group_new ("memos");
-	priv->filter_actions = gtk_action_group_new ("memos-filter");
 
 	if (!gal_view_collection_loaded (shell_view_class->view_collection))
 		memo_shell_view_load_view_collection (shell_view_class);
@@ -180,6 +178,7 @@
 	EShellView *shell_view;
 	EShellContent *shell_content;
 	EShellSidebar *shell_sidebar;
+	EShellWindow *shell_window;
 	EMemoTable *memo_table;
 	ECalModel *model;
 	ETable *table;
@@ -188,6 +187,10 @@
 	shell_view = E_SHELL_VIEW (memo_shell_view);
 	shell_content = e_shell_view_get_shell_content (shell_view);
 	shell_sidebar = e_shell_view_get_shell_sidebar (shell_view);
+	shell_window = e_shell_view_get_shell_window (shell_view);
+
+	e_shell_window_add_action_group (shell_window, "memos");
+	e_shell_window_add_action_group (shell_window, "memos-filter");
 
 	/* Cache these to avoid lots of awkward casting. */
 	priv->memo_shell_content = g_object_ref (shell_content);
@@ -284,9 +287,6 @@
 
 	DISPOSE (priv->source_list);
 
-	DISPOSE (priv->memo_actions);
-	DISPOSE (priv->filter_actions);
-
 	DISPOSE (priv->memo_shell_content);
 	DISPOSE (priv->memo_shell_sidebar);
 

Modified: branches/kill-bonobo/calendar/modules/e-memo-shell-view-private.h
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-memo-shell-view-private.h	(original)
+++ branches/kill-bonobo/calendar/modules/e-memo-shell-view-private.h	Tue Jan 27 05:22:57 2009
@@ -88,11 +88,6 @@
 
 	ESourceList *source_list;
 
-	/*** UI Management ***/
-
-	GtkActionGroup *memo_actions;
-	GtkActionGroup *filter_actions;
-
 	/*** Other Stuff ***/
 
 	/* These are just for convenience. */

Modified: branches/kill-bonobo/calendar/modules/e-task-shell-view-actions.c
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-task-shell-view-actions.c	(original)
+++ branches/kill-bonobo/calendar/modules/e-task-shell-view-actions.c	Tue Jan 27 05:22:57 2009
@@ -972,21 +972,16 @@
 	EShellView *shell_view;
 	EShellWindow *shell_window;
 	GtkActionGroup *action_group;
-	GtkUIManager *ui_manager;
 	GConfBridge *bridge;
 	GtkAction *action;
 	GObject *object;
-	const gchar *domain;
 	const gchar *key;
 
 	shell_view = E_SHELL_VIEW (task_shell_view);
 	shell_window = e_shell_view_get_shell_window (shell_view);
-	ui_manager = e_shell_window_get_ui_manager (shell_window);
-	domain = GETTEXT_PACKAGE;
 
 	/* Task Actions */
-	action_group = task_shell_view->priv->task_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
+	action_group = ACTION_GROUP (TASKS);
 	gtk_action_group_add_actions (
 		action_group, task_entries,
 		G_N_ELEMENTS (task_entries), task_shell_view);
@@ -1001,7 +996,6 @@
 		G_N_ELEMENTS (task_search_entries),
 		TASK_SEARCH_SUMMARY_CONTAINS,
 		NULL, NULL);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
 
 	/* Lockdown Printing Actions */
 	action_group = ACTION_GROUP (LOCKDOWN_PRINTING);
@@ -1038,6 +1032,7 @@
 e_task_shell_view_update_search_filter (ETaskShellView *task_shell_view)
 {
 	EShellContent *shell_content;
+	EShellWindow *shell_window;
 	EShellView *shell_view;
 	GtkActionGroup *action_group;
 	GtkRadioAction *radio_action;
@@ -1047,8 +1042,9 @@
 
 	shell_view = E_SHELL_VIEW (task_shell_view);
 	shell_content = e_shell_view_get_shell_content (shell_view);
-	action_group = task_shell_view->priv->filter_actions;
+	shell_window = e_shell_view_get_shell_window (shell_view);
 
+	action_group = ACTION_GROUP (TASKS_FILTER);
 	e_action_group_remove_all_actions (action_group);
 
 	/* Add the standard filter actions. */

Modified: branches/kill-bonobo/calendar/modules/e-task-shell-view-actions.h
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-task-shell-view-actions.h	(original)
+++ branches/kill-bonobo/calendar/modules/e-task-shell-view-actions.h	Tue Jan 27 05:22:57 2009
@@ -99,5 +99,7 @@
 /* Action Groups */
 #define E_SHELL_WINDOW_ACTION_GROUP_TASKS(window) \
 	E_SHELL_WINDOW_ACTION_GROUP ((window), "tasks")
+#define E_SHELL_WINDOW_ACTION_GROUP_TASKS_FILTER(window) \
+	E_SHELL_WINDOW_ACTION_GROUP ((window), "tasks-filter")
 
 #endif /* E_TASK_SHELL_VIEW_ACTIONS_H */

Modified: branches/kill-bonobo/calendar/modules/e-task-shell-view-private.c
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-task-shell-view-private.c	(original)
+++ branches/kill-bonobo/calendar/modules/e-task-shell-view-private.c	Tue Jan 27 05:22:57 2009
@@ -223,8 +223,6 @@
 	g_return_if_fail (E_IS_SOURCE_LIST (source_list));
 
 	priv->source_list = g_object_ref (source_list);
-	priv->task_actions = gtk_action_group_new ("tasks");
-	priv->filter_actions = gtk_action_group_new ("tasks-filter");
 
 	if (!gal_view_collection_loaded (shell_view_class->view_collection))
 		task_shell_view_load_view_collection (shell_view_class);
@@ -243,6 +241,7 @@
 	EShellView *shell_view;
 	EShellContent *shell_content;
 	EShellSidebar *shell_sidebar;
+	EShellWindow *shell_window;
 	ECalendarTable *task_table;
 	ECalModel *model;
 	ETable *table;
@@ -252,6 +251,10 @@
 	shell_view = E_SHELL_VIEW (task_shell_view);
 	shell_content = e_shell_view_get_shell_content (shell_view);
 	shell_sidebar = e_shell_view_get_shell_sidebar (shell_view);
+	shell_window = e_shell_view_get_shell_window (shell_view);
+
+	e_shell_window_add_action_group (shell_window, "tasks");
+	e_shell_window_add_action_group (shell_window, "tasks-filter");
 
 	/* Cache these to avoid lots of awkward casting. */
 	priv->task_shell_content = g_object_ref (shell_content);
@@ -381,9 +384,6 @@
 
 	DISPOSE (priv->source_list);
 
-	DISPOSE (priv->task_actions);
-	DISPOSE (priv->filter_actions);
-
 	DISPOSE (priv->task_shell_content);
 	DISPOSE (priv->task_shell_sidebar);
 

Modified: branches/kill-bonobo/calendar/modules/e-task-shell-view-private.h
==============================================================================
--- branches/kill-bonobo/calendar/modules/e-task-shell-view-private.h	(original)
+++ branches/kill-bonobo/calendar/modules/e-task-shell-view-private.h	Tue Jan 27 05:22:57 2009
@@ -97,11 +97,6 @@
 
 	ESourceList *source_list;
 
-	/*** UI Management ***/
-
-	GtkActionGroup *task_actions;
-	GtkActionGroup *filter_actions;
-
 	/*** Other Stuff ***/
 
 	/* These are just for convenience. */

Modified: branches/kill-bonobo/doc/reference/shell/eshell-sections.txt
==============================================================================
--- branches/kill-bonobo/doc/reference/shell/eshell-sections.txt	(original)
+++ branches/kill-bonobo/doc/reference/shell/eshell-sections.txt	Tue Jan 27 05:22:57 2009
@@ -266,6 +266,7 @@
 e_shell_window_set_active_view
 e_shell_window_get_safe_mode
 e_shell_window_set_safe_mode
+e_shell_window_add_action_group
 e_shell_window_register_new_item_actions
 e_shell_window_register_new_source_actions
 <SUBSECTION Standard>
@@ -336,6 +337,7 @@
 E_SHELL_WINDOW_ACTION_GROUP_NEW_SOURCE
 E_SHELL_WINDOW_ACTION_GROUP_CUSTOM_RULES
 E_SHELL_WINDOW_ACTION_GROUP_GAL_VIEW
+E_SHELL_WINDOW_ACTION_GROUP_LOCKDOWN_APPLICATION_HANDLERS
 E_SHELL_WINDOW_ACTION_GROUP_LOCKDOWN_PRINTING
 E_SHELL_WINDOW_ACTION_GROUP_LOCKDOWN_PRINT_SETUP
 E_SHELL_WINDOW_ACTION_GROUP_LOCKDOWN_SAVE_TO_DISK

Modified: branches/kill-bonobo/doc/reference/shell/tmpl/action-groups.sgml
==============================================================================
--- branches/kill-bonobo/doc/reference/shell/tmpl/action-groups.sgml	(original)
+++ branches/kill-bonobo/doc/reference/shell/tmpl/action-groups.sgml	Tue Jan 27 05:22:57 2009
@@ -65,6 +65,14 @@
 @window: 
 
 
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_GROUP_LOCKDOWN_APPLICATION_HANDLERS ##### -->
+<para>
+
+</para>
+
+ window: 
+
+
 <!-- ##### MACRO E_SHELL_WINDOW_ACTION_GROUP_LOCKDOWN_PRINTING ##### -->
 <para>
 

Modified: branches/kill-bonobo/doc/reference/shell/tmpl/e-shell-window.sgml
==============================================================================
--- branches/kill-bonobo/doc/reference/shell/tmpl/e-shell-window.sgml	(original)
+++ branches/kill-bonobo/doc/reference/shell/tmpl/e-shell-window.sgml	Tue Jan 27 05:22:57 2009
@@ -157,6 +157,15 @@
 @safe_mode: 
 
 
+<!-- ##### FUNCTION e_shell_window_add_action_group ##### -->
+<para>
+
+</para>
+
+ shell_window: 
+ group_name: 
+
+
 <!-- ##### FUNCTION e_shell_window_register_new_item_actions ##### -->
 <para>
 

Modified: branches/kill-bonobo/mail/e-mail-shell-content.c
==============================================================================
--- branches/kill-bonobo/mail/e-mail-shell-content.c	(original)
+++ branches/kill-bonobo/mail/e-mail-shell-content.c	Tue Jan 27 05:22:57 2009
@@ -37,6 +37,7 @@
 
 #include "e-mail-reader.h"
 #include "e-mail-shell-module.h"
+#include "e-mail-shell-view-actions.h"
 
 #define E_MAIL_SHELL_CONTENT_GET_PRIVATE(obj) \
 	(G_TYPE_INSTANCE_GET_PRIVATE \
@@ -431,7 +432,7 @@
 	shell_view = e_shell_content_get_shell_view (shell_content);
 	shell_window = e_shell_view_get_shell_window (shell_view);
 
-	return e_shell_window_get_action_group (shell_window, "mail");
+	return E_SHELL_WINDOW_ACTION_GROUP_MAIL (shell_window);
 }
 
 static gboolean

Modified: branches/kill-bonobo/mail/e-mail-shell-view-actions.c
==============================================================================
--- branches/kill-bonobo/mail/e-mail-shell-view-actions.c	(original)
+++ branches/kill-bonobo/mail/e-mail-shell-view-actions.c	Tue Jan 27 05:22:57 2009
@@ -1011,21 +1011,17 @@
 	EShellView *shell_view;
 	EShellWindow *shell_window;
 	GtkActionGroup *action_group;
-	GtkUIManager *ui_manager;
 	GConfBridge *bridge;
 	GObject *object;
 	GObject *src_object;
 	GObject *dst_object;
-	const gchar *domain;
 	const gchar *key;
 
 	shell_view = E_SHELL_VIEW (mail_shell_view);
 	shell_window = e_shell_view_get_shell_window (shell_view);
-	ui_manager = e_shell_window_get_ui_manager (shell_window);
-	domain = GETTEXT_PACKAGE;
 
-	action_group = mail_shell_view->priv->mail_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
+	/* Mail Actions */
+	action_group = ACTION_GROUP (MAIL);
 	gtk_action_group_add_actions (
 		action_group, mail_entries,
 		G_N_ELEMENTS (mail_entries), mail_shell_view);
@@ -1049,7 +1045,6 @@
 		G_N_ELEMENTS (mail_scope_entries),
 		MAIL_SCOPE_CURRENT_FOLDER,
 		NULL, NULL);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
 
 	/* Bind GObject properties for GConf keys. */
 

Modified: branches/kill-bonobo/mail/e-mail-shell-view-actions.h
==============================================================================
--- branches/kill-bonobo/mail/e-mail-shell-view-actions.h	(original)
+++ branches/kill-bonobo/mail/e-mail-shell-view-actions.h	Tue Jan 27 05:22:57 2009
@@ -255,5 +255,7 @@
 /* Action Groups */
 #define E_SHELL_WINDOW_ACTION_GROUP_MAIL(window) \
 	E_SHELL_WINDOW_ACTION_GROUP ((window), "mail")
+#define E_SHELL_WINDOW_ACTION_GROUP_MAIL_FILTER(window) \
+	E_SHELL_WINDOW_ACTION_GROUP ((window), "mail-filter")
 
 #endif /* E_MAIL_SHELL_VIEW_ACTIONS_H */

Modified: branches/kill-bonobo/mail/e-mail-shell-view-private.c
==============================================================================
--- branches/kill-bonobo/mail/e-mail-shell-view-private.c	(original)
+++ branches/kill-bonobo/mail/e-mail-shell-view-private.c	Tue Jan 27 05:22:57 2009
@@ -141,13 +141,6 @@
 e_mail_shell_view_private_init (EMailShellView *mail_shell_view,
                                 EShellViewClass *shell_view_class)
 {
-	EMailShellViewPrivate *priv = mail_shell_view->priv;
-
-	/* Note: EMailShellContent retrieves the "mail" action group
-	 *       by name to satisfy its EMailReader interface. */
-	priv->mail_actions = gtk_action_group_new ("mail");
-	priv->filter_actions = gtk_action_group_new ("mail-filter");
-
 	if (!gal_view_collection_loaded (shell_view_class->view_collection))
 		mail_shell_view_load_view_collection (shell_view_class);
 
@@ -164,6 +157,7 @@
 	EShellView *shell_view;
 	EShellContent *shell_content;
 	EShellSidebar *shell_sidebar;
+	EShellWindow *shell_window;
 	EMFolderTreeModel *folder_tree_model;
 	EMFolderTree *folder_tree;
 	MessageList *message_list;
@@ -173,6 +167,10 @@
 	shell_view = E_SHELL_VIEW (mail_shell_view);
 	shell_content = e_shell_view_get_shell_content (shell_view);
 	shell_sidebar = e_shell_view_get_shell_sidebar (shell_view);
+	shell_window = e_shell_view_get_shell_window (shell_view);
+
+	e_shell_window_add_action_group (shell_window, "mail");
+	e_shell_window_add_action_group (shell_window, "mail-filter");
 
 	/* Cache these to avoid lots of awkward casting. */
 	priv->mail_shell_content = g_object_ref (shell_content);
@@ -237,9 +235,6 @@
 {
 	EMailShellViewPrivate *priv = mail_shell_view->priv;
 
-	DISPOSE (priv->mail_actions);
-	DISPOSE (priv->filter_actions);
-
 	DISPOSE (priv->mail_shell_content);
 	DISPOSE (priv->mail_shell_sidebar);
 }

Modified: branches/kill-bonobo/mail/e-mail-shell-view-private.h
==============================================================================
--- branches/kill-bonobo/mail/e-mail-shell-view-private.h	(original)
+++ branches/kill-bonobo/mail/e-mail-shell-view-private.h	Tue Jan 27 05:22:57 2009
@@ -113,11 +113,6 @@
 
 struct _EMailShellViewPrivate {
 
-	/*** UI Management ***/
-
-	GtkActionGroup *mail_actions;
-	GtkActionGroup *filter_actions;
-
 	/*** Other Stuff ***/
 
 	/* These are just for convenience. */

Modified: branches/kill-bonobo/shell/e-shell-window-actions.c
==============================================================================
--- branches/kill-bonobo/shell/e-shell-window-actions.c	(original)
+++ branches/kill-bonobo/shell/e-shell-window-actions.c	Tue Jan 27 05:22:57 2009
@@ -1806,18 +1806,15 @@
 {
 	GtkActionGroup *action_group;
 	GtkUIManager *ui_manager;
-	const gchar *domain;
 
 	g_return_if_fail (E_IS_SHELL_WINDOW (shell_window));
 
 	ui_manager = e_shell_window_get_ui_manager (shell_window);
-	domain = GETTEXT_PACKAGE;
 
 	e_load_ui_definition (ui_manager, "evolution-shell.ui");
 
 	/* Shell Actions */
-	action_group = shell_window->priv->shell_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
+	action_group = ACTION_GROUP (SHELL);
 	gtk_action_group_add_actions (
 		action_group, shell_entries,
 		G_N_ELEMENTS (shell_entries), shell_window);
@@ -1836,55 +1833,20 @@
 		action_group, shell_gal_view_radio_entries,
 		G_N_ELEMENTS (shell_gal_view_radio_entries),
 		0, G_CALLBACK (action_gal_view_cb), shell_window);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
-
-	/* GAL View Actions (empty) */
-	action_group = shell_window->priv->gal_view_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
-
-	/* New Item Actions (empty) */
-	action_group = shell_window->priv->new_item_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
-
-	/* New Source Actions (empty) */
-	action_group = shell_window->priv->new_source_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
-
-	/* Custom Rule Actions (empty) */
-	action_group = shell_window->priv->custom_rule_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
 
 	/* Switcher Actions */
-	action_group = shell_window->priv->switcher_actions;
-	gtk_action_group_set_translation_domain (action_group, domain);
+	action_group = ACTION_GROUP (SWITCHER);
 	gtk_action_group_add_radio_actions (
 		action_group, shell_switcher_entries,
 		G_N_ELEMENTS (shell_switcher_entries),
 		-1, G_CALLBACK (action_switcher_cb), shell_window);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
-
-	/* Lockdown Printing Actions */
-	action_group = shell_window->priv->lockdown_printing;
-	gtk_action_group_set_translation_domain (action_group, domain);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
 
 	/* Lockdown Print Setup Actions */
-	action_group = shell_window->priv->lockdown_print_setup;
-	gtk_action_group_set_translation_domain (action_group, domain);
+	action_group = ACTION_GROUP (LOCKDOWN_PRINT_SETUP);
 	gtk_action_group_add_actions (
 		action_group, shell_lockdown_print_setup_entries,
 		G_N_ELEMENTS (shell_lockdown_print_setup_entries),
 		shell_window);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
-
-	/* Lockdown Save-to-Disk Actions */
-	action_group = shell_window->priv->lockdown_save_to_disk;
-	gtk_action_group_set_translation_domain (action_group, domain);
-	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
 
 	/* Fine tuning. */
 
@@ -1903,13 +1865,13 @@
 
 	/* Get sorted lists of "new item" and "new source" actions. */
 
-	action_group = shell_window->priv->new_item_actions;
+	action_group = ACTION_GROUP (NEW_ITEM);
 
 	new_item_actions = g_list_sort (
 		gtk_action_group_list_actions (action_group),
 		(GCompareFunc) e_action_compare_by_label);
 
-	action_group = shell_window->priv->new_source_actions;
+	action_group = ACTION_GROUP (NEW_SOURCE);
 
 	new_source_actions = g_list_sort (
 		gtk_action_group_list_actions (action_group),
@@ -1979,7 +1941,7 @@
 
 	g_return_if_fail (E_IS_SHELL_WINDOW (shell_window));
 
-	action_group = shell_window->priv->switcher_actions;
+	action_group = ACTION_GROUP (SWITCHER);
 	switcher = E_SHELL_SWITCHER (shell_window->priv->switcher);
 	ui_manager = e_shell_window_get_ui_manager (shell_window);
 	merge_id = gtk_ui_manager_new_merge_id (ui_manager);
@@ -2106,7 +2068,7 @@
 	view_id = e_shell_view_get_view_id (shell_view);
 	g_return_if_fail (view_collection != NULL);
 
-	action_group = shell_window->priv->gal_view_actions;
+	action_group = ACTION_GROUP (GAL_VIEW);
 	merge_id = shell_window->priv->gal_view_merge_id;
 
 	/* Unmerge the previous menu. */
@@ -2213,7 +2175,7 @@
 
 	/* Add custom rules to the Search menu. */
 
-	action_group = shell_window->priv->custom_rule_actions;
+	action_group = ACTION_GROUP (CUSTOM_RULES);
 	merge_id = shell_window->priv->custom_rule_merge_id;
 
 	/* Unmerge the previous menu. */

Modified: branches/kill-bonobo/shell/e-shell-window-actions.h
==============================================================================
--- branches/kill-bonobo/shell/e-shell-window-actions.h	(original)
+++ branches/kill-bonobo/shell/e-shell-window-actions.h	Tue Jan 27 05:22:57 2009
@@ -103,6 +103,8 @@
 	E_SHELL_WINDOW_ACTION_GROUP ((window), "custom-rules")
 #define E_SHELL_WINDOW_ACTION_GROUP_GAL_VIEW(window) \
 	E_SHELL_WINDOW_ACTION_GROUP ((window), "gal-view")
+#define E_SHELL_WINDOW_ACTION_GROUP_LOCKDOWN_APPLICATION_HANDLERS(window) \
+	E_SHELL_WINDOW_ACTION_GROUP ((window), "lockdown-application-handlers")
 #define E_SHELL_WINDOW_ACTION_GROUP_LOCKDOWN_PRINTING(window) \
 	E_SHELL_WINDOW_ACTION_GROUP ((window), "lockdown-printing")
 #define E_SHELL_WINDOW_ACTION_GROUP_LOCKDOWN_PRINT_SETUP(window) \

Modified: branches/kill-bonobo/shell/e-shell-window-private.c
==============================================================================
--- branches/kill-bonobo/shell/e-shell-window-private.c	(original)
+++ branches/kill-bonobo/shell/e-shell-window-private.c	Tue Jan 27 05:22:57 2009
@@ -189,22 +189,21 @@
 	signal_handler_ids = g_array_new (FALSE, FALSE, sizeof (gulong));
 
 	priv->ui_manager = gtk_ui_manager_new ();
-	priv->shell_actions = gtk_action_group_new ("shell");
-	priv->gal_view_actions = gtk_action_group_new ("gal-view");
-	priv->new_item_actions = gtk_action_group_new ("new-item");
-	priv->new_source_actions = gtk_action_group_new ("new-source");
-	priv->custom_rule_actions = gtk_action_group_new ("custom-rules");
-	priv->switcher_actions = gtk_action_group_new ("switcher");
-	priv->lockdown_printing =
-		gtk_action_group_new ("lockdown-printing");
-	priv->lockdown_print_setup =
-		gtk_action_group_new ("lockdown-print-setup");
-	priv->lockdown_save_to_disk =
-		gtk_action_group_new ("lockdown-save-to-disk");
 	priv->loaded_views = loaded_views;
 	priv->active_view = "unknown";
 	priv->signal_handler_ids = signal_handler_ids;
 
+	e_shell_window_add_action_group (shell_window, "shell");
+	e_shell_window_add_action_group (shell_window, "gal-view");
+	e_shell_window_add_action_group (shell_window, "new-item");
+	e_shell_window_add_action_group (shell_window, "new-source");
+	e_shell_window_add_action_group (shell_window, "custom-rules");
+	e_shell_window_add_action_group (shell_window, "switcher");
+	e_shell_window_add_action_group (shell_window, "lockdown-application-handlers");
+	e_shell_window_add_action_group (shell_window, "lockdown-printing");
+	e_shell_window_add_action_group (shell_window, "lockdown-print-setup");
+	e_shell_window_add_action_group (shell_window, "lockdown-save-to-disk");
+
 	merge_id = gtk_ui_manager_new_merge_id (priv->ui_manager);
 	priv->custom_rule_merge_id = merge_id;
 
@@ -422,17 +421,7 @@
 	}
 
 	DISPOSE (priv->shell);
-
 	DISPOSE (priv->ui_manager);
-	DISPOSE (priv->shell_actions);
-	DISPOSE (priv->gal_view_actions);
-	DISPOSE (priv->new_item_actions);
-	DISPOSE (priv->new_source_actions);
-	DISPOSE (priv->custom_rule_actions);
-	DISPOSE (priv->switcher_actions);
-	DISPOSE (priv->lockdown_printing);
-	DISPOSE (priv->lockdown_print_setup);
-	DISPOSE (priv->lockdown_save_to_disk);
 
 	g_hash_table_remove_all (priv->loaded_views);
 

Modified: branches/kill-bonobo/shell/e-shell-window-private.h
==============================================================================
--- branches/kill-bonobo/shell/e-shell-window-private.h	(original)
+++ branches/kill-bonobo/shell/e-shell-window-private.h	Tue Jan 27 05:22:57 2009
@@ -70,15 +70,6 @@
 	/*** UI Management ***/
 
 	GtkUIManager *ui_manager;
-	GtkActionGroup *shell_actions;
-	GtkActionGroup *gal_view_actions;
-	GtkActionGroup *new_item_actions;
-	GtkActionGroup *new_source_actions;
-	GtkActionGroup *custom_rule_actions;
-	GtkActionGroup *switcher_actions;
-	GtkActionGroup *lockdown_printing;
-	GtkActionGroup *lockdown_print_setup;
-	GtkActionGroup *lockdown_save_to_disk;
 	guint custom_rule_merge_id;
 	guint gal_view_merge_id;
 

Modified: branches/kill-bonobo/shell/e-shell-window.c
==============================================================================
--- branches/kill-bonobo/shell/e-shell-window.c	(original)
+++ branches/kill-bonobo/shell/e-shell-window.c	Tue Jan 27 05:22:57 2009
@@ -754,6 +754,35 @@
 }
 
 /**
+ * e_shell_window_add_action_group:
+ * @shell_window: an #EShellWindow
+ * @group_name: the name of the new action group
+ *
+ * Creates a new #GtkActionGroup and adds it to @shell_window<!-- -->'s
+ * user interface manager.  This also takes care of details like setting
+ * the translation domain.
+ **/
+void
+e_shell_window_add_action_group (EShellWindow *shell_window,
+                                 const gchar *group_name)
+{
+	GtkActionGroup *action_group;
+	GtkUIManager *ui_manager;
+	const gchar *domain;
+
+	g_return_if_fail (E_IS_SHELL_WINDOW (shell_window));
+	g_return_if_fail (group_name != NULL);
+
+	ui_manager = e_shell_window_get_ui_manager (shell_window);
+	domain = GETTEXT_PACKAGE;
+
+	action_group = gtk_action_group_new (group_name);
+	gtk_action_group_set_translation_domain (action_group, domain);
+	gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
+	g_object_unref (action_group);
+}
+
+/**
  * e_shell_window_register_new_item_actions:
  * @shell_window: an #EShellWindow
  * @module_name: name of an #EShellModule
@@ -788,7 +817,7 @@
 	g_return_if_fail (module_name != NULL);
 	g_return_if_fail (entries != NULL);
 
-	action_group = shell_window->priv->new_item_actions;
+	action_group = ACTION_GROUP (NEW_ITEM);
 	ui_manager = e_shell_window_get_ui_manager (shell_window);
 	accel_group = gtk_ui_manager_get_accel_group (ui_manager);
 	module_name = g_intern_string (module_name);
@@ -877,7 +906,7 @@
 	g_return_if_fail (module_name != NULL);
 	g_return_if_fail (entries != NULL);
 
-	action_group = shell_window->priv->new_source_actions;
+	action_group = ACTION_GROUP (NEW_SOURCE);
 	ui_manager = e_shell_window_get_ui_manager (shell_window);
 	accel_group = gtk_ui_manager_get_accel_group (ui_manager);
 	module_name = g_intern_string (module_name);

Modified: branches/kill-bonobo/shell/e-shell-window.h
==============================================================================
--- branches/kill-bonobo/shell/e-shell-window.h	(original)
+++ branches/kill-bonobo/shell/e-shell-window.h	Tue Jan 27 05:22:57 2009
@@ -97,6 +97,8 @@
 gboolean	e_shell_window_get_safe_mode	(EShellWindow *shell_window);
 void		e_shell_window_set_safe_mode	(EShellWindow *shell_window,
 						 gboolean safe_mode);
+void		e_shell_window_add_action_group (EShellWindow *shell_window,
+						 const gchar *group_name);
 
 /* These should be called from the shell module's window_created() handler. */
 

Modified: branches/kill-bonobo/shell/e-shell.c
==============================================================================
--- branches/kill-bonobo/shell/e-shell.c	(original)
+++ branches/kill-bonobo/shell/e-shell.c	Tue Jan 27 05:22:57 2009
@@ -689,6 +689,14 @@
 
 	e_shell_settings_install_property (
 		g_param_spec_boolean (
+			"disable-application-handlers",
+			NULL,
+			NULL,
+			FALSE,
+			G_PARAM_READWRITE));
+
+	e_shell_settings_install_property (
+		g_param_spec_boolean (
 			"disable-command-line",
 			NULL,
 			NULL,
@@ -749,6 +757,10 @@
 		G_CALLBACK (shell_notify_online_mode_cb), NULL);
 
 	e_shell_settings_bind_to_gconf (
+		shell->priv->settings, "disable-application-handlers",
+		"/desktop/gnome/lockdown/disable_application_handlers");
+
+	e_shell_settings_bind_to_gconf (
 		shell->priv->settings, "disable-command-line",
 		"/desktop/gnome/lockdown/disable_command_line");
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]