vcl/unx/gtk/window/gtksalframe.cxx | 77 +++++++++++++++++++++++-------------- 1 file changed, 48 insertions(+), 29 deletions(-)
New commits: commit 4843d5e8865d2f63f408f464e28be9440cb1ecc2 Author: Caolán McNamara <caol...@redhat.com> Date: Thu Jul 18 21:06:39 2013 +0100 Related: fdo#48835 reuse Mac appmenu translations to-do: a) dig around for the setting to toggle-on/off b) block the normal entries in the menus and merge the mac build-time hackery to block menus into per-platform run-time lists Change-Id: I8fc3657ccc6d1881d4345c0ea73b05f6a29b6e07 diff --git a/vcl/unx/gtk/window/gtksalframe.cxx b/vcl/unx/gtk/window/gtksalframe.cxx index 0b66ce2..3bedd85 100644 --- a/vcl/unx/gtk/window/gtksalframe.cxx +++ b/vcl/unx/gtk/window/gtksalframe.cxx @@ -626,35 +626,54 @@ gboolean ensure_dbus_setup( gpointer data ) pSalFrame->m_nHudAwarenessId = hud_awareness_register( pSessionBus, aDBusMenubarPath, hud_activated, pSalFrame, NULL, NULL ); //app menu, to-do translations, block normal menus when active, honor use appmenu settings - GMenu *menu = g_menu_new (); - GMenuItem* item; - - GMenu *firstsubmenu = g_menu_new (); - item = g_menu_item_new("_Preferences", "app.OptionsTreeDialog"); - g_menu_append_item( firstsubmenu, item ); - g_menu_append_section( menu, NULL, G_MENU_MODEL(firstsubmenu)); - - GMenu *secondsubmenu = g_menu_new (); - item = g_menu_item_new("_About", "app.About"); - g_menu_append_item( secondsubmenu, item ); - - item = g_menu_item_new("_Help", "app.HelpIndex"); - g_menu_append_item( secondsubmenu, item ); - g_menu_append_section( menu, NULL, G_MENU_MODEL(secondsubmenu)); - - GMenu *thirdsubmenu = g_menu_new (); - item = g_menu_item_new("_Quit", "app.Quit"); - g_menu_append_item( thirdsubmenu, item ); - g_menu_append_section( menu, NULL, G_MENU_MODEL(thirdsubmenu)); - - GSimpleActionGroup *group = g_simple_action_group_new (); - g_simple_action_group_add_entries (group, app_entries, G_N_ELEMENTS (app_entries), NULL); - GActionGroup* pAppActionGroup = G_ACTION_GROUP(group); - - pSalFrame->m_nAppActionGroupExportId = g_dbus_connection_export_action_group( pSessionBus, "/org/libreoffice", pAppActionGroup, NULL); - g_object_unref(pAppActionGroup); - pSalFrame->m_nAppMenuExportId = g_dbus_connection_export_menu_model (pSessionBus, "/org/libreoffice/menus/appmenu", G_MENU_MODEL (menu), NULL); - g_object_unref(menu); + ResMgr* pMgr = ImplGetResMgr(); + if( pMgr ) + { + GMenu *menu = g_menu_new (); + GMenuItem* item; + + GMenu *firstsubmenu = g_menu_new (); + + OString sPreferences(OUStringToOString(ResId(SV_STDTEXT_PREFERENCES, *pMgr).toString(), + RTL_TEXTENCODING_UTF8).replaceFirst("~", "_")); + + item = g_menu_item_new(sPreferences.getStr(), "app.OptionsTreeDialog"); + g_menu_append_item( firstsubmenu, item ); + g_menu_append_section( menu, NULL, G_MENU_MODEL(firstsubmenu)); + + GMenu *secondsubmenu = g_menu_new (); + + OString sAbout(OUStringToOString(ResId(SV_STDTEXT_ABOUT, *pMgr).toString(), + RTL_TEXTENCODING_UTF8).replaceFirst("~", "_")); + + item = g_menu_item_new(sAbout.getStr(), "app.About"); + g_menu_append_item( secondsubmenu, item ); + + OString sHelp(OUStringToOString(ResId(SV_BUTTONTEXT_HELP, *pMgr).toString(), + RTL_TEXTENCODING_UTF8).replaceFirst("~", "_")); + + item = g_menu_item_new(sHelp.getStr(), "app.HelpIndex"); + g_menu_append_item( secondsubmenu, item ); + g_menu_append_section( menu, NULL, G_MENU_MODEL(secondsubmenu)); + + GMenu *thirdsubmenu = g_menu_new (); + + OString sQuit(OUStringToOString(ResId(SV_MENU_MAC_QUITAPP, *pMgr).toString(), + RTL_TEXTENCODING_UTF8).replaceFirst("~", "_")); + + item = g_menu_item_new(sQuit.getStr(), "app.Quit"); + g_menu_append_item( thirdsubmenu, item ); + g_menu_append_section( menu, NULL, G_MENU_MODEL(thirdsubmenu)); + + GSimpleActionGroup *group = g_simple_action_group_new (); + g_simple_action_group_add_entries (group, app_entries, G_N_ELEMENTS (app_entries), NULL); + GActionGroup* pAppActionGroup = G_ACTION_GROUP(group); + + pSalFrame->m_nAppActionGroupExportId = g_dbus_connection_export_action_group( pSessionBus, "/org/libreoffice", pAppActionGroup, NULL); + g_object_unref(pAppActionGroup); + pSalFrame->m_nAppMenuExportId = g_dbus_connection_export_menu_model (pSessionBus, "/org/libreoffice/menus/appmenu", G_MENU_MODEL (menu), NULL); + g_object_unref(menu); + } g_free( aDBusMenubarPath ); g_free( aDBusWindowPath );
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits