dbaccess/UIConfig_dbapp.mk | 1 dbaccess/source/ui/app/AppDetailPageHelper.cxx | 58 ++++++---- dbaccess/source/ui/app/AppDetailPageHelper.hxx | 1 dbaccess/source/ui/app/app.src | 34 ----- dbaccess/source/ui/inc/dbu_resource.hrc | 1 dbaccess/uiconfig/dbapp/menubar/menubar.xml | 8 - dbaccess/uiconfig/dbapp/popupmenu/preview.xml | 14 ++ officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu | 14 ++ 8 files changed, 66 insertions(+), 65 deletions(-)
New commits: commit 93ada372b019be0a2fcd555dec234c146a850a4d Author: Maxim Monastirsky <momonas...@gmail.com> Date: Mon Jan 30 23:36:03 2017 +0200 Convert RID_MENU_APP_PREVIEW to xml Change-Id: I8601c0d9c23c6b1fe191391a56602173fe600e20 diff --git a/dbaccess/UIConfig_dbapp.mk b/dbaccess/UIConfig_dbapp.mk index 1dbab2a..d93641d 100644 --- a/dbaccess/UIConfig_dbapp.mk +++ b/dbaccess/UIConfig_dbapp.mk @@ -16,6 +16,7 @@ $(eval $(call gb_UIConfig_add_menubarfiles,modules/dbapp,\ $(eval $(call gb_UIConfig_add_popupmenufiles,modules/dbapp,\ dbaccess/uiconfig/dbapp/popupmenu/edit \ dbaccess/uiconfig/dbapp/popupmenu/new \ + dbaccess/uiconfig/dbapp/popupmenu/preview \ )) $(eval $(call gb_UIConfig_add_statusbarfiles,modules/dbapp,\ diff --git a/dbaccess/source/ui/app/AppDetailPageHelper.cxx b/dbaccess/source/ui/app/AppDetailPageHelper.cxx index 91a2508..2a65a88 100644 --- a/dbaccess/source/ui/app/AppDetailPageHelper.cxx +++ b/dbaccess/source/ui/app/AppDetailPageHelper.cxx @@ -31,6 +31,7 @@ #include <com/sun/star/container/XChild.hpp> #include <com/sun/star/container/XContainer.hpp> #include <com/sun/star/form/XLoadable.hpp> +#include <com/sun/star/frame/thePopupMenuControllerFactory.hpp> #include <com/sun/star/frame/XLayoutManager.hpp> #include <com/sun/star/frame/Frame.hpp> #include <com/sun/star/frame/FrameSearchFlag.hpp> @@ -48,6 +49,7 @@ #include <com/sun/star/ucb/XCommandProcessor.hpp> #include <com/sun/star/ucb/Command.hpp> #include <com/sun/star/util/XCloseable.hpp> +#include <comphelper/propertyvalue.hxx> #include <comphelper/string.hxx> #include <toolkit/helper/vclunohelper.hxx> #include "AppView.hxx" @@ -59,8 +61,10 @@ #include "dbaccess_slotid.hrc" #include "databaseobjectview.hxx" #include "imageprovider.hxx" +#include <vcl/commandinfoprovider.hxx> #include <vcl/waitobj.hxx> #include <vcl/settings.hxx> +#include <toolkit/awt/vclxmenu.hxx> #include <tools/stream.hxx> #include <rtl/ustrbuf.hxx> #include "svtools/treelistentry.hxx" @@ -187,13 +191,14 @@ OAppDetailPageHelper::OAppDetailPageHelper(vcl::Window* _pParent,OAppBorderWindo ,m_aBorder(VclPtr<Window>::Create(this,WB_BORDER | WB_READONLY)) ,m_aPreview(VclPtr<OPreviewWindow>::Create(m_aBorder.get())) ,m_aDocumentInfo(VclPtr< ::svtools::ODocumentInfoPreview>::Create(m_aBorder.get(), WB_LEFT | WB_VSCROLL | WB_READONLY) ) - ,m_aMenu( VclPtr<PopupMenu>::Create( ModuleRes( RID_MENU_APP_PREVIEW ) ) ) ,m_ePreviewMode(_ePreviewMode) { m_aBorder->SetBorderStyle(WindowBorderStyle::MONO); m_aTBPreview->SetOutStyle(TOOLBOX_STYLE_FLAT); - m_aTBPreview->InsertItem(SID_DB_APP_DISABLE_PREVIEW,m_aMenu->GetItemText(SID_DB_APP_DISABLE_PREVIEW),ToolBoxItemBits::LEFT|ToolBoxItemBits::DROPDOWN|ToolBoxItemBits::AUTOSIZE|ToolBoxItemBits::RADIOCHECK); + m_aTBPreview->InsertItem(SID_DB_APP_DISABLE_PREVIEW, + vcl::CommandInfoProvider::Instance().GetCommandPropertyFromModule(".uno:DBDisablePreview", "com.sun.star.sdb.OfficeDatabaseDocument"), + ToolBoxItemBits::LEFT|ToolBoxItemBits::DROPDOWN|ToolBoxItemBits::AUTOSIZE|ToolBoxItemBits::RADIOCHECK); m_aTBPreview->SetHelpId(HID_APP_VIEW_PREVIEW_CB); m_aTBPreview->SetDropdownClickHdl( LINK( this, OAppDetailPageHelper, OnDropdownClickHdl ) ); m_aTBPreview->Enable(); @@ -240,7 +245,6 @@ void OAppDetailPageHelper::dispose() rpBox.disposeAndClear(); } } - m_aMenu.disposeAndClear(); m_pTablePreview.disposeAndClear(); m_aDocumentInfo.disposeAndClear(); m_aPreview.disposeAndClear(); @@ -971,25 +975,28 @@ void OAppDetailPageHelper::switchPreview(PreviewMode _eMode,bool _bForce) getBorderWin().getView()->getAppController().previewChanged(static_cast<sal_Int32>(m_ePreviewMode)); - sal_uInt16 nSelectedAction = SID_DB_APP_DISABLE_PREVIEW; + OUString aCommand; switch ( m_ePreviewMode ) { case E_PREVIEWNONE: - nSelectedAction = SID_DB_APP_DISABLE_PREVIEW; + aCommand = ".uno:DBDisablePreview"; break; case E_DOCUMENT: - nSelectedAction = SID_DB_APP_VIEW_DOC_PREVIEW; + aCommand = ".uno:DBShowDocPreview"; break; case E_DOCUMENTINFO: if ( getBorderWin().getView()->getAppController().isCommandEnabled(SID_DB_APP_VIEW_DOCINFO_PREVIEW) ) - nSelectedAction = SID_DB_APP_VIEW_DOCINFO_PREVIEW; + aCommand = ".uno:DBShowDocInfoPreview"; else + { m_ePreviewMode = E_PREVIEWNONE; + aCommand = ".uno:DBDisablePreview"; + } break; } - m_aMenu->CheckItem(nSelectedAction); - m_aTBPreview->SetItemText(SID_DB_APP_DISABLE_PREVIEW, stripTrailingDots(m_aMenu->GetItemText(nSelectedAction))); + OUString aCommandLabel = vcl::CommandInfoProvider::Instance().GetCommandPropertyFromModule(aCommand, "com.sun.star.sdb.OfficeDatabaseDocument"); + m_aTBPreview->SetItemText(SID_DB_APP_DISABLE_PREVIEW, stripTrailingDots(aCommandLabel)); Resize(); // simulate a selectionChanged event at the controller, to force the preview to be updated @@ -1151,21 +1158,25 @@ IMPL_LINK_NOARG(OAppDetailPageHelper, OnDropdownClickHdl, ToolBox*, void) m_aTBPreview->Update(); // execute the menu - ScopedVclPtrInstance<PopupMenu> aMenu( ModuleRes( RID_MENU_APP_PREVIEW ) ); + css::uno::Reference<css::uno::XComponentContext> xContext(getBorderWin().getView()->getORB()); + css::uno::Reference<css::frame::XUIControllerFactory> xPopupMenuFactory(css::frame::thePopupMenuControllerFactory::get(xContext)); + if (!xPopupMenuFactory.is()) + return; - const sal_uInt16 pActions[] = { SID_DB_APP_DISABLE_PREVIEW - , SID_DB_APP_VIEW_DOC_PREVIEW - , SID_DB_APP_VIEW_DOCINFO_PREVIEW - }; + css::uno::Sequence<css::uno::Any> aArgs { + css::uno::makeAny(comphelper::makePropertyValue("InToolbar", true)), + css::uno::makeAny(comphelper::makePropertyValue("ModuleIdentifier", OUString("com.sun.star.sdb.OfficeDatabaseDocument"))), + css::uno::makeAny(comphelper::makePropertyValue("Frame", getBorderWin().getView()->getAppController().getFrame())) }; - for(unsigned short nAction : pActions) - { - aMenu->CheckItem(nAction,m_aMenu->IsItemChecked(nAction)); - } - aMenu->EnableItem( SID_DB_APP_VIEW_DOCINFO_PREVIEW, getBorderWin().getView()->getAppController().isCommandEnabled(SID_DB_APP_VIEW_DOCINFO_PREVIEW) ); + css::uno::Reference<css::frame::XPopupMenuController> xPopupController( + xPopupMenuFactory->createInstanceWithArgumentsAndContext(".uno:DBPreview", aArgs, xContext), css::uno::UNO_QUERY); + + if (!xPopupController.is()) + return; - // no disabled entries - aMenu->RemoveDisabledEntries(); + rtl::Reference<VCLXPopupMenu> xPopupMenu(new VCLXPopupMenu); + xPopupController->setPopupMenu(xPopupMenu.get()); + VclPtr<PopupMenu> aMenu(static_cast<PopupMenu*>(xPopupMenu->GetMenu())); sal_uInt16 nSelectedAction = aMenu->Execute(m_aTBPreview.get(), m_aTBPreview->GetItemRect( SID_DB_APP_DISABLE_PREVIEW )); // "cleanup" the toolbox state @@ -1176,8 +1187,11 @@ IMPL_LINK_NOARG(OAppDetailPageHelper, OnDropdownClickHdl, ToolBox*, void) { m_aTBPreview->SetItemText(SID_DB_APP_DISABLE_PREVIEW, stripTrailingDots(aMenu->GetItemText(nSelectedAction))); Resize(); - getBorderWin().getView()->getAppController().executeChecked(nSelectedAction,Sequence<PropertyValue>()); } + + css::uno::Reference<css::lang::XComponent> xComponent(xPopupController, css::uno::UNO_QUERY); + if (xComponent.is()) + xComponent->dispose(); } void OAppDetailPageHelper::KeyInput( const KeyEvent& rKEvt ) diff --git a/dbaccess/source/ui/app/AppDetailPageHelper.hxx b/dbaccess/source/ui/app/AppDetailPageHelper.hxx index fb933c6..7aeda42 100644 --- a/dbaccess/source/ui/app/AppDetailPageHelper.hxx +++ b/dbaccess/source/ui/app/AppDetailPageHelper.hxx @@ -86,7 +86,6 @@ namespace dbaui VclPtr< ::svtools::ODocumentInfoPreview> m_aDocumentInfo; VclPtr<vcl::Window> m_pTablePreview; - ScopedVclPtr<PopupMenu> m_aMenu; PreviewMode m_ePreviewMode; css::uno::Reference < css::frame::XFrame2 > m_xFrame; diff --git a/dbaccess/source/ui/app/app.src b/dbaccess/source/ui/app/app.src index 927a86a..7169c47 100644 --- a/dbaccess/source/ui/app/app.src +++ b/dbaccess/source/ui/app/app.src @@ -173,40 +173,6 @@ String STR_QUERY_CLOSEDOCUMENTS Text [ en-US ] = "The connection type has been altered.\nFor the changes to take effect, all forms, reports, queries and tables must be closed.\n\nDo you want to close all documents now?" ; }; -Menu RID_MENU_APP_PREVIEW -{ - ItemList = - { - MenuItem - { - Identifier = SID_DB_APP_DISABLE_PREVIEW; - Text[ en-US ] = "None"; - Command = ".uno:DBDisablePreview"; - Checkable = TRUE; - RadioCheck = TRUE; - AutoCheck = TRUE; - }; - MenuItem - { - Identifier = SID_DB_APP_VIEW_DOCINFO_PREVIEW; - Text[ en-US ] = "Document Information"; - Command = ".uno:DBShowDocInfoPreview"; - Checkable = TRUE; - RadioCheck = TRUE; - AutoCheck = TRUE; - }; - MenuItem - { - Identifier = SID_DB_APP_VIEW_DOC_PREVIEW; - Text[ en-US ] = "Document"; - Command = ".uno:DBShowDocPreview"; - Checkable = TRUE; - RadioCheck = TRUE; - AutoCheck = TRUE; - }; - }; -}; - String RID_STR_FORM { Text [ en-US ] = "Form"; diff --git a/dbaccess/source/ui/inc/dbu_resource.hrc b/dbaccess/source/ui/inc/dbu_resource.hrc index 5851cec..a9d1f58 100644 --- a/dbaccess/source/ui/inc/dbu_resource.hrc +++ b/dbaccess/source/ui/inc/dbu_resource.hrc @@ -129,7 +129,6 @@ #define RID_QUERYFUNCTION_POPUPMENU RID_MENU_START + 6 #define RID_TABLEDESIGNROWPOPUPMENU RID_MENU_START + 7 #define RID_SBA_RTF_PKEYPOPUP RID_MENU_START + 9 -#define RID_MENU_APP_PREVIEW RID_MENU_START + 12 #define MENU_BROWSER_DEFAULTCONTEXT RID_MENU_START + 14 #define RID_MENU_JOINVIEW_CONNECTION RID_MENU_START + 16 #define RID_MENU_JOINVIEW_TABLE RID_MENU_START + 17 diff --git a/dbaccess/uiconfig/dbapp/menubar/menubar.xml b/dbaccess/uiconfig/dbapp/menubar/menubar.xml index ecffe81..66cb6cb 100644 --- a/dbaccess/uiconfig/dbapp/menubar/menubar.xml +++ b/dbaccess/uiconfig/dbapp/menubar/menubar.xml @@ -88,13 +88,7 @@ <menu:menuseparator/> <menu:menuitem menu:id=".uno:AvailableToolbars"/> <menu:menuitem menu:id=".uno:StatusBarVisible"/> - <menu:menu menu:id=".uno:DBPreview"> - <menu:menupopup> - <menu:menuitem menu:id=".uno:DBDisablePreview" menu:style="radio"/> - <menu:menuitem menu:id=".uno:DBShowDocInfoPreview" menu:style="radio"/> - <menu:menuitem menu:id=".uno:DBShowDocPreview" menu:style="radio"/> - </menu:menupopup> - </menu:menu> + <menu:menuitem menu:id=".uno:DBPreview"/> <menu:menuseparator/> <menu:menu menu:id=".uno:DBSort"> <menu:menupopup> diff --git a/dbaccess/uiconfig/dbapp/popupmenu/preview.xml b/dbaccess/uiconfig/dbapp/popupmenu/preview.xml new file mode 100644 index 0000000..eb58afd --- /dev/null +++ b/dbaccess/uiconfig/dbapp/popupmenu/preview.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * +--> +<menu:menupopup xmlns:menu="http://openoffice.org/2001/menu"> + <menu:menuitem menu:id=".uno:DBDisablePreview" menu:style="radio"/> + <menu:menuitem menu:id=".uno:DBShowDocInfoPreview" menu:style="radio"/> + <menu:menuitem menu:id=".uno:DBShowDocPreview" menu:style="radio"/> +</menu:menupopup> diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu index 2ec77ea..e6448e9 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu @@ -425,6 +425,20 @@ <value>refreshdata</value> </prop> </node> + <node oor:name="c35" oor:op="replace"> + <prop oor:name="Command"> + <value>.uno:DBPreview</value> + </prop> + <prop oor:name="Module"> + <value>com.sun.star.sdb.OfficeDatabaseDocument</value> + </prop> + <prop oor:name="Controller"> + <value>com.sun.star.comp.framework.ResourceMenuController</value> + </prop> + <prop oor:name="Value"> + <value>preview</value> + </prop> + </node> </node> <node oor:name="ToolBar"> <node oor:name="ZoomToolBox" oor:op="replace"> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits