summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-06-06 12:34:08 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-06-06 12:16:28 +0000
commitb0d819ac5667a07f629f2acb5d3c542fa76d348b (patch)
treeb5a0034955958f8896580d306037c50559aaa8ed
parent69c997428b748357918994ae1b0e2dbd052687d0 (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.hxx7
-rw-r--r--sw/source/uibase/uno/unodispatch.cxx10
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)
{