[Libreoffice-commits] core.git: Branch 'feature/gsoc15-open-remote-files-dialog' - svtools/source
Szymon Kłos
eszkadev at gmail.com
Thu Jul 9 08:03:17 PDT 2015
svtools/source/dialogs/RemoteFilesDialog.cxx | 49 ++++++++++++++++-----------
1 file changed, 30 insertions(+), 19 deletions(-)
New commits:
commit 85eee1b128bef28bf5d280b4708a05172ff44df8
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Thu Jul 9 17:01:11 2015 +0200
RemoteFilesDialog: fixes needed for saving documents
Change-Id: I3134f82d81ed2c2de7d6197fbec5610b53814e1e
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 05f1ac9..03fa023 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -494,7 +494,12 @@ FileViewResult RemoteFilesDialog::OpenURL( OUString sURL )
if( m_pFileView )
{
- OUString sFilter = GetCurFilter();
+ OUString sFilter = FILEDIALOG_FILTER_ALL;
+
+ if( m_nCurrentFilter != LISTBOX_ENTRY_NOTFOUND )
+ {
+ sFilter = m_aFilters[m_nCurrentFilter].second;
+ }
m_pFileView->EndInplaceEditing( false );
eResult = m_pFileView->Initialize( sURL, sFilter, NULL, GetBlackList() );
@@ -791,9 +796,12 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, OkHdl )
bool bFileDlg = ( m_eType == REMOTEDLG_TYPE_FILEDLG );
bool bSelected = ( m_pFileView->GetSelectionCount() > 0 );
+ if( !sCurrentPath.endsWith( OUString( "/" ) ) )
+ sCurrentPath += OUString( "/" );
+
if( !bSelected )
{
- m_sPath = sCurrentPath + "/" + INetURLObject::encode( sName, INetURLObject::PART_FPATH, INetURLObject::ENCODE_ALL );
+ m_sPath = sCurrentPath + INetURLObject::encode( sName, INetURLObject::PART_FPATH, INetURLObject::ENCODE_ALL );
}
else
{
@@ -826,14 +834,11 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, OkHdl )
if ( !bExists )
{
- // TODO
-
- return 0;
+ if( m_eMode == REMOTEDLG_MODE_OPEN )
+ return 0;
}
- if( bExists )
- EndDialog( RET_OK );
-
+ EndDialog( RET_OK );
return 1;
}
@@ -899,11 +904,7 @@ OUString RemoteFilesDialog::GetCurFilter() const
if( m_nCurrentFilter != LISTBOX_ENTRY_NOTFOUND )
{
- sFilter = m_aFilters[m_nCurrentFilter].second;
- }
- else
- {
- sFilter = FILEDIALOG_FILTER_ALL;
+ sFilter = m_aFilters[m_nCurrentFilter].first;
}
return sFilter;
@@ -967,12 +968,22 @@ std::vector<OUString> RemoteFilesDialog::GetPathList() const
bool RemoteFilesDialog::ContentIsFolder( const OUString& rURL )
{
- Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
- Reference< XInteractionHandler > xInteractionHandler(
- InteractionHandler::createWithParent( xContext, 0 ), UNO_QUERY_THROW );
- Reference< XCommandEnvironment > xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
- ::ucbhelper::Content aContent( rURL, xEnv, xContext );
- return aContent.isFolder();
+ try
+ {
+ Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
+ Reference< XInteractionHandler > xInteractionHandler(
+ InteractionHandler::createWithParent( xContext, 0 ), UNO_QUERY_THROW );
+ Reference< XCommandEnvironment > xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
+ ::ucbhelper::Content aContent( rURL, xEnv, xContext );
+
+ return aContent.isFolder();
+ }
+ catch( const Exception& )
+ {
+ // a content doesn't exist
+ }
+
+ return false;
}
sal_Int32 RemoteFilesDialog::getTargetColorDepth()
More information about the Libreoffice-commits
mailing list