From 14cfff500e93f0d6cbf8412065feea85c01ea81d Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Mon, 19 Jul 2021 13:18:49 +0200 Subject: Pass context and resource string down to boost::locale separately because this is often on a hot path, and we can avoid the splitting and joining of strings like this. Change-Id: Ia36047209368ca53431178c2e8723a18cfe8260a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119220 Tested-by: Jenkins Reviewed-by: Noel Grandin --- scaddins/source/pricing/pricing.cxx | 4 ++-- scaddins/source/pricing/pricing.hxx | 17 +++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) (limited to 'scaddins/source/pricing') diff --git a/scaddins/source/pricing/pricing.cxx b/scaddins/source/pricing/pricing.cxx index cc7c713fc7f0..83cacff87fc8 100644 --- a/scaddins/source/pricing/pricing.cxx +++ b/scaddins/source/pricing/pricing.cxx @@ -134,7 +134,7 @@ void ScaPricingAddIn::InitData() pDefLocales.reset(); } -OUString ScaPricingAddIn::GetFuncDescrStr(const char** pResId, sal_uInt16 nStrIndex) +OUString ScaPricingAddIn::GetFuncDescrStr(const TranslateId* pResId, sal_uInt16 nStrIndex) { return ScaResId(pResId[nStrIndex - 1]); } @@ -500,7 +500,7 @@ double SAL_CALL ScaPricingAddIn::getOptProbInMoney( double spot, double vol, RETURN_FINITE( fRet ); } -OUString ScaPricingAddIn::ScaResId(std::string_view aResId) +OUString ScaPricingAddIn::ScaResId(TranslateId aResId) { return Translate::get(aResId, aResLocale); } diff --git a/scaddins/source/pricing/pricing.hxx b/scaddins/source/pricing/pricing.hxx index 42f23dcc81a6..ee362a3b3df3 100644 --- a/scaddins/source/pricing/pricing.hxx +++ b/scaddins/source/pricing/pricing.hxx @@ -35,6 +35,7 @@ #include #include #include +#include namespace com::sun::star::lang { class XMultiServiceFactory; } @@ -56,8 +57,8 @@ enum class ScaCategory struct ScaFuncDataBase { const char* pIntName; // internal name (get***) - const char* pUINameID; // resource ID to UI name - const char** pDescrID; // resource ID to description, parameter names and ~ description + TranslateId pUINameID; // resource ID to UI name + const TranslateId* pDescrID; // resource ID to description, parameter names and ~ description // pCompName was originally meant to be able to load Excel documents that for // some time were stored with localized function names. // This is not relevant to this add-in, so we only supply the same @@ -74,8 +75,8 @@ class ScaFuncData final { private: OUString aIntName; // internal name (get***) - const char* pUINameID; // resource ID to UI name - const char** pDescrID; // leads also to parameter descriptions! + TranslateId pUINameID; // resource ID to UI name + const TranslateId* pDescrID; // leads also to parameter descriptions! sal_uInt16 nParamCount; // num of parameters std::vector aCompList; // list of all valid names ScaCategory eCat; // function category @@ -85,8 +86,8 @@ private: public: ScaFuncData(const ScaFuncDataBase& rBaseData); - const char* GetUINameID() const { return pUINameID; } - const char** GetDescrID() const { return pDescrID; } + const TranslateId& GetUINameID() const { return pUINameID; } + const TranslateId* GetDescrID() const { return pDescrID; } ScaCategory GetCategory() const { return eCat; } bool IsDouble() const { return bDouble; } @@ -134,13 +135,13 @@ private: void InitData(); /// @throws css::uno::RuntimeException - OUString GetFuncDescrStr(const char** pResId, sal_uInt16 nStrIndex); + OUString GetFuncDescrStr(const TranslateId* pResId, sal_uInt16 nStrIndex); public: ScaPricingAddIn(); virtual ~ScaPricingAddIn() override; - OUString ScaResId(std::string_view aResId); + OUString ScaResId(TranslateId aResId); // XAddIn virtual OUString SAL_CALL getProgrammaticFuntionName( const OUString& aDisplayName ) override; -- cgit