diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-04-24 16:27:17 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-05-15 10:13:41 +0200 |
commit | 8e1ad80835ee3365a12346f7be9e7ef8f76ef3d9 (patch) | |
tree | 15ae1e31ceded5977ba0e837a9262473f4f87d2a /reportdesign | |
parent | 817aeb946b55d8369d150488138e0c8bed7ff3b3 (diff) |
tdf#117161 ReportBuilder horizontal align wrong when editing
regression from
commit 5d0e485e827057eee9fb2c997685690b710e7f34
use actual UNO enums in reportdesign..svtools
Also make some of the "template<> set" property helpers only fire on
actual property change
Reviewed-on: https://gerrit.libreoffice.org/53412
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit b4ba8dc9ef1635c75b363838b6016d3851387020)
Change-Id: I930fd255d287c3c7e5b064823fd1e8d4b665eae0
Reviewed-on: https://gerrit.libreoffice.org/53495
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 151e7be164774da3251ee06be872cc85a1a9dfb7)
Diffstat (limited to 'reportdesign')
-rw-r--r-- | reportdesign/source/core/inc/FixedText.hxx | 16 | ||||
-rw-r--r-- | reportdesign/source/core/inc/FormatCondition.hxx | 30 | ||||
-rw-r--r-- | reportdesign/source/core/inc/FormattedField.hxx | 16 | ||||
-rw-r--r-- | reportdesign/source/core/inc/ReportHelperImpl.hxx | 2 | ||||
-rw-r--r-- | reportdesign/source/core/inc/Shape.hxx | 30 |
5 files changed, 85 insertions, 9 deletions
diff --git a/reportdesign/source/core/inc/FixedText.hxx b/reportdesign/source/core/inc/FixedText.hxx index ff95757fcee9..e3d8082bf6aa 100644 --- a/reportdesign/source/core/inc/FixedText.hxx +++ b/reportdesign/source/core/inc/FixedText.hxx @@ -50,6 +50,22 @@ namespace reportdesign OFixedText(const OFixedText&) = delete; OFixedText& operator=(const OFixedText&) = delete; + // internally, we store PROPERTY_PARAADJUST as css::style::ParagraphAdjust, but externally the property is visible as a sal_Int16 + void set( const OUString& _sProperty + ,sal_Int16 Value + ,css::style::ParagraphAdjust& _member) + { + BoundListeners l; + { + ::osl::MutexGuard aGuard(m_aMutex); + if ( static_cast<sal_Int16>(_member) != Value ) + { + prepareSet(_sProperty, css::uno::makeAny(static_cast<sal_Int16>(_member)), css::uno::makeAny(Value), &l); + _member = static_cast<css::style::ParagraphAdjust>(Value); + } + } + l.notify(); + } template <typename T> void set( const OUString& _sProperty ,const T& Value ,T& _member) diff --git a/reportdesign/source/core/inc/FormatCondition.hxx b/reportdesign/source/core/inc/FormatCondition.hxx index ab460f030d88..b4865e76b1af 100644 --- a/reportdesign/source/core/inc/FormatCondition.hxx +++ b/reportdesign/source/core/inc/FormatCondition.hxx @@ -48,6 +48,22 @@ namespace reportdesign OFormatCondition(const OFormatCondition&) = delete; OFormatCondition& operator=(const OFormatCondition&) = delete; + // internally, we store PROPERTY_PARAADJUST as css::style::ParagraphAdjust, but externally the property is visible as a sal_Int16 + void set( const OUString& _sProperty + ,sal_Int16 Value + ,css::style::ParagraphAdjust& _member) + { + BoundListeners l; + { + ::osl::MutexGuard aGuard(m_aMutex); + if ( static_cast<sal_Int16>(_member) != Value ) + { + prepareSet(_sProperty, css::uno::makeAny(static_cast<sal_Int16>(_member)), css::uno::makeAny(Value), &l); + _member = static_cast<css::style::ParagraphAdjust>(Value); + } + } + l.notify(); + } template <typename T> void set( const OUString& _sProperty ,const T& Value ,T& _member) @@ -55,8 +71,11 @@ namespace reportdesign BoundListeners l; { ::osl::MutexGuard aGuard(m_aMutex); - prepareSet(_sProperty, css::uno::makeAny(_member), css::uno::makeAny(Value), &l); - _member = Value; + if ( _member != Value ) + { + prepareSet(_sProperty, css::uno::makeAny(_member), css::uno::makeAny(Value), &l); + _member = Value; + } } l.notify(); } @@ -67,8 +86,11 @@ namespace reportdesign BoundListeners l; { ::osl::MutexGuard aGuard(m_aMutex); - prepareSet(_sProperty, css::uno::makeAny(_member), css::uno::makeAny(Value), &l); - _member = Value; + if ( _member != Value ) + { + prepareSet(_sProperty, css::uno::makeAny(_member), css::uno::makeAny(Value), &l); + _member = Value; + } } l.notify(); } diff --git a/reportdesign/source/core/inc/FormattedField.hxx b/reportdesign/source/core/inc/FormattedField.hxx index 6ffe6f7a2e2c..0da3686effca 100644 --- a/reportdesign/source/core/inc/FormattedField.hxx +++ b/reportdesign/source/core/inc/FormattedField.hxx @@ -53,6 +53,22 @@ namespace reportdesign OFormattedField(const OFormattedField&) = delete; OFormattedField& operator=(const OFormattedField&) = delete; + // internally, we store PROPERTY_PARAADJUST as css::style::ParagraphAdjust, but externally the property is visible as a sal_Int16 + void set( const OUString& _sProperty + ,sal_Int16 Value + ,css::style::ParagraphAdjust& _member) + { + BoundListeners l; + { + ::osl::MutexGuard aGuard(m_aMutex); + if ( static_cast<sal_Int16>(_member) != Value ) + { + prepareSet(_sProperty, css::uno::makeAny(static_cast<sal_Int16>(_member)), css::uno::makeAny(Value), &l); + _member = static_cast<css::style::ParagraphAdjust>(Value); + } + } + l.notify(); + } template <typename T> void set( const OUString& _sProperty ,const T& Value ,T& _member) diff --git a/reportdesign/source/core/inc/ReportHelperImpl.hxx b/reportdesign/source/core/inc/ReportHelperImpl.hxx index 67d59ba2703a..881e87a18b99 100644 --- a/reportdesign/source/core/inc/ReportHelperImpl.hxx +++ b/reportdesign/source/core/inc/ReportHelperImpl.hxx @@ -231,7 +231,7 @@ sal_Int16 SAL_CALL clazz::getParaAdjust() \ \ void SAL_CALL clazz::setParaAdjust( sal_Int16 _align ) \ { \ - set(PROPERTY_PARAADJUST,(css::style::ParagraphAdjust)_align,varName.nAlign); \ + set(PROPERTY_PARAADJUST,_align,varName.nAlign); \ } \ \ awt::FontDescriptor SAL_CALL clazz::getFontDescriptor() \ diff --git a/reportdesign/source/core/inc/Shape.hxx b/reportdesign/source/core/inc/Shape.hxx index ae28b48d2060..1ea0b4f2bec5 100644 --- a/reportdesign/source/core/inc/Shape.hxx +++ b/reportdesign/source/core/inc/Shape.hxx @@ -59,6 +59,22 @@ namespace reportdesign OShape(const OShape&) = delete; OShape& operator=(const OShape&) = delete; + // internally, we store PROPERTY_PARAADJUST as css::style::ParagraphAdjust, but externally the property is visible as a sal_Int16 + void set( const OUString& _sProperty + ,sal_Int16 Value + ,css::style::ParagraphAdjust& _member) + { + BoundListeners l; + { + ::osl::MutexGuard aGuard(m_aMutex); + if ( static_cast<sal_Int16>(_member) != Value ) + { + prepareSet(_sProperty, css::uno::makeAny(static_cast<sal_Int16>(_member)), css::uno::makeAny(Value), &l); + _member = static_cast<css::style::ParagraphAdjust>(Value); + } + } + l.notify(); + } template <typename T> void set( const OUString& _sProperty ,const T& Value ,T& _member) @@ -66,8 +82,11 @@ namespace reportdesign BoundListeners l; { ::osl::MutexGuard aGuard(m_aMutex); - prepareSet(_sProperty, css::uno::makeAny(_member), css::uno::makeAny(Value), &l); - _member = Value; + if ( _member != Value ) + { + prepareSet(_sProperty, css::uno::makeAny(_member), css::uno::makeAny(Value), &l); + _member = Value; + } } l.notify(); } @@ -78,8 +97,11 @@ namespace reportdesign BoundListeners l; { ::osl::MutexGuard aGuard(m_aMutex); - prepareSet(_sProperty, css::uno::makeAny(_member), css::uno::makeAny(Value), &l); - _member = Value; + if ( _member != Value ) + { + prepareSet(_sProperty, css::uno::makeAny(_member), css::uno::makeAny(Value), &l); + _member = Value; + } } l.notify(); } |