This is an automated email from the ASF dual-hosted git repository.
mseidel pushed a commit to branch AOO41X
in repository https://gitbox.apache.org/repos/asf/openoffice.git
The following commit(s) were added to refs/heads/AOO41X by this push:
new de4f303f92 #i96720# FilePicker: setDefaultName, setDefaultDirectory
"broken"
de4f303f92 is described below
commit de4f303f92c636ab115e46e3d5e1477fba3d4960
Author: Damjan Jovanovic <[email protected]>
AuthorDate: Wed Nov 25 18:49:36 2015 +0000
#i96720# FilePicker: setDefaultName, setDefaultDirectory "broken"
Display the proposed filename even when the URL
specified for the file picker directory is invalid.
As the Win32 file picker sadly allows both paths and URLs
for directories, users try paths on other more
restrictive platforms, and since the file picker there
shows neither the directory nor the file, they wrongly
conclude both are broken.
Patch by: me
git-svn-id: https://svn.apache.org/repos/asf/openoffice/trunk@1716508
13f79535-47bb-0310-9956-ffa450edef68
(cherry picked from commit 1aa1f6e56713546a63af3b26af83aa1655ce348c)
---
main/fpicker/source/office/OfficeFilePicker.cxx | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/main/fpicker/source/office/OfficeFilePicker.cxx
b/main/fpicker/source/office/OfficeFilePicker.cxx
index 8aefcb7e24..d04bc08526 100644
--- a/main/fpicker/source/office/OfficeFilePicker.cxx
+++ b/main/fpicker/source/office/OfficeFilePicker.cxx
@@ -171,19 +171,29 @@ void SvtFilePicker::prepareExecute()
// --**-- doesn't match the spec yet
if ( m_aDisplayDirectory.getLength() > 0 || m_aDefaultName.getLength()
> 0 )
{
+ sal_Bool isFileSet = sal_False;
if ( m_aDisplayDirectory.getLength() > 0 )
{
- INetURLObject aPath( m_aDisplayDirectory );
+ INetURLObject aPath;
+ INetURLObject givenPath( m_aDisplayDirectory );
+ if (!givenPath.HasError())
+ aPath = givenPath;
+ else
+ {
+ INetURLObject aStdDirObj(
SvtPathOptions().GetWorkPath() );
+ aPath = aStdDirObj;
+ }
if ( m_aDefaultName.getLength() > 0 )
{
aPath.insertName( m_aDefaultName );
getDialog()->SetHasFilename( true );
}
String sPath = aPath.GetMainURL(
INetURLObject::NO_DECODE );
- getDialog()->SetPath( aPath.GetMainURL(
INetURLObject::NO_DECODE ) );
+ getDialog()->SetPath( sPath );
+ isFileSet = sal_True;
}
- else if ( m_aDefaultName.getLength() > 0 )
+ if ( !isFileSet && m_aDefaultName.getLength() > 0 )
{
getDialog()->SetPath( m_aDefaultName );
getDialog()->SetHasFilename( true );