diff options
Diffstat (limited to 'formula/source/ui/resource/ModuleHelper.cxx')
-rw-r--r-- | formula/source/ui/resource/ModuleHelper.cxx | 25 |
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 |