summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/unotools/pathoptions.hxx3
-rw-r--r--sfx2/source/appl/appcfg.cxx9
-rw-r--r--svtools/source/misc/templatefoldercache.cxx14
-rw-r--r--unotools/source/config/pathoptions.cxx18
4 files changed, 36 insertions, 8 deletions
diff --git a/include/unotools/pathoptions.hxx b/include/unotools/pathoptions.hxx
index 99791e5cc0fc..37e172632298 100644
--- a/include/unotools/pathoptions.hxx
+++ b/include/unotools/pathoptions.hxx
@@ -56,6 +56,7 @@ public:
PATH_MODULE,
PATH_PALETTE,
PATH_PLUGIN,
+ PATH_STORAGE,
PATH_TEMP,
PATH_TEMPLATE,
PATH_USERCONFIG,
@@ -87,6 +88,7 @@ public:
const OUString& GetModulePath() const;
const OUString& GetPalettePath() const;
const OUString& GetPluginPath() const;
+ const OUString& GetStoragePath() const;
const OUString& GetTempPath() const;
const OUString& GetTemplatePath() const;
const OUString& GetUserConfigPath() const;
@@ -112,6 +114,7 @@ public:
void SetModulePath( const OUString& rPath );
void SetPalettePath( const OUString& rPath );
void SetPluginPath( const OUString& rPath );
+ void SetStoragePath( const OUString& rPath );
void SetTempPath( const OUString& rPath );
void SetTemplatePath( const OUString& rPath );
void SetUserConfigPath( const OUString& rPath );
diff --git a/sfx2/source/appl/appcfg.cxx b/sfx2/source/appl/appcfg.cxx
index 27ec3ad2f1df..7153cf17b4d1 100644
--- a/sfx2/source/appl/appcfg.cxx
+++ b/sfx2/source/appl/appcfg.cxx
@@ -433,6 +433,7 @@ void SfxApplication::GetOptions( SfxItemSet& rSet )
case SvtPathOptions::PATH_MODULE: osl::FileBase::getFileURLFromSystemPath( aPathCfg.GetModulePath(), aValue ); break;
case SvtPathOptions::PATH_PALETTE: aValue = aPathCfg.GetPalettePath(); break;
case SvtPathOptions::PATH_PLUGIN: osl::FileBase::getFileURLFromSystemPath( aPathCfg.GetPluginPath(), aValue ); break;
+ case SvtPathOptions::PATH_STORAGE: osl::FileBase::getFileURLFromSystemPath( aPathCfg.GetStoragePath(), aValue ); break;
case SvtPathOptions::PATH_TEMP: aValue = aPathCfg.GetTempPath(); break;
case SvtPathOptions::PATH_TEMPLATE: aValue = aPathCfg.GetTemplatePath(); break;
case SvtPathOptions::PATH_USERCONFIG: aValue = aPathCfg.GetUserConfigPath(); break;
@@ -790,6 +791,14 @@ void SfxApplication::SetOptions(const SfxItemSet &rSet)
break;
}
+ case SvtPathOptions::PATH_STORAGE:
+ {
+ OUString aTmp;
+ if( osl::FileBase::getSystemPathFromFileURL( sValue, aTmp ) == osl::FileBase::E_None )
+ aPathOptions.SetStoragePath( aTmp );
+ break;
+ }
+
case SvtPathOptions::PATH_TEMP: aPathOptions.SetTempPath( sValue );break;
case SvtPathOptions::PATH_TEMPLATE: aPathOptions.SetTemplatePath( sValue );break;
case SvtPathOptions::PATH_USERCONFIG: aPathOptions.SetUserConfigPath( sValue );break;
diff --git a/svtools/source/misc/templatefoldercache.cxx b/svtools/source/misc/templatefoldercache.cxx
index ab3db5afa563..f83e11dcdf0a 100644
--- a/svtools/source/misc/templatefoldercache.cxx
+++ b/svtools/source/misc/templatefoldercache.cxx
@@ -691,20 +691,20 @@ namespace svt
// close any old stream instance
closeCacheStream( );
- // get the temp directory
- OUString sTempURL = implParseSmart( SvtPathOptions().GetTempPath() );
- INetURLObject aTempURL( sTempURL );
- if ( INetProtocol::NotValid == aTempURL.GetProtocol() )
+ // get the storage directory
+ OUString sStorageURL = implParseSmart( SvtPathOptions().GetStoragePath() );
+ INetURLObject aStorageURL( sStorageURL );
+ if ( INetProtocol::NotValid == aStorageURL.GetProtocol() )
{
- OSL_FAIL( "TemplateFolderCacheImpl::openCacheStream: invalid temp path!" );
+ OSL_FAIL( "TemplateFolderCacheImpl::openCacheStream: invalid storage path!" );
return false;
}
// append our name
- aTempURL.Append( ".templdir.cache" );
+ aStorageURL.Append( ".templdir.cache" );
// open the stream
- m_pCacheStream = UcbStreamHelper::CreateStream( aTempURL.GetMainURL( INetURLObject::DecodeMechanism::ToIUri ),
+ m_pCacheStream = UcbStreamHelper::CreateStream( aStorageURL.GetMainURL( INetURLObject::DecodeMechanism::ToIUri ),
_bForRead ? StreamMode::READ | StreamMode::NOCREATE : StreamMode::WRITE | StreamMode::TRUNC );
DBG_ASSERT( m_pCacheStream, "TemplateFolderCacheImpl::openCacheStream: could not open/create the cache stream!" );
if ( m_pCacheStream && m_pCacheStream->GetErrorCode() )
diff --git a/unotools/source/config/pathoptions.cxx b/unotools/source/config/pathoptions.cxx
index d68d4da44c5b..998ff53d0072 100644
--- a/unotools/source/config/pathoptions.cxx
+++ b/unotools/source/config/pathoptions.cxx
@@ -112,6 +112,7 @@ class SvtPathOptions_Impl
const OUString& GetModulePath() { return GetPath( SvtPathOptions::PATH_MODULE ); }
const OUString& GetPalettePath() { return GetPath( SvtPathOptions::PATH_PALETTE ); }
const OUString& GetPluginPath() { return GetPath( SvtPathOptions::PATH_PLUGIN ); }
+ const OUString& GetStoragePath() { return GetPath( SvtPathOptions::PATH_STORAGE ); }
const OUString& GetTempPath() { return GetPath( SvtPathOptions::PATH_TEMP ); }
const OUString& GetTemplatePath() { return GetPath( SvtPathOptions::PATH_TEMPLATE ); }
const OUString& GetUserConfigPath() { return GetPath( SvtPathOptions::PATH_USERCONFIG ); }
@@ -139,6 +140,7 @@ class SvtPathOptions_Impl
void SetModulePath( const OUString& rPath ) { SetPath( SvtPathOptions::PATH_MODULE, rPath ); }
void SetPalettePath( const OUString& rPath ) { SetPath( SvtPathOptions::PATH_PALETTE, rPath ); }
void SetPluginPath( const OUString& rPath ) { SetPath( SvtPathOptions::PATH_PLUGIN, rPath ); }
+ void SetStoragePath( const OUString& rPath ) { SetPath( SvtPathOptions::PATH_STORAGE, rPath ); }
void SetTempPath( const OUString& rPath ) { SetPath( SvtPathOptions::PATH_TEMP, rPath ); }
void SetTemplatePath( const OUString& rPath ) { SetPath( SvtPathOptions::PATH_TEMPLATE, rPath ); }
void SetUserConfigPath( const OUString& rPath ) { SetPath( SvtPathOptions::PATH_USERCONFIG, rPath ); }
@@ -184,6 +186,7 @@ static const PropertyStruct aPropNames[] =
{ "Module", SvtPathOptions::PATH_MODULE },
{ "Palette", SvtPathOptions::PATH_PALETTE },
{ "Plugin", SvtPathOptions::PATH_PLUGIN },
+ { "Storage", SvtPathOptions::PATH_STORAGE },
{ "Temp", SvtPathOptions::PATH_TEMP },
{ "Template", SvtPathOptions::PATH_TEMPLATE },
{ "UserConfig", SvtPathOptions::PATH_USERCONFIG },
@@ -223,7 +226,8 @@ const OUString& SvtPathOptions_Impl::GetPath( SvtPathOptions::Paths ePath )
ePath == SvtPathOptions::PATH_FILTER ||
ePath == SvtPathOptions::PATH_HELP ||
ePath == SvtPathOptions::PATH_MODULE ||
- ePath == SvtPathOptions::PATH_PLUGIN
+ ePath == SvtPathOptions::PATH_PLUGIN ||
+ ePath == SvtPathOptions::PATH_STORAGE
)
{
// These office paths have to be converted to system pates
@@ -274,6 +278,7 @@ void SvtPathOptions_Impl::SetPath( SvtPathOptions::Paths ePath, const OUString&
case SvtPathOptions::PATH_HELP:
case SvtPathOptions::PATH_MODULE:
case SvtPathOptions::PATH_PLUGIN:
+ case SvtPathOptions::PATH_STORAGE:
{
// These office paths have to be convert back to UCB-URL's
osl::FileBase::getFileURLFromSystemPath( rNewPath, aResult );
@@ -545,6 +550,11 @@ const OUString& SvtPathOptions::GetPluginPath() const
return pImpl->GetPluginPath();
}
+const OUString& SvtPathOptions::GetStoragePath() const
+{
+ return pImpl->GetStoragePath();
+}
+
const OUString& SvtPathOptions::GetTempPath() const
{
return pImpl->GetTempPath();
@@ -655,6 +665,11 @@ void SvtPathOptions::SetPluginPath( const OUString& rPath )
pImpl->SetPluginPath( rPath );
}
+void SvtPathOptions::SetStoragePath( const OUString& rPath )
+{
+ pImpl->SetStoragePath( rPath );
+}
+
void SvtPathOptions::SetTempPath( const OUString& rPath )
{
pImpl->SetTempPath( rPath );
@@ -753,6 +768,7 @@ bool SvtPathOptions::SearchFile( OUString& rIniFile, Paths ePath )
case PATH_MODULE: aPath = GetModulePath(); break;
case PATH_PALETTE: aPath = GetPalettePath(); break;
case PATH_PLUGIN: aPath = GetPluginPath(); break;
+ case PATH_STORAGE: aPath = GetStoragePath(); break;
case PATH_TEMP: aPath = GetTempPath(); break;
case PATH_TEMPLATE: aPath = GetTemplatePath(); break;
case PATH_WORK: aPath = GetWorkPath(); break;