sc/source/ui/vba/vbafiledialog.cxx | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-)
New commits: commit 485fcd4f367ebdf5a7494976424e64c7c68ff450 Author: Tamas Bunth <tamas.bu...@collabora.co.uk> Date: Thu Aug 24 23:24:11 2017 +0200 oovbaapi: Use default path for FileDialog Change-Id: If7af0fc52b8684cca77fd3e85e15ef429801d6dd Reviewed-on: https://gerrit.libreoffice.org/41542 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Tamás Bunth <btom...@gmail.com> diff --git a/sc/source/ui/vba/vbafiledialog.cxx b/sc/source/ui/vba/vbafiledialog.cxx index f9a95cebdb87..0a3a7d33cfa9 100644 --- a/sc/source/ui/vba/vbafiledialog.cxx +++ b/sc/source/ui/vba/vbafiledialog.cxx @@ -43,7 +43,18 @@ ScVbaFileDialog::getInitialFileName() { return uno::makeAny( m_sInitialFileName void ScVbaFileDialog::setInitialFileName( const css::uno::Any& rName ) { - rName >>= m_sInitialFileName; + OUString sDefaultPath; + OUString sDefaultURL; + + if( rName >>= sDefaultPath ) + { + sal_Int32 eSuccess = osl::FileBase::getFileURLFromSystemPath( + sDefaultPath, sDefaultURL ) ; + if( eSuccess == osl::FileBase::RC::E_INVAL ) + m_sInitialFileName = sDefaultPath; // the user may gave it in URL form + else + m_sInitialFileName = sDefaultURL; + } } css::uno::Any ScVbaFileDialog::getTitle() { return uno::makeAny( m_sTitle ); } @@ -78,9 +89,10 @@ sal_Int32 ScVbaFileDialog::Show() ui::dialogs::FilePicker::createWithMode( mxContext, ui::dialogs::TemplateDescription::FILEOPEN_SIMPLE ); - // TODO set initial directory + if( !m_sInitialFileName.isEmpty() ) + xFilePicker->setDisplayDirectory( m_sInitialFileName ); - if( xFilePicker->execute() != ui::dialogs::ExecutableDialogResults::OK) + if( xFilePicker->execute() != ui::dialogs::ExecutableDialogResults::OK ) { nRet = 0; // cancel pressed break; @@ -100,9 +112,10 @@ sal_Int32 ScVbaFileDialog::Show() uno::Reference< ui::dialogs::XFolderPicker2 > xFolderPicker = ui::dialogs::FolderPicker::create(mxContext); - // TODO set initial directory + if( !m_sInitialFileName.isEmpty() ) + xFolderPicker->setDisplayDirectory( m_sInitialFileName ); - if( xFolderPicker->execute() != ui::dialogs::ExecutableDialogResults::OK) + if( xFolderPicker->execute() != ui::dialogs::ExecutableDialogResults::OK ) { nRet = 0; // cancel pressed break;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits