summaryrefslogtreecommitdiff
path: root/desktop/source/lib/lokinteractionhandler.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/source/lib/lokinteractionhandler.cxx')
-rw-r--r--desktop/source/lib/lokinteractionhandler.cxx23
1 files changed, 23 insertions, 0 deletions
diff --git a/desktop/source/lib/lokinteractionhandler.cxx b/desktop/source/lib/lokinteractionhandler.cxx
index 3ee9c891f6ea..ad480964616c 100644
--- a/desktop/source/lib/lokinteractionhandler.cxx
+++ b/desktop/source/lib/lokinteractionhandler.cxx
@@ -41,6 +41,8 @@
#include <com/sun/star/task/DocumentPasswordRequest2.hpp>
#include <com/sun/star/task/DocumentMSPasswordRequest2.hpp>
+#include <com/sun/star/document/FilterOptionsRequest.hpp>
+
#include "../../inc/lib/init.hxx"
#include <LibreOfficeKit/LibreOfficeKitEnums.h>
@@ -330,6 +332,24 @@ bool LOKInteractionHandler::handlePasswordRequest(const uno::Sequence<uno::Refer
return true;
}
+bool LOKInteractionHandler::handleFilterOptionsRequest(const uno::Reference<task::XInteractionRequest>& xRequest)
+{
+ document::FilterOptionsRequest aFilterOptionsRequest;
+ uno::Any const request(xRequest->getRequest());
+ if (request >>= aFilterOptionsRequest)
+ {
+ uno::Reference< task::XInteractionHandler2 > xInteraction(
+ task::InteractionHandler::createWithParent(
+ ::comphelper::getProcessComponentContext(), nullptr));
+
+ if (xInteraction.is())
+ xInteraction->handleInteractionRequest(xRequest);
+
+ return true;
+ }
+ return false;
+}
+
sal_Bool SAL_CALL LOKInteractionHandler::handleInteractionRequest(
const uno::Reference<task::XInteractionRequest>& xRequest)
{
@@ -345,6 +365,9 @@ sal_Bool SAL_CALL LOKInteractionHandler::handleInteractionRequest(
if (handlePasswordRequest(rContinuations, request))
return true;
+ if (handleFilterOptionsRequest(xRequest))
+ return true;
+
task::DocumentMacroConfirmationRequest aConfirmRequest;
if (request >>= aConfirmRequest)
{