[Libreoffice-commits] core.git: svx/source
Caolán McNamara
caolanm at redhat.com
Tue Jul 1 05:31:15 PDT 2014
svx/source/fmcomp/gridcell.cxx | 7 +++++++
1 file changed, 7 insertions(+)
New commits:
commit 63885c86f866411f01f1b6fceaa07f054a5a3550
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Jul 1 13:29:03 2014 +0100
Resolves: fdo#42747 limits need to multiplied by num of decimal places
NumericFormatter limits need to multiplied by num of decimal places because
the arg is a long so to retain decimal places its got to be raised up by
the num of places
Change-Id: Idbc49a9b1dde5fe176e5170d3be605a998050da5
diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index 79d55a5..7ac32ba 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -2085,6 +2085,13 @@ void DbCurrencyField::implAdjustGenericFieldSetting( const Reference< XPropertyS
bool bThousand = getBOOL( _rxModel->getPropertyValue( FM_PROP_SHOWTHOUSANDSEP ) );
OUString aStr( getString( _rxModel->getPropertyValue(FM_PROP_CURRENCYSYMBOL ) ) );
+ //fdo#42747 the min/max/first/last of vcl NumericFormatters needs to be
+ //multiplied by the no of decimal places. See also
+ //VclBuilder::mungeAdjustment
+ int nMul = rtl_math_pow10Exp(1, m_nScale);
+ nMin *= nMul;
+ nMax *= nMul;
+
static_cast< LongCurrencyField* >( m_pWindow )->SetUseThousandSep( bThousand );
static_cast< LongCurrencyField* >( m_pWindow )->SetDecimalDigits( m_nScale );
static_cast< LongCurrencyField* >( m_pWindow )->SetCurrencySymbol( aStr );
More information about the Libreoffice-commits
mailing list