summaryrefslogtreecommitdiff
path: root/framework/source/accelerators/presethandler.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'framework/source/accelerators/presethandler.cxx')
-rw-r--r--framework/source/accelerators/presethandler.cxx66
1 files changed, 32 insertions, 34 deletions
diff --git a/framework/source/accelerators/presethandler.cxx b/framework/source/accelerators/presethandler.cxx
index bce2e3861499..f1879af97f70 100644
--- a/framework/source/accelerators/presethandler.cxx
+++ b/framework/source/accelerators/presethandler.cxx
@@ -30,6 +30,7 @@
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <com/sun/star/util/thePathSettings.hpp>
+#include <utility>
#include <vcl/svapp.hxx>
#include <cppuhelper/exc_hlp.hxx>
#include <rtl/ustrbuf.hxx>
@@ -57,8 +58,6 @@ struct TSharedStorages final
StorageHolder m_lStoragesUser;
TSharedStorages()
- : m_lStoragesShare()
- , m_lStoragesUser ()
{};
};
@@ -66,14 +65,17 @@ struct TSharedStorages final
a) shared root storages
b) shared "inbetween" storages
of the share and user layer. */
-struct SharedStorages: public rtl::Static<TSharedStorages, SharedStorages> {};
+TSharedStorages& SharedStorages()
+{
+ static TSharedStorages theStorages;
+ return theStorages;
+}
}
-PresetHandler::PresetHandler(const css::uno::Reference< css::uno::XComponentContext >& xContext)
- : m_xContext(xContext)
+PresetHandler::PresetHandler(css::uno::Reference< css::uno::XComponentContext > xContext)
+ : m_xContext(std::move(xContext))
, m_eConfigType(E_GLOBAL)
- , m_lDocumentStorages()
{
}
@@ -105,7 +107,7 @@ PresetHandler::~PresetHandler()
Otherwise we will disconnect all other open configuration access
objects which base on these storages.
*/
- auto & sharedStorages = SharedStorages::get();
+ auto & sharedStorages = SharedStorages();
sharedStorages.m_lStoragesShare.closePath(m_sRelPathShare);
sharedStorages.m_lStoragesUser.closePath (m_sRelPathUser );
@@ -171,7 +173,7 @@ void lcl_throwCorruptedUIConfigurationException(
css::uno::Reference< css::embed::XStorage > PresetHandler::getOrCreateRootStorageShare()
{
- auto & sharedStorages = SharedStorages::get();
+ auto & sharedStorages = SharedStorages();
css::uno::Reference< css::embed::XStorage > xRoot = sharedStorages.m_lStoragesShare.getRootStorage();
if (xRoot.is())
return xRoot;
@@ -204,9 +206,10 @@ css::uno::Reference< css::embed::XStorage > PresetHandler::getOrCreateRootStorag
// based of a system directory. This must be used so, till the storage implementation
// can work on directories too.
*/
- css::uno::Sequence< css::uno::Any > lArgs(2);
- lArgs[0] <<= sShareLayer;
- lArgs[1] <<= css::embed::ElementModes::READ | css::embed::ElementModes::NOCREATE;
+ css::uno::Sequence< css::uno::Any > lArgs{
+ css::uno::Any(sShareLayer),
+ css::uno::Any(css::embed::ElementModes::READ | css::embed::ElementModes::NOCREATE)
+ };
css::uno::Reference< css::lang::XSingleServiceFactory > xStorageFactory = css::embed::FileSystemStorageFactory::create( xContext );
css::uno::Reference< css::embed::XStorage > xStorage;
@@ -229,7 +232,7 @@ css::uno::Reference< css::embed::XStorage > PresetHandler::getOrCreateRootStorag
css::uno::Reference< css::embed::XStorage > PresetHandler::getOrCreateRootStorageUser()
{
- auto & sharedStorages = SharedStorages::get();
+ auto & sharedStorages = SharedStorages();
css::uno::Reference< css::embed::XStorage > xRoot = sharedStorages.m_lStoragesUser.getRootStorage();
if (xRoot.is())
return xRoot;
@@ -252,9 +255,8 @@ css::uno::Reference< css::embed::XStorage > PresetHandler::getOrCreateRootStorag
sUserLayer += "soffice.cfg"; // storage file
- css::uno::Sequence< css::uno::Any > lArgs(2);
- lArgs[0] <<= sUserLayer;
- lArgs[1] <<= css::embed::ElementModes::READWRITE;
+ css::uno::Sequence< css::uno::Any > lArgs{ css::uno::Any(sUserLayer),
+ css::uno::Any(css::embed::ElementModes::READWRITE) };
css::uno::Reference< css::lang::XSingleServiceFactory > xStorageFactory = css::embed::FileSystemStorageFactory::create( xContext );
css::uno::Reference< css::embed::XStorage > xStorage;
@@ -289,7 +291,7 @@ css::uno::Reference< css::embed::XStorage > PresetHandler::getParentStorageShare
xWorking = m_xWorkingStorageShare;
}
- return SharedStorages::get().m_lStoragesShare.getParentStorage(xWorking);
+ return SharedStorages().m_lStoragesShare.getParentStorage(xWorking);
}
css::uno::Reference< css::embed::XStorage > PresetHandler::getParentStorageUser()
@@ -300,12 +302,12 @@ css::uno::Reference< css::embed::XStorage > PresetHandler::getParentStorageUser(
xWorking = m_xWorkingStorageUser;
}
- return SharedStorages::get().m_lStoragesUser.getParentStorage(xWorking);
+ return SharedStorages().m_lStoragesUser.getParentStorage(xWorking);
}
void PresetHandler::connectToResource( PresetHandler::EConfigType eConfigType ,
- const OUString& sResource ,
- const OUString& sModule ,
+ std::u16string_view sResource ,
+ std::u16string_view sModule ,
const css::uno::Reference< css::embed::XStorage >& xDocumentRoot,
const LanguageTag& rLanguageTag )
{
@@ -355,10 +357,7 @@ void PresetHandler::connectToResource( PresetHandler::EConfigType
{
case E_GLOBAL :
{
- sRelPathBuf.append("global");
- sRelPathBuf.append("/");
- sRelPathBuf.append(sResource);
- sRelPathShare = sRelPathBuf.makeStringAndClear();
+ sRelPathShare = OUString::Concat("global/") + sResource;
sRelPathUser = sRelPathShare;
xShare = impl_openPathIgnoringErrors(sRelPathShare, eShareMode, true );
@@ -368,12 +367,7 @@ void PresetHandler::connectToResource( PresetHandler::EConfigType
case E_MODULES :
{
- sRelPathBuf.append("modules");
- sRelPathBuf.append("/");
- sRelPathBuf.append(sModule);
- sRelPathBuf.append("/");
- sRelPathBuf.append(sResource);
- sRelPathShare = sRelPathBuf.makeStringAndClear();
+ sRelPathShare = OUString::Concat("modules/") + sModule + "/" + sResource;
sRelPathUser = sRelPathShare;
xShare = impl_openPathIgnoringErrors(sRelPathShare, eShareMode, true );
@@ -548,7 +542,7 @@ void PresetHandler::commitUserChanges()
case E_GLOBAL :
case E_MODULES :
{
- auto & sharedStorages = SharedStorages::get();
+ auto & sharedStorages = SharedStorages();
sPath = sharedStorages.m_lStoragesUser.getPathOfStorage(xWorking);
sharedStorages.m_lStoragesUser.commitPath(sPath);
sharedStorages.m_lStoragesUser.notifyPath(sPath);
@@ -583,7 +577,7 @@ void PresetHandler::addStorageListener(XMLBasedAcceleratorConfiguration* pListen
case E_GLOBAL :
case E_MODULES :
{
- SharedStorages::get().m_lStoragesUser.addStorageListener(pListener, sRelPath);
+ SharedStorages().m_lStoragesUser.addStorageListener(pListener, sRelPath);
}
break;
@@ -613,7 +607,7 @@ void PresetHandler::removeStorageListener(XMLBasedAcceleratorConfiguration* pLis
case E_GLOBAL :
case E_MODULES :
{
- SharedStorages::get().m_lStoragesUser.removeStorageListener(pListener, sRelPath);
+ SharedStorages().m_lStoragesUser.removeStorageListener(pListener, sRelPath);
}
break;
@@ -625,6 +619,7 @@ void PresetHandler::removeStorageListener(XMLBasedAcceleratorConfiguration* pLis
}
}
+// static
css::uno::Reference< css::embed::XStorage > PresetHandler::impl_openPathIgnoringErrors(const OUString& sPath ,
sal_Int32 eMode ,
bool bShare)
@@ -633,9 +628,9 @@ css::uno::Reference< css::embed::XStorage > PresetHandler::impl_openPathIgnoring
try
{
if (bShare)
- xPath = SharedStorages::get().m_lStoragesShare.openPath(sPath, eMode);
+ xPath = SharedStorages().m_lStoragesShare.openPath(sPath, eMode);
else
- xPath = SharedStorages::get().m_lStoragesUser.openPath(sPath, eMode);
+ xPath = SharedStorages().m_lStoragesUser.openPath(sPath, eMode);
}
catch(const css::uno::RuntimeException&)
{ throw; }
@@ -644,6 +639,7 @@ css::uno::Reference< css::embed::XStorage > PresetHandler::impl_openPathIgnoring
return xPath;
}
+// static
::std::vector< OUString >::const_iterator PresetHandler::impl_findMatchingLocalizedValue(
const ::std::vector< OUString >& lLocalizedValues,
OUString& rLanguageTag,
@@ -668,6 +664,7 @@ css::uno::Reference< css::embed::XStorage > PresetHandler::impl_openPathIgnoring
return pFound;
}
+// static
css::uno::Reference< css::embed::XStorage > PresetHandler::impl_openLocalizedPathIgnoringErrors(
OUString& sPath ,
sal_Int32 eMode ,
@@ -705,6 +702,7 @@ css::uno::Reference< css::embed::XStorage > PresetHandler::impl_openLocalizedPat
return xLocalePath;
}
+// static
::std::vector< OUString > PresetHandler::impl_getSubFolderNames(const css::uno::Reference< css::embed::XStorage >& xFolder)
{
if (!xFolder.is())