summaryrefslogtreecommitdiff
path: root/unotools/source
diff options
context:
space:
mode:
authorSarper Akdemir <sarper.akdemir@allotropia.de>2024-06-21 12:40:11 +0200
committerSarper Akdemir <sarper.akdemir@allotropia.de>2024-06-28 12:06:25 +0200
commit2ad7d5cfb0288559921b0d9ccad0a23d95cde452 (patch)
tree251a5106cb6bc904754f379f570bd3ec6414e1fa /unotools/source
parent93dbba5361b2fd4b4b9a62725edab5e59b8be575 (diff)
make additionsdialog show connection errors HEADmaster
use non-scoped interaction handler instead of the scoped SimpleFileAccessInteraction so that errors will be handled with correct pop-up dialogs. Also throw the correct type of DAVException for USC_CONNECT_FAILED in Content::Open Change-Id: If2031dfa2796f91fad6866bc9608194c92658b96 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169519 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'unotools/source')
-rw-r--r--unotools/source/ucbhelper/ucbstreamhelper.cxx19
1 files changed, 16 insertions, 3 deletions
diff --git a/unotools/source/ucbhelper/ucbstreamhelper.cxx b/unotools/source/ucbhelper/ucbstreamhelper.cxx
index 72a3d7cbe64b..f68a503370c1 100644
--- a/unotools/source/ucbhelper/ucbstreamhelper.cxx
+++ b/unotools/source/ucbhelper/ucbstreamhelper.cxx
@@ -137,24 +137,37 @@ static std::unique_ptr<SvStream> lcl_CreateStream( const OUString& rFileName, St
return pStream;
}
-std::unique_ptr<SvStream> UcbStreamHelper::CreateStream(const OUString& rFileName, StreamMode eOpenMode, css::uno::Reference<css::awt::XWindow> xParentWin)
+std::unique_ptr<SvStream>
+UcbStreamHelper::CreateStream(const OUString& rFileName, StreamMode eOpenMode,
+ css::uno::Reference<css::awt::XWindow> xParentWin,
+ bool bUseSimpleFileAccessInteraction)
{
// related tdf#99312
// create a specialized interaction handler to manages Web certificates and Web credentials when needed
Reference< XInteractionHandler > xIH(
css::task::InteractionHandler::createWithParent(comphelper::getProcessComponentContext(), xParentWin));
+
+ if (!bUseSimpleFileAccessInteraction)
+ return lcl_CreateStream(rFileName, eOpenMode, xIH, true /* bEnsureFileExists */);
+
Reference<XInteractionHandler> xIHScoped(new comphelper::SimpleFileAccessInteraction(xIH));
return lcl_CreateStream( rFileName, eOpenMode, xIHScoped, true /* bEnsureFileExists */ );
}
-std::unique_ptr<SvStream> UcbStreamHelper::CreateStream(const OUString& rFileName, StreamMode eOpenMode,
- bool bFileExists, css::uno::Reference<css::awt::XWindow> xParentWin)
+std::unique_ptr<SvStream>
+UcbStreamHelper::CreateStream(const OUString& rFileName, StreamMode eOpenMode, bool bFileExists,
+ css::uno::Reference<css::awt::XWindow> xParentWin,
+ bool bUseSimpleFileAccessInteraction)
{
// related tdf#99312
// create a specialized interaction handler to manages Web certificates and Web credentials when needed
Reference< XInteractionHandler > xIH(
css::task::InteractionHandler::createWithParent(comphelper::getProcessComponentContext(), xParentWin));
+
+ if (!bUseSimpleFileAccessInteraction)
+ return lcl_CreateStream(rFileName, eOpenMode, xIH, !bFileExists);
+
Reference<XInteractionHandler> xIHScoped(new comphelper::SimpleFileAccessInteraction(xIH));
return lcl_CreateStream( rFileName, eOpenMode, xIHScoped,!bFileExists );
}