diff options
author | Noel Grandin <noel@peralex.com> | 2012-08-23 15:43:05 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-08-27 15:40:06 +0200 |
commit | f789715a414bd1115401f93d11f09260f891956c (patch) | |
tree | 2e7ce9d3841ae8c98585901ddae699dbb9528820 /sfx2 | |
parent | 65c78617de30f4928255b15599e7709fa0081f67 (diff) |
fdo#46808, Use factory methods for frame::DispatchHelper instances
Change-Id: I7bdf16fc6d042e5ecd404c604a8b7c31c1ac7bc1
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/appl/appserv.cxx | 56 |
1 files changed, 25 insertions, 31 deletions
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx index 063a09afee07..f28418384d2b 100644 --- a/sfx2/source/appl/appserv.cxx +++ b/sfx2/source/appl/appserv.cxx @@ -24,8 +24,8 @@ #include <com/sun/star/frame/DispatchResultState.hpp> #include <com/sun/star/task/XJobExecutor.hpp> #include <com/sun/star/ui/dialogs/XExecutableDialog.hpp> +#include <com/sun/star/frame/DispatchHelper.hpp> #include <com/sun/star/frame/XDesktop.hpp> -#include <com/sun/star/frame/XDispatchHelper.hpp> #include <com/sun/star/frame/XFramesSupplier.hpp> #include <com/sun/star/util/XCloseable.hpp> #include <com/sun/star/util/CloseVetoException.hpp> @@ -1308,27 +1308,24 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq ) } Reference< com::sun::star::lang::XMultiServiceFactory > xORB = ::comphelper::getProcessServiceFactory(); + Reference< uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext(); Reference< com::sun::star::frame::XDispatchProvider > xProv( xORB->createInstance( ::rtl::OUString("com.sun.star.drawing.ModuleDispatcher")), UNO_QUERY ); if ( xProv.is() ) { ::rtl::OUString aCmd = ::rtl::OUString::createFromAscii( GetInterface()->GetSlot( rReq.GetSlot() )->GetUnoName() ); - Reference< com::sun::star::frame::XDispatchHelper > xHelper( - xORB->createInstance( ::rtl::OUString("com.sun.star.frame.DispatchHelper")), UNO_QUERY ); - if ( xHelper.is() ) - { - Sequence < com::sun::star::beans::PropertyValue > aSeq; - if ( rReq.GetArgs() ) - TransformItems( rReq.GetSlot(), *rReq.GetArgs(), aSeq ); - Any aResult = xHelper->executeDispatch( xProv, aCmd, ::rtl::OUString(), 0, aSeq ); - ::com::sun::star::frame::DispatchResultEvent aEvent; - sal_Bool bSuccess = ( - (aResult >>= aEvent) && - (aEvent.State == ::com::sun::star::frame::DispatchResultState::SUCCESS) - ); - rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), bSuccess ) ); - } + Reference< frame::XDispatchHelper > xHelper( frame::DispatchHelper::create(xContext) ); + Sequence < com::sun::star::beans::PropertyValue > aSeq; + if ( rReq.GetArgs() ) + TransformItems( rReq.GetSlot(), *rReq.GetArgs(), aSeq ); + Any aResult = xHelper->executeDispatch( xProv, aCmd, ::rtl::OUString(), 0, aSeq ); + ::com::sun::star::frame::DispatchResultEvent aEvent; + sal_Bool bSuccess = ( + (aResult >>= aEvent) && + (aEvent.State == ::com::sun::star::frame::DispatchResultState::SUCCESS) + ); + rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), bSuccess ) ); } } break; @@ -1338,27 +1335,24 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq ) case FN_XFORMS_INIT : { Reference< com::sun::star::lang::XMultiServiceFactory > xORB = ::comphelper::getProcessServiceFactory(); + Reference< uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext(); Reference< com::sun::star::frame::XDispatchProvider > xProv( xORB->createInstance( ::rtl::OUString("com.sun.star.text.ModuleDispatcher")), UNO_QUERY ); if ( xProv.is() ) { ::rtl::OUString aCmd = ::rtl::OUString::createFromAscii( GetInterface()->GetSlot( rReq.GetSlot() )->GetUnoName() ); - Reference< com::sun::star::frame::XDispatchHelper > xHelper( - xORB->createInstance( ::rtl::OUString("com.sun.star.frame.DispatchHelper")), UNO_QUERY ); - if ( xHelper.is() ) - { - Sequence < com::sun::star::beans::PropertyValue > aSeq; - if ( rReq.GetArgs() ) - TransformItems( rReq.GetSlot(), *rReq.GetArgs(), aSeq ); - Any aResult = xHelper->executeDispatch( xProv, aCmd, ::rtl::OUString(), 0, aSeq ); - ::com::sun::star::frame::DispatchResultEvent aEvent; - sal_Bool bSuccess = ( - (aResult >>= aEvent) && - (aEvent.State == ::com::sun::star::frame::DispatchResultState::SUCCESS) - ); - rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), bSuccess ) ); - } + Reference< frame::XDispatchHelper > xHelper( frame::DispatchHelper::create(xContext) ); + Sequence < com::sun::star::beans::PropertyValue > aSeq; + if ( rReq.GetArgs() ) + TransformItems( rReq.GetSlot(), *rReq.GetArgs(), aSeq ); + Any aResult = xHelper->executeDispatch( xProv, aCmd, ::rtl::OUString(), 0, aSeq ); + ::com::sun::star::frame::DispatchResultEvent aEvent; + sal_Bool bSuccess = ( + (aResult >>= aEvent) && + (aEvent.State == ::com::sun::star::frame::DispatchResultState::SUCCESS) + ); + rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), bSuccess ) ); } } break; |