[evolution/kill-bonobo] Fix the "Recent Documents" menu in CompEditor.
- From: Matthew Barnes <mbarnes src gnome org>
- To: svn-commits-list gnome org
- Subject: [evolution/kill-bonobo] Fix the "Recent Documents" menu in CompEditor.
- Date: Fri, 24 Apr 2009 10:18:50 -0400 (EDT)
commit 611ed0f3cfe8cfe29d8ed8e0830905cef96d9082
Author: Matthew Barnes <mbarnes redhat com>
Date: Fri Apr 24 10:19:11 2009 -0400
Fix the "Recent Documents" menu in CompEditor.
---
calendar/gui/dialogs/comp-editor.c | 45 ++++++++++++++++++++++++++++-------
composer/e-composer-private.c | 7 ++---
2 files changed, 39 insertions(+), 13 deletions(-)
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 9926b8c..65e5e71 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -146,7 +146,7 @@ static const gchar *ui =
" <menu action='view-menu'/>"
" <menu action='insert-menu'>"
" <menuitem action='attach'/>"
-" <menuitem action='attach-recent'/>"
+" <placeholder name='recent-placeholder'/>"
" </menu>"
" <menu action='options-menu'/>"
" <menu action='help-menu'>"
@@ -1193,6 +1193,40 @@ static GtkToggleActionEntry coordinated_toggle_entries[] = {
};
static void
+comp_editor_setup_recent_menu (CompEditor *editor)
+{
+ EAttachmentView *view;
+ GtkUIManager *ui_manager;
+ GtkAction *action;
+ GtkActionGroup *action_group;
+ const gchar *action_name;
+ const gchar *path;
+ guint merge_id;
+
+ ui_manager = editor->priv->manager;
+ view = E_ATTACHMENT_VIEW (editor->priv->attachment_view);
+ action_group = comp_editor_get_action_group (editor, "individual");
+ merge_id = gtk_ui_manager_new_merge_id (ui_manager);
+ path = "/main-menu/insert-menu/recent-placeholder";
+ action_name = "recent-menu";
+
+ action = e_attachment_view_recent_action_new (
+ view, action_name, _("Recent _Documents"));
+
+ if (action != NULL) {
+ gtk_action_group_add_action (action_group, action);
+ g_object_unref (action);
+
+ gtk_ui_manager_add_ui (
+ ui_manager, merge_id, path,
+ action_name, action_name,
+ GTK_UI_MANAGER_AUTO, FALSE);
+ }
+
+ gtk_ui_manager_ensure_update (ui_manager);
+}
+
+static void
comp_editor_set_property (GObject *object,
guint property_id,
const GValue *value,
@@ -1493,7 +1527,6 @@ static void
comp_editor_init (CompEditor *editor)
{
CompEditorPrivate *priv;
- EAttachmentView *view;
GtkActionGroup *action_group;
GtkAction *action;
GtkWidget *container;
@@ -1612,13 +1645,7 @@ comp_editor_init (CompEditor *editor)
priv->notebook = GTK_NOTEBOOK (widget);
gtk_widget_show (widget);
- /* Add a GtkRecentAction to the "individual" action group. */
- action_group = comp_editor_get_action_group (editor, "individual");
- view = E_ATTACHMENT_VIEW (priv->attachment_view);
- action = e_attachment_view_recent_action_new (
- view, "attach-recent", _("Recent _Documents"));
- gtk_action_group_add_action (action_group, action);
- g_object_unref (action);
+ comp_editor_setup_recent_menu (editor);
/* DND support */
gtk_drag_dest_set (GTK_WIDGET (editor), GTK_DEST_DEFAULT_ALL, drop_types, num_drop_types, GDK_ACTION_COPY|GDK_ACTION_ASK|GDK_ACTION_MOVE);
diff --git a/composer/e-composer-private.c b/composer/e-composer-private.c
index fd345d6..a6fe872 100644
--- a/composer/e-composer-private.c
+++ b/composer/e-composer-private.c
@@ -53,7 +53,7 @@ composer_setup_recent_menu (EMsgComposer *composer)
{
EAttachmentView *view;
GtkUIManager *manager;
- GtkAction *action = NULL;
+ GtkAction *action;
const gchar *action_name;
const gchar *path;
guint merge_id;
@@ -71,10 +71,9 @@ composer_setup_recent_menu (EMsgComposer *composer)
gtk_action_group_add_action (
composer->priv->composer_actions, action);
- gtk_ui_manager_add_ui (
+ gtk_ui_manager_add_ui (
manager, merge_id, path,
- action_name,
- action_name,
+ action_name, action_name,
GTK_UI_MANAGER_AUTO, FALSE);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]