summaryrefslogtreecommitdiff
path: root/formula/source/ui/resource/ModuleHelper.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'formula/source/ui/resource/ModuleHelper.cxx')
-rw-r--r--formula/source/ui/resource/ModuleHelper.cxx25
1 files changed, 14 insertions, 11 deletions
diff --git a/formula/source/ui/resource/ModuleHelper.cxx b/formula/source/ui/resource/ModuleHelper.cxx
index febf61729092..80636792aa14 100644
--- a/formula/source/ui/resource/ModuleHelper.cxx
+++ b/formula/source/ui/resource/ModuleHelper.cxx
@@ -26,6 +26,8 @@
#include <rtl/instance.hxx>
#include <rtl/uri.hxx>
#include <svl/solar.hrc>
+#include <vcl/settings.hxx>
+#include <vcl/svapp.hxx>
#define ENTER_MOD_METHOD() \
::osl::MutexGuard aGuard(theOModuleMutex::get()); \
@@ -43,34 +45,32 @@ namespace formula
*/
class OModuleImpl
{
- std::unique_ptr<ResMgr> m_pResources;
+ std::unique_ptr<std::locale> m_xResources;
public:
/// ctor
OModuleImpl();
/// get the manager for the resources of the module
- ResMgr* getResManager();
+ const std::locale& getResLocale();
};
OModuleImpl::OModuleImpl()
{
}
-
-ResMgr* OModuleImpl::getResManager()
+const std::locale& OModuleImpl::getResLocale()
{
// note that this method is not threadsafe, which counts for the whole class !
- if (!m_pResources)
+ if (!m_xResources)
{
// create a manager with a fixed prefix
- m_pResources.reset( ResMgr::CreateResMgr("forui") );
+ m_xResources.reset(new std::locale(Translate::Create("for", Application::GetSettings().GetUILanguageTag())));
}
- return m_pResources.get();
+ return *m_xResources;
}
-
//= OModule
namespace
@@ -81,13 +81,12 @@ namespace
sal_Int32 OModule::s_nClients = 0;
OModuleImpl* OModule::s_pImpl = nullptr;
-ResMgr* OModule::getResManager()
+const std::locale& OModule::getResLocale()
{
ENTER_MOD_METHOD();
- return s_pImpl->getResManager();
+ return s_pImpl->getResLocale();
}
-
void OModule::registerClient()
{
::osl::MutexGuard aGuard(theOModuleMutex::get());
@@ -113,6 +112,10 @@ void OModule::ensureImpl()
s_pImpl = new OModuleImpl();
}
+OUString ModuleRes(const char *pId)
+{
+ return Translate::get(pId, OModule::getResLocale());
+};
} // namespace formula