Kaydet (Commit) 2defeda9 authored tarafından Tomaž Vajngerl's avatar Tomaž Vajngerl

Numeric fileds: round to the nearest spin value on spin up/down

Change-Id: I8660ae764c7dd51b8d780929effe895243e4fc4c
üst 751e238c
...@@ -724,7 +724,12 @@ void NumericFormatter::Reformat() ...@@ -724,7 +724,12 @@ void NumericFormatter::Reformat()
void NumericFormatter::FieldUp() void NumericFormatter::FieldUp()
{ {
sal_Int64 nValue = GetValue(); sal_Int64 nValue = GetValue();
nValue += mnSpinSize; sal_Int64 nRemainder = nValue % mnSpinSize;
if (nValue >= 0)
nValue = (nRemainder == 0) ? nValue + mnSpinSize : nValue + mnSpinSize - nRemainder;
else
nValue = (nRemainder == 0) ? nValue + mnSpinSize : nValue - nRemainder;
if ( nValue > mnMax ) if ( nValue > mnMax )
nValue = mnMax; nValue = mnMax;
...@@ -736,7 +741,12 @@ void NumericFormatter::FieldUp() ...@@ -736,7 +741,12 @@ void NumericFormatter::FieldUp()
void NumericFormatter::FieldDown() void NumericFormatter::FieldDown()
{ {
sal_Int64 nValue = GetValue(); sal_Int64 nValue = GetValue();
nValue -= mnSpinSize; sal_Int64 nRemainder = nValue % mnSpinSize;
if (nValue >= 0)
nValue = (nRemainder == 0) ? nValue - mnSpinSize : nValue - nRemainder;
else
nValue = (nRemainder == 0) ? nValue - mnSpinSize : nValue - mnSpinSize - nRemainder;
if ( nValue < mnMin ) if ( nValue < mnMin )
nValue = mnMin; nValue = mnMin;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment