Related: tdf#145169 unwanted dialogs on sftp save to remote to a new document
which is similar to:
commit f12e483589888f87843026ceff5ae3c1e615ca02
Date: Mon Feb 1 16:04:49 2016 +0100
Fix tdf#97500 Reinstate missing file error dialog on WebDAV
this all looks a bit dubious, but make a safely backportable change
first
Change-Id: Ia6dbaacf7024d05083c336135a80b5acf607dfc5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123749
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/fpicker/source/office/RemoteFilesDialog.cxx b/fpicker/source/office/RemoteFilesDialog.cxx
index ee031ca..2d1c4c9 100644
--- a/fpicker/source/office/RemoteFilesDialog.cxx
+++ b/fpicker/source/office/RemoteFilesDialog.cxx
@@ -1146,6 +1146,9 @@ bool RemoteFilesDialog::ContentIsFolder( const OUString& rURL )
{
Reference< XInteractionHandler > xInteractionHandler(
InteractionHandler::createWithParent( m_xContext, nullptr ), UNO_QUERY_THROW );
INetURLObject aURLObject(rURL);
if (aURLObject.isAnyKnownWebDAVScheme() || aURLObject.GetProtocol() == INetProtocol::Sftp)
xInteractionHandler.set(new comphelper::StillReadWriteInteraction(xInteractionHandler, xInteractionHandler));
Reference< XCommandEnvironment > xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
::ucbhelper::Content aContent( rURL, xEnv, m_xContext );
@@ -1166,7 +1169,8 @@ bool RemoteFilesDialog::ContentIsDocument( const OUString& rURL )
Reference< XInteractionHandler > xInteractionHandler(
InteractionHandler::createWithParent( m_xContext, nullptr ), UNO_QUERY_THROW );
//check if WebDAV or not
if ( !INetURLObject( rURL ).isAnyKnownWebDAVScheme() )
INetURLObject aURLObject(rURL);
if (!aURLObject.isAnyKnownWebDAVScheme() && aURLObject.GetProtocol() != INetProtocol::Sftp)
{
// no webdav, use the interaction handler as is
Reference< XCommandEnvironment > xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );