diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-06-06 12:34:08 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-06-06 12:16:28 +0000 |
commit | b0d819ac5667a07f629f2acb5d3c542fa76d348b (patch) | |
tree | b5a0034955958f8896580d306037c50559aaa8ed | |
parent | 69c997428b748357918994ae1b0e2dbd052687d0 (diff) |
SwXDispatchProviderInterceptor: implement frame::XInterceptorInfo
With this, framework::InterceptionHelper can make a better decision what
interceptor to call: it can avoid calling SwXDispatchProviderInterceptor
when the sw code would just call the previous interceptor anyway.
Change-Id: I92897f2c8baa264dc9ccbc11b63f415da30a910d
Reviewed-on: https://gerrit.libreoffice.org/25961
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
-rw-r--r-- | sw/source/uibase/inc/unodispatch.hxx | 7 | ||||
-rw-r--r-- | sw/source/uibase/uno/unodispatch.cxx | 10 |
2 files changed, 16 insertions, 1 deletions
diff --git a/sw/source/uibase/inc/unodispatch.hxx b/sw/source/uibase/inc/unodispatch.hxx index 0124c2edc404..d7411512a1f5 100644 --- a/sw/source/uibase/inc/unodispatch.hxx +++ b/sw/source/uibase/inc/unodispatch.hxx @@ -24,6 +24,7 @@ #include <com/sun/star/view/XSelectionChangeListener.hpp> #include <com/sun/star/lang/XUnoTunnel.hpp> #include <com/sun/star/frame/XDispatch.hpp> +#include <com/sun/star/frame/XInterceptorInfo.hpp> #include <cppuhelper/implbase.hxx> #include <list> #include <vcl/svapp.hxx> @@ -35,7 +36,8 @@ class SwXDispatchProviderInterceptor : public cppu::WeakImplHelper < css::frame::XDispatchProviderInterceptor, css::lang::XEventListener, - css::lang::XUnoTunnel + css::lang::XUnoTunnel, + css::frame::XInterceptorInfo > { class DispatchMutexLock_Impl @@ -82,6 +84,9 @@ public: static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId(); virtual sal_Int64 SAL_CALL getSomething( const css::uno::Sequence< sal_Int8 >& aIdentifier ) throw(css::uno::RuntimeException, std::exception) override; + // XInterceptorInfo + virtual css::uno::Sequence<OUString> SAL_CALL getInterceptedURLs() throw (css::uno::RuntimeException, std::exception) override; + // view destroyed void Invalidate(); }; diff --git a/sw/source/uibase/uno/unodispatch.cxx b/sw/source/uibase/uno/unodispatch.cxx index 985f28387e2b..3335eebc4dfd 100644 --- a/sw/source/uibase/uno/unodispatch.cxx +++ b/sw/source/uibase/uno/unodispatch.cxx @@ -88,6 +88,16 @@ uno::Reference< frame::XDispatch > SwXDispatchProviderInterceptor::queryDispatch return xResult; } +uno::Sequence<OUString> SAL_CALL SwXDispatchProviderInterceptor::getInterceptedURLs() throw (uno::RuntimeException, std::exception) +{ + uno::Sequence<OUString> aRet = + { + OUString(".uno:DataSourceBrowser/*") + }; + + return aRet; +} + uno::Sequence< uno::Reference< frame::XDispatch > > SwXDispatchProviderInterceptor::queryDispatches( const uno::Sequence< frame::DispatchDescriptor >& aDescripts ) throw(uno::RuntimeException, std::exception) { |