framework/inc/uielement/toolbarmanager.hxx | 4 - framework/source/uielement/toolbarmanager.cxx | 74 -------------------------- include/vcl/commandinfoprovider.hxx | 4 + vcl/source/helper/commandinfoprovider.cxx | 19 ++++++ 4 files changed, 24 insertions(+), 77 deletions(-)
New commits: commit 0c48c809f09e74e79c9f8dc4c22958147f591921 Author: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> Date: Tue Nov 17 11:08:46 2015 +0100 tdf#95845 Use CommandInfoProvider to receive command properties Change-Id: I41f9a661b7a5b355e50910d7f58f0d9d55dc62a6 diff --git a/framework/source/uielement/toolbarmanager.cxx b/framework/source/uielement/toolbarmanager.cxx index 76fa331..e4f2979 100644 --- a/framework/source/uielement/toolbarmanager.cxx +++ b/framework/source/uielement/toolbarmanager.cxx @@ -773,62 +773,8 @@ void ToolBarManager::RemoveControllers() m_aControllerMap.clear(); } -uno::Sequence< beans::PropertyValue > ToolBarManager::GetPropsForCommand( const OUString& rCmdURL ) -{ - Sequence< PropertyValue > aPropSeq; - - // Retrieve properties for command - try - { - if ( !m_bModuleIdentified ) - { - Reference< XModuleManager2 > xModuleManager = ModuleManager::create( m_xContext ); - Reference< XInterface > xIfac( m_xFrame, UNO_QUERY ); - - m_bModuleIdentified = true; - m_aModuleIdentifier = xModuleManager->identify( xIfac ); - - if ( !m_aModuleIdentifier.isEmpty() ) - { - Reference< XNameAccess > xNameAccess = frame::theUICommandDescription::get( m_xContext ); - xNameAccess->getByName( m_aModuleIdentifier ) >>= m_xUICommandLabels; - } - } - - if ( m_xUICommandLabels.is() ) - { - if ( !rCmdURL.isEmpty() ) - m_xUICommandLabels->getByName( rCmdURL ) >>= aPropSeq; - } - } - catch (const Exception&) - { - } - - return aPropSeq; -} - -sal_Int32 ToolBarManager::RetrievePropertiesFromCommand( const OUString& aCmdURL ) -{ - sal_Int32 nProperties(0); - Sequence< PropertyValue > aPropSeq; - - // Retrieve popup menu labels - aPropSeq = GetPropsForCommand( aCmdURL ); - for ( sal_Int32 i = 0; i < aPropSeq.getLength(); i++ ) - { - if ( aPropSeq[i].Name == "Properties" ) - { - aPropSeq[i].Value >>= nProperties; - break; - } - } - return nProperties; -} - void ToolBarManager::CreateControllers() { - Reference< XWindow > xToolbarWindow = VCLUnoHelper::GetInterface( m_pToolBar ); css::util::URL aURL; @@ -932,7 +878,7 @@ void ToolBarManager::CreateControllers() new GenericToolbarController( m_xContext, m_xFrame, m_pToolBar, nId, aCommandURL )); // Accessibility support: Set toggle button role for specific commands - sal_Int32 nProps = RetrievePropertiesFromCommand( aCommandURL ); + sal_Int32 nProps = vcl::CommandInfoProvider::Instance().GetPropertiesForCommand(aCommandURL, m_xFrame); if ( nProps & UICOMMANDDESCRIPTION_PROPERTIES_TOGGLEBUTTON ) m_pToolBar->SetItemBits( nId, m_pToolBar->GetItemBits( nId ) | ToolBoxItemBits::CHECKABLE ); } diff --git a/include/vcl/commandinfoprovider.hxx b/include/vcl/commandinfoprovider.hxx index 0dc69f8..3d98296 100644 --- a/include/vcl/commandinfoprovider.hxx +++ b/include/vcl/commandinfoprovider.hxx @@ -84,6 +84,10 @@ public: bool bLarge, const css::uno::Reference<css::frame::XFrame>& rxFrame); + sal_Int32 GetPropertiesForCommand( + const OUString& rsCommandName, + const css::uno::Reference<css::frame::XFrame>& rxFrame); + /** Do not call. Should be part of a local and hidden interface. */ void SetFrame (const css::uno::Reference<css::frame::XFrame>& rxFrame); diff --git a/vcl/source/helper/commandinfoprovider.cxx b/vcl/source/helper/commandinfoprovider.cxx index 4eef99c..cb0378c 100644 --- a/vcl/source/helper/commandinfoprovider.cxx +++ b/vcl/source/helper/commandinfoprovider.cxx @@ -214,6 +214,25 @@ Image CommandInfoProvider::GetImageForCommand(const OUString& rsCommandName, boo return Image(); } +sal_Int32 CommandInfoProvider::GetPropertiesForCommand ( + const OUString& rsCommandName, + const Reference<frame::XFrame>& rxFrame) +{ + SetFrame(rxFrame); + + const Sequence<beans::PropertyValue> aProperties (GetCommandProperties(rsCommandName)); + for (sal_Int32 nIndex=0; nIndex<aProperties.getLength(); ++nIndex) + { + if (aProperties[nIndex].Name == "Properties") + { + sal_Int32 nValue; + aProperties[nIndex].Value >>= nValue; + return nValue; + } + } + return 0; +} + void CommandInfoProvider::SetFrame (const Reference<frame::XFrame>& rxFrame) { if (rxFrame != mxCachedDataFrame) commit 16f85dc485970f34c2abd06fb5379b426d3a83bc Author: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> Date: Tue Nov 17 08:37:23 2015 +0100 Remove unused methods Change-Id: Ia78da9dac5fb426fbb145250c4e39eb7d30c4d03 diff --git a/framework/inc/uielement/toolbarmanager.hxx b/framework/inc/uielement/toolbarmanager.hxx index 65a5184..2f55097 100644 --- a/framework/inc/uielement/toolbarmanager.hxx +++ b/framework/inc/uielement/toolbarmanager.hxx @@ -144,7 +144,6 @@ class ToolBarManager : public ToolbarManager_Base virtual bool MenuItemAllowed( sal_uInt16 ) const; void RemoveControllers(); - OUString RetrieveFromCommand( const OUString & aName, const OUString& aCmdURL ); sal_Int32 RetrievePropertiesFromCommand( const OUString& aCmdURL ); css::uno::Sequence< css::beans::PropertyValue > GetPropsForCommand( const OUString& rCmdURL ); void CreateControllers(); @@ -165,9 +164,6 @@ class ToolBarManager : public ToolbarManager_Base void setToolBarImage(const Image& _aImage,const CommandToInfoMap::const_iterator& _pIter); void impl_elementChanged(bool _bRemove,const css::ui::ConfigurationEvent& Event ); - static bool impl_RetrieveShortcutsFromConfiguration( const css::uno::Reference< css::ui::XAcceleratorConfiguration >& rAccelCfg, const OUString& rCommand, OUString& rShortCut ); - bool RetrieveShortcut( const OUString& rCommandURL, OUString& rShortCut ); - protected: typedef std::unordered_map< sal_uInt16, css::uno::Reference< css::frame::XStatusListener > > ToolBarControllerMap; typedef ::std::vector< css::uno::Reference< css::frame::XSubToolbarController > > SubToolBarControllerVector; diff --git a/framework/source/uielement/toolbarmanager.cxx b/framework/source/uielement/toolbarmanager.cxx index 2384a09..76fa331 100644 --- a/framework/source/uielement/toolbarmanager.cxx +++ b/framework/source/uielement/toolbarmanager.cxx @@ -808,24 +808,6 @@ uno::Sequence< beans::PropertyValue > ToolBarManager::GetPropsForCommand( const return aPropSeq; } -OUString ToolBarManager::RetrieveFromCommand( const OUString & aName, const OUString& aCmdURL ) -{ - OUString aLabel; - Sequence< PropertyValue > aPropSeq; - - // Retrieve popup menu labels - aPropSeq = GetPropsForCommand( aCmdURL ); - for ( sal_Int32 i = 0; i < aPropSeq.getLength(); i++ ) - { - if ( aPropSeq[i].Name == aName ) - { - aPropSeq[i].Value >>= aLabel; - break; - } - } - return aLabel; -} - sal_Int32 ToolBarManager::RetrievePropertiesFromCommand( const OUString& aCmdURL ) { sal_Int32 nProperties(0); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits