From f77857a5166e9dc730ab7bcec0b059f9c2e97a78 Mon Sep 17 00:00:00 2001 From: Henry Castro Date: Wed, 28 Feb 2024 15:59:40 -0400 Subject: svx: fix default locale language string MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1) Open a spreadsheet 2) Format a cell with a currency. Example USD $ English (USA) 3) Open the sidebar if it's not opened already 4) Click in the currency dropdown 5) Observe: there is $ (Default) Expected result: USD $ English (USA) Default Signed-off-by: Henry Castro Change-Id: Idf7f4174557e59cb6f5ffd65c25572322a5794ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164109 Tested-by: Jenkins CollaboraOffice Reviewed-by: Caolán McNamara Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164350 --- svx/source/tbxctrls/tbcontrl.cxx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index c359ab24088f..a034b466762f 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -4147,12 +4147,19 @@ void SvxCurrencyToolBoxControl::GetCurrencySymbols(std::vector& rList, { rCurrencyList.clear(); + static const OUStringLiteral aTwoSpace(u" "); const NfCurrencyTable& rCurrencyTable = SvNumberFormatter::GetTheCurrencyTable(); sal_uInt16 nCount = rCurrencyTable.size(); sal_uInt16 nStart = 1; - OUString aString( ApplyLreOrRleEmbedding( rCurrencyTable[0].GetSymbol() ) + " " ); + LanguageTag eLangTag = Application::GetSettings().GetLanguageTag(); + OUString aString(ApplyLreOrRleEmbedding(rCurrencyTable[0].GetBankSymbol())); + aString += aTwoSpace; + aString += ApplyLreOrRleEmbedding(rCurrencyTable[0].GetSymbol()); + aString += aTwoSpace; + aString += ApplyLreOrRleEmbedding(SvtLanguageTable::GetLanguageString(eLangTag.getLanguageType())); + aString += aTwoSpace; aString += ApplyLreOrRleEmbedding(SvtLanguageTable::GetLanguageString(rCurrencyTable[0].GetLanguage())); rList.push_back( aString ); @@ -4166,9 +4173,7 @@ void SvxCurrencyToolBoxControl::GetCurrencySymbols(std::vector& rList, } CollatorWrapper aCollator( ::comphelper::getProcessComponentContext() ); - aCollator.loadDefaultCollator( Application::GetSettings().GetLanguageTag().getLocale(), 0 ); - - static const OUStringLiteral aTwoSpace(u" "); + aCollator.loadDefaultCollator(eLangTag.getLocale(), 0); for( sal_uInt16 i = 1; i < nCount; ++i ) { -- cgit