chart2/uiconfig/ui/sidebargradients.ui | 4 +- include/svl/nfengine.hxx | 1 include/svl/zformat.hxx | 12 +++++-- svl/source/numbers/zforlist.cxx | 5 +++ svl/source/numbers/zformat.cxx | 50 +++++++++++++++++---------------- 5 files changed, 43 insertions(+), 29 deletions(-)
New commits: commit 60442b24426a7480e3d3f3569feb523f1058bd42 Author: Andras Timar <[email protected]> AuthorDate: Mon Nov 10 20:06:42 2025 +0100 Commit: Caolán McNamara <[email protected]> CommitDate: Sat Feb 28 17:22:15 2026 +0100 fix msgcntx Change-Id: I9d259f19bad363c7f5d3ed8f96127aa3ccdc6f13 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193763 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Andras Timar <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200678 Reviewed-by: Caolán McNamara <[email protected]> diff --git a/chart2/uiconfig/ui/sidebargradients.ui b/chart2/uiconfig/ui/sidebargradients.ui index 54bfb975ed45..e93b1db90fb5 100644 --- a/chart2/uiconfig/ui/sidebargradients.ui +++ b/chart2/uiconfig/ui/sidebargradients.ui @@ -27,7 +27,7 @@ <object class="GtkMenuToolButton" id=".uno:ChartGradientPalette"> <property name="visible">True</property> <property name="can-focus">False</property> - <property name="tooltip-text" translatable="yes" context="sidebarcellappearance|bordertype|tooltip_text">Allow to select a gradient palette to apply to current chart data series.</property> + <property name="tooltip-text" translatable="yes" context="sidebargradients|bordertype|tooltip_text">Allow to select a gradient palette to apply to current chart data series.</property> <property name="halign">start</property> <property name="valign">start</property> <property name="use-underline">True</property> @@ -39,7 +39,7 @@ </child> <child internal-child="accessible"> <object class="AtkObject" id="gradientpalettetype-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="sidebarcellappearance|cellbordertype-atkobject">Border Style</property> + <property name="AtkObject::accessible-name" translatable="yes" context="sidebargradients|cellbordertype-atkobject">Border Style</property> </object> </child> </object> commit 0d718c7e89586c74937a2549e252bc52dd4df57d Author: Caolán McNamara <[email protected]> AuthorDate: Mon Feb 16 21:36:22 2026 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Sat Feb 28 17:22:09 2026 +0100 tdf#167636 GetOutputString should be using the scanner from LanguageData and not the shared one, bubble that around more explicitly Change-Id: Iff6462dafd2baa75253ad9929f9cbf53a178e9b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199690 Reviewed-by: Michael Stahl <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200677 Reviewed-by: Caolán McNamara <[email protected]> diff --git a/include/svl/nfengine.hxx b/include/svl/nfengine.hxx index 8ddb9ec83bbf..93abcad5e23d 100644 --- a/include/svl/nfengine.hxx +++ b/include/svl/nfengine.hxx @@ -124,6 +124,7 @@ public: sal_uInt16 GetCurrencyFormatStrings(NfWSStringsDtor&, const NfCurrencyEntry&, bool bBank) const; void ChangeStandardPrec(short nPrec); + sal_uInt16 GetStandardPrec() const; sal_uInt16 ExpandTwoDigitYear(sal_uInt16 nYear) const; diff --git a/include/svl/zformat.hxx b/include/svl/zformat.hxx index 82aa5e845b09..6b112d284bba 100644 --- a/include/svl/zformat.hxx +++ b/include/svl/zformat.hxx @@ -611,13 +611,17 @@ private: // standard number output SVL_DLLPRIVATE void ImpGetOutputStandard(double& fNumber, OUString& OutString, - const NativeNumberWrapper& rNatNum) const; + const NativeNumberWrapper& rNatNum, + const SvNFLanguageData& rCurrentLang) const; SVL_DLLPRIVATE void ImpGetOutputStandard(double& fNumber, OUStringBuffer& OutString, - const NativeNumberWrapper& rNatNum) const; + const NativeNumberWrapper& rNatNum, + const SvNFLanguageData& rCurrentLang) const; SVL_DLLPRIVATE void ImpGetOutputStdToPrecision(double& rNumber, OUString& rOutString, sal_uInt16 nPrecision, - const NativeNumberWrapper& rNatNum) const; + const NativeNumberWrapper& rNatNum, + const SvNFLanguageData& rCurrentLang) const; // numbers in input line - SVL_DLLPRIVATE void ImpGetOutputInputLine( double fNumber, OUString& OutString ) const; + SVL_DLLPRIVATE void ImpGetOutputInputLine( double fNumber, OUString& OutString, + const SvNFLanguageData& rCurrentLang ) const; // check subcondition // OP undefined => -1 diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx index 2ae7abe17465..2537a718de97 100644 --- a/svl/source/numbers/zforlist.cxx +++ b/svl/source/numbers/zforlist.cxx @@ -509,6 +509,11 @@ void SvNFLanguageData::ChangeStandardPrec(short nPrec) pFormatScanner->ChangeStandardPrec(nPrec); } +sal_uInt16 SvNFLanguageData::GetStandardPrec() const +{ + return pFormatScanner->GetStandardPrec(); +} + const Date& SvNumberFormatter::GetNullDate() const { ::osl::MutexGuard aGuard( GetInstanceMutex() ); diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx index 89bd8eb9e56f..d61d9893f67e 100644 --- a/svl/source/numbers/zformat.cxx +++ b/svl/source/numbers/zformat.cxx @@ -2038,28 +2038,30 @@ OUString SvNumberformat::StripNewCurrencyDelimiters( const OUString& rStr ) } void SvNumberformat::ImpGetOutputStandard(double& fNumber, OUStringBuffer& rOutString, - const NativeNumberWrapper& rNatNum) const + const NativeNumberWrapper& rNatNum, + const SvNFLanguageData& rCurrentLang) const { OUString sTemp; - ImpGetOutputStandard(fNumber, sTemp, rNatNum); + ImpGetOutputStandard(fNumber, sTemp, rNatNum, rCurrentLang); rOutString = sTemp; } void SvNumberformat::ImpGetOutputStandard(double& fNumber, OUString& rOutString, - const NativeNumberWrapper& rNatNum) const + const NativeNumberWrapper& rNatNum, + const SvNFLanguageData& rCurrentLang) const { - sal_uInt16 nStandardPrec = rScan.GetStandardPrec(); + sal_uInt16 nStandardPrec = rCurrentLang.GetStandardPrec(); if ( fabs(fNumber) > EXP_ABS_UPPER_BOUND ) { nStandardPrec = ::std::min(nStandardPrec, static_cast<sal_uInt16>(14)); // limits to 14 decimals rOutString = ::rtl::math::doubleToUString( fNumber, rtl_math_StringFormat_E2, nStandardPrec /*2*/, - GetCurrentLanguageData().GetNumDecimalSep()[0]); + rCurrentLang.GetNumDecimalSep()[0]); } else { - ImpGetOutputStdToPrecision(fNumber, rOutString, nStandardPrec, rNatNum); + ImpGetOutputStdToPrecision(fNumber, rOutString, nStandardPrec, rNatNum, rCurrentLang); } } @@ -2116,7 +2118,8 @@ void impTransliterate(OUStringBuffer& rStr, const SvNumberNatNum& rNum, const Na } void SvNumberformat::ImpGetOutputStdToPrecision(double& rNumber, OUString& rOutString, sal_uInt16 nPrecision, - const NativeNumberWrapper& rNatNum) const + const NativeNumberWrapper& rNatNum, + const SvNFLanguageData& rCurrentLang) const { // Make sure the precision doesn't go over the maximum allowable precision. nPrecision = ::std::min(UPPER_PRECISION, nPrecision); @@ -2128,7 +2131,7 @@ void SvNumberformat::ImpGetOutputStdToPrecision(double& rNumber, OUString& rOutS rOutString = ::rtl::math::doubleToUString( rNumber, rtl_math_StringFormat_F, nPrecision /*2*/, - GetCurrentLanguageData().GetNumDecimalSep()[0], true ); + rCurrentLang.GetNumDecimalSep()[0], true ); if (rOutString[0] == '-' && checkForAll0s(rOutString, 1)) { rOutString = comphelper::string::stripStart(rOutString, '-'); // not -0 @@ -2136,7 +2139,8 @@ void SvNumberformat::ImpGetOutputStdToPrecision(double& rNumber, OUString& rOutS rOutString = ::impTransliterate(rOutString, NumFor[0].GetNatNum(), rNatNum); } -void SvNumberformat::ImpGetOutputInputLine(double fNumber, OUString& OutString) const +void SvNumberformat::ImpGetOutputInputLine(double fNumber, OUString& OutString, + const SvNFLanguageData& rCurrentLang) const { bool bModified = false; if ( (eType & SvNumFormatType::PERCENT) && (fabs(fNumber) < D_MAX_D_BY_100)) @@ -2159,7 +2163,7 @@ void SvNumberformat::ImpGetOutputInputLine(double fNumber, OUString& OutString) OutString = ::rtl::math::doubleToUString( fNumber, rtl_math_StringFormat_Automatic, rtl_math_DecimalPlaces_Max, - GetCurrentLanguageData().GetNumDecimalSep()[0], true ); + rCurrentLang.GetNumDecimalSep()[0], true ); if ( eType & SvNumFormatType::PERCENT && bModified) { @@ -2460,7 +2464,7 @@ bool SvNumberformat::GetOutputString(double fNumber, sal_uInt16 nCharCount, OUSt // Subtract the decimal point. --nPrec; } - ImpGetOutputStdToPrecision(fNumber, rOutString, nPrec, rNatNum); + ImpGetOutputStdToPrecision(fNumber, rOutString, nPrec, rNatNum, GetCurrentLanguageData()); if (rOutString.getLength() > nCharCount) { // String still wider than desired. Switch to scientific notation. @@ -2519,22 +2523,22 @@ bool SvNumberformat::GetOutputString(double fNumber, OUStringBuffer sBuff(64); if (eType & SvNumFormatType::TEXT) { - ImpGetOutputStandard(fNumber, sBuff, rNatNum); + ImpGetOutputStandard(fNumber, sBuff, rNatNum, rCurrentLang); OutString = sBuff.makeStringAndClear(); return false; } bool bHadStandard = false; if (bStandard) // Individual standard formats { - if (rScan.GetStandardPrec() == SvNumberFormatter::INPUTSTRING_PRECISION) // All number format InputLine + if (rCurrentLang.GetStandardPrec() == SvNumberFormatter::INPUTSTRING_PRECISION) // All number format InputLine { - ImpGetOutputInputLine(fNumber, OutString); + ImpGetOutputInputLine(fNumber, OutString, rCurrentLang); return false; } switch (eType) { case SvNumFormatType::NUMBER: // Standard number format - if (rScan.GetStandardPrec() == SvNumberFormatter::UNLIMITED_PRECISION) + if (rCurrentLang.GetStandardPrec() == SvNumberFormatter::UNLIMITED_PRECISION) { if (std::signbit(fNumber)) { @@ -2567,23 +2571,23 @@ bool SvNumberformat::GetOutputString(double fNumber, OutString = ::rtl::math::doubleToUString( fNumber, rtl_math_StringFormat_F, rtl_math_DecimalPlaces_Max, - GetCurrentLanguageData().GetNumDecimalSep()[0], true); + rCurrentLang.GetNumDecimalSep()[0], true); else OutString = ::rtl::math::doubleToUString( fNumber, rtl_math_StringFormat_E2, rtl_math_DecimalPlaces_Max, - GetCurrentLanguageData().GetNumDecimalSep()[0], true); + rCurrentLang.GetNumDecimalSep()[0], true); } else { OutString = ::rtl::math::doubleToUString( fNumber, rtl_math_StringFormat_Automatic, rtl_math_DecimalPlaces_Max, - GetCurrentLanguageData().GetNumDecimalSep()[0], true); + rCurrentLang.GetNumDecimalSep()[0], true); } return false; } - ImpGetOutputStandard(fNumber, sBuff, rNatNum); + ImpGetOutputStandard(fNumber, sBuff, rNatNum, rCurrentLang); bHadStandard = true; break; case SvNumFormatType::DATE: @@ -2619,7 +2623,7 @@ bool SvNumberformat::GetOutputString(double fNumber, } else if (nCnt == 0) // Else Standard Format { - ImpGetOutputStandard(fNumber, sBuff, rNatNum); + ImpGetOutputStandard(fNumber, sBuff, rNatNum, rCurrentLang); OutString = sBuff.makeStringAndClear(); return false; } @@ -4619,7 +4623,7 @@ bool SvNumberformat::ImpDecimalFill(const NativeNumberWrapper& rNatNum, case NF_KEY_GENERAL: // Standard in the String { OUStringBuffer sNum; - ImpGetOutputStandard(rNumber, sNum, rNatNum); + ImpGetOutputStandard(rNumber, sNum, rNatNum, GetCurrentLanguageData()); sNum.stripStart('-'); sStr.insert(k, sNum); break; @@ -4787,7 +4791,7 @@ bool SvNumberformat::ImpNumberFillWithThousands( const NativeNumberWrapper& rNat case NF_KEY_GENERAL: // "General" in string { OUStringBuffer sNum; - ImpGetOutputStandard(rNumber, sNum, rNatNum); + ImpGetOutputStandard(rNumber, sNum, rNatNum, GetCurrentLanguageData()); sNum.stripStart('-'); sBuff.insert(k, sNum); break; @@ -4925,7 +4929,7 @@ bool SvNumberformat::ImpNumberFill( const NativeNumberWrapper& rNatNum, { OUStringBuffer sNum; bFoundNumber = true; - ImpGetOutputStandard(rNumber, sNum, rNatNum); + ImpGetOutputStandard(rNumber, sNum, rNatNum, GetCurrentLanguageData()); sNum.stripStart('-'); sBuff.insert(k, sNum); }
