diff options
author | Maxim Monastirsky <momonasmon@gmail.com> | 2016-09-09 10:00:34 +0300 |
---|---|---|
committer | Maxim Monastirsky <momonasmon@gmail.com> | 2016-09-09 10:19:57 +0300 |
commit | ccb986bae00ece4c1402ea89e66c9e46a331c8b1 (patch) | |
tree | 55cc11d1f4809a51be213548512717298047c18a /sfx2/source/dialog/recfloat.cxx | |
parent | 79586cf338a6f02ca3568b12f88380cb61957dc9 (diff) |
Simplify SfxRecordingFloat_Impl by using SidebarToolBox
Change-Id: I3d2348d8e3db91b0ae4e757efa14a0168604a2b0
Diffstat (limited to 'sfx2/source/dialog/recfloat.cxx')
-rw-r--r-- | sfx2/source/dialog/recfloat.cxx | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/sfx2/source/dialog/recfloat.cxx b/sfx2/source/dialog/recfloat.cxx index 780fb404c037..aebfd9c9fe1f 100644 --- a/sfx2/source/dialog/recfloat.cxx +++ b/sfx2/source/dialog/recfloat.cxx @@ -18,15 +18,9 @@ */ #include <com/sun/star/frame/XDispatchRecorderSupplier.hpp> -#include <com/sun/star/frame/ModuleManager.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/frame/theUICommandDescription.hpp> #include <svl/eitem.hxx> -#include <svtools/generictoolboxcontroller.hxx> #include <vcl/msgbox.hxx> -#include <comphelper/processfactory.hxx> #include "recfloat.hxx" #include "dialog.hrc" @@ -38,90 +32,6 @@ #include <sfx2/viewsh.hxx> #include <sfx2/imagemgr.hxx> -using namespace ::com::sun::star; - -static OUString GetLabelFromCommandURL( const OUString& rCommandURL, const uno::Reference< frame::XFrame >& xFrame ) -{ - OUString aLabel; - OUString aModuleIdentifier; - uno::Reference< container::XNameAccess > xUICommandLabels; - uno::Reference< uno::XComponentContext > xContext; - uno::Reference< container::XNameAccess > xUICommandDescription; - uno::Reference< css::frame::XModuleManager2 > xModuleManager; - - static uno::WeakReference< uno::XComponentContext > xTmpContext; - static uno::WeakReference< container::XNameAccess > xTmpNameAccess; - static uno::WeakReference< css::frame::XModuleManager2 > xTmpModuleMgr; - - xContext = xTmpContext; - if ( !xContext.is() ) - { - xContext = ::comphelper::getProcessComponentContext(); - xTmpContext = xContext; - } - - xUICommandDescription = xTmpNameAccess; - if ( !xUICommandDescription.is() ) - { - xUICommandDescription = frame::theUICommandDescription::get(xContext); - xTmpNameAccess = xUICommandDescription; - } - - xModuleManager = xTmpModuleMgr; - if ( !xModuleManager.is() ) - { - xModuleManager = frame::ModuleManager::create(xContext); - xTmpModuleMgr = xModuleManager; - } - - // Retrieve label from UI command description service - try - { - try - { - aModuleIdentifier = xModuleManager->identify( xFrame ); - } - catch( uno::Exception& ) - { - } - - uno::Any a = xUICommandDescription->getByName( aModuleIdentifier ); - uno::Reference< container::XNameAccess > xUICommands; - a >>= xUICommandLabels; - } - catch ( uno::Exception& ) - { - } - - if ( xUICommandLabels.is() ) - { - try - { - if ( !rCommandURL.isEmpty() ) - { - uno::Sequence< beans::PropertyValue > aPropSeq; - uno::Any a( xUICommandLabels->getByName( rCommandURL )); - if ( a >>= aPropSeq ) - { - for ( sal_Int32 i = 0; i < aPropSeq.getLength(); i++ ) - { - if ( aPropSeq[i].Name == "Label" ) - { - aPropSeq[i].Value >>= aLabel; - break; - } - } - } - } - } - catch (uno::Exception& ) - { - } - } - - return aLabel; -} - SFX_IMPL_FLOATINGWINDOW( SfxRecordingFloatWrapper_Impl, SID_RECORDING_FLOATWINDOW ); SfxRecordingFloatWrapper_Impl::SfxRecordingFloatWrapper_Impl( vcl::Window* pParentWnd , @@ -169,29 +79,6 @@ SfxRecordingFloat_Impl::SfxRecordingFloat_Impl( pParent, "FloatingRecord", "sfx/ui/floatingrecord.ui", pBind->GetActiveFrame() ) { - get(m_pTbx, "toolbar"); - - // Retrieve label from helper function - uno::Reference< frame::XFrame > xFrame = getFrame(); - OUString aCommandStr( ".uno:StopRecording" ); - sal_uInt16 nItemId = m_pTbx->GetItemId(aCommandStr); - m_pTbx->SetItemText( nItemId, GetLabelFromCommandURL( aCommandStr, xFrame )); - - // create a generic toolbox controller for our internal toolbox - svt::GenericToolboxController* pController = new svt::GenericToolboxController( - ::comphelper::getProcessComponentContext(), - xFrame, - m_pTbx, - nItemId, - aCommandStr ); - xStopRecTbxCtrl.set( static_cast< cppu::OWeakObject* >( pController ), - uno::UNO_QUERY ); - uno::Reference< util::XUpdatable > xUpdate( xStopRecTbxCtrl, uno::UNO_QUERY ); - if ( xUpdate.is() ) - xUpdate->update(); - - m_pTbx->SetSelectHdl( LINK( this, SfxRecordingFloat_Impl, Select ) ); - // start recording SfxBoolItem aItem( SID_RECORDMACRO, true ); GetBindings().GetDispatcher()->ExecuteList(SID_RECORDMACRO, @@ -203,23 +90,6 @@ SfxRecordingFloat_Impl::~SfxRecordingFloat_Impl() disposeOnce(); } -void SfxRecordingFloat_Impl::dispose() -{ - try - { - if ( xStopRecTbxCtrl.is() ) - { - uno::Reference< lang::XComponent > xComp( xStopRecTbxCtrl, uno::UNO_QUERY ); - xComp->dispose(); - } - } - catch ( uno::Exception& ) - { - } - m_pTbx.clear(); - SfxFloatingWindow::dispose(); -} - bool SfxRecordingFloat_Impl::Close() { bool bRet = SfxFloatingWindow::Close(); @@ -249,12 +119,4 @@ void SfxRecordingFloat_Impl::StateChanged( StateChangedType nStateChange ) SfxFloatingWindow::StateChanged( nStateChange ); } -IMPL_LINK_TYPED( SfxRecordingFloat_Impl, Select, ToolBox*, pToolBar, void ) -{ - (void)pToolBar; - sal_Int16 nKeyModifier( (sal_Int16)m_pTbx->GetModifier() ); - if ( xStopRecTbxCtrl.is() ) - xStopRecTbxCtrl->execute( nKeyModifier ); -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |