[ooo-build-commit] .: vcl/inc vcl/source
Cédric Bosdonnat
cbosdo at kemper.freedesktop.org
Tue Sep 14 06:38:56 PDT 2010
vcl/inc/vcl/field.hxx | 4 +++-
vcl/source/control/field.cxx | 15 +++++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
New commits:
commit 202340c5a166188adf961168816966136d907b5a
Author: Cédric Bosdonnat <cedricbosdo at openoffice.org>
Date: Tue Sep 14 15:33:59 2010 +0200
metric-field-limits.diff: maximum values were wrong when changing unit
diff --git a/vcl/inc/vcl/field.hxx b/vcl/inc/vcl/field.hxx
index 0b2a49d..ceed224 100644
--- a/vcl/inc/vcl/field.hxx
+++ b/vcl/inc/vcl/field.hxx
@@ -255,7 +255,7 @@ public:
virtual void CustomConvert() = 0;
virtual void Reformat();
- void SetUnit( FieldUnit meUnit );
+ virtual void SetUnit( FieldUnit meUnit );
FieldUnit GetUnit() const { return meUnit; }
void SetCustomUnitText( const XubString& rStr );
const XubString& GetCustomUnitText() const { return maCustomUnitText; }
@@ -569,6 +569,8 @@ public:
virtual void Last();
virtual void CustomConvert();
+ virtual void SetUnit( FieldUnit meUnit );
+
void SetFirst( sal_Int64 nNewFirst, FieldUnit eInUnit );
inline void SetFirst(sal_Int64 first) { SetFirst(first, FUNIT_NONE); }
sal_Int64 GetFirst( FieldUnit eOutUnit ) const;
diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx
index 88be56a..dff681f 100644
--- a/vcl/source/control/field.cxx
+++ b/vcl/source/control/field.cxx
@@ -1747,6 +1747,21 @@ MetricField::~MetricField()
{
}
+void MetricField::SetUnit( FieldUnit nNewUnit )
+{
+ sal_Int64 nMax = Denormalize( GetMax( nNewUnit ) );
+ sal_Int64 nMin = Denormalize( GetMin( nNewUnit ) );
+ sal_Int64 nFirst = Denormalize( GetFirst( nNewUnit ) );
+ sal_Int64 nLast = Denormalize( GetLast( nNewUnit ) );
+
+ MetricFormatter::SetUnit( nNewUnit );
+
+ SetMax( Normalize( nMax ), nNewUnit );
+ SetMin( Normalize( nMin ), nNewUnit );
+ SetFirst( Normalize( nFirst ), nNewUnit );
+ SetLast( Normalize( nLast ), nNewUnit );
+}
+
// -----------------------------------------------------------------------
void MetricField::SetFirst( sal_Int64 nNewFirst, FieldUnit eInUnit )
More information about the ooo-build-commit
mailing list