diff options
author | Jan Arve Saether <jan-arve.saether@digia.com> | 2013-09-02 10:10:56 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-10 16:22:18 +0200 |
commit | cc061a7c5c14068e6b8dca02955047fd72fba1bc (patch) | |
tree | fadaaed8d99c60b09035a8717b55808f2acf57e0 /src/layouts | |
parent | 7f4de9b5bbe9209fb237d795d4adf5d8a1d942a3 (diff) |
Make sure rowSpan, columnSpan and alignment changes are emitted
...and reacted upon properly.
Change-Id: I54f23f0edd41abeb6403eb754a23561b3814a509
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Diffstat (limited to 'src/layouts')
-rw-r--r-- | src/layouts/qquicklayout.cpp | 24 | ||||
-rw-r--r-- | src/layouts/qquicklayout_p.h | 15 |
2 files changed, 33 insertions, 6 deletions
diff --git a/src/layouts/qquicklayout.cpp b/src/layouts/qquicklayout.cpp index 98f4b1b77..3050cd760 100644 --- a/src/layouts/qquicklayout.cpp +++ b/src/layouts/qquicklayout.cpp @@ -410,6 +410,14 @@ void QQuickLayoutAttached::setColumn(int column) The default value is \c 0, which means it will be \c{Qt.AlignVCenter | Qt.AlignLeft} */ +void QQuickLayoutAttached::setAlignment(Qt::Alignment align) +{ + if (align != m_alignment) { + m_alignment = align; + invalidateItem(); + emit alignmentChanged(); + } +} /*! @@ -422,6 +430,14 @@ void QQuickLayoutAttached::setColumn(int column) \sa columnSpan \sa row */ +void QQuickLayoutAttached::setRowSpan(int span) +{ + if (span != m_rowSpan) { + m_rowSpan = span; + repopulateLayout(); + emit rowSpanChanged(); + } +} /*! @@ -434,6 +450,14 @@ void QQuickLayoutAttached::setColumn(int column) \sa rowSpan \sa column */ +void QQuickLayoutAttached::setColumnSpan(int span) +{ + if (span != m_columnSpan) { + m_columnSpan = span; + repopulateLayout(); + emit columnSpanChanged(); + } +} qreal QQuickLayoutAttached::sizeHint(Qt::SizeHint which, Qt::Orientation orientation) const diff --git a/src/layouts/qquicklayout_p.h b/src/layouts/qquicklayout_p.h index 9339cd8de..b532aa1ff 100644 --- a/src/layouts/qquicklayout_p.h +++ b/src/layouts/qquicklayout_p.h @@ -117,9 +117,9 @@ class QQuickLayoutAttached : public QObject Q_PROPERTY(bool fillWidth READ fillWidth WRITE setFillWidth NOTIFY fillWidthChanged) Q_PROPERTY(int row READ row WRITE setRow NOTIFY rowChanged) Q_PROPERTY(int column READ column WRITE setColumn NOTIFY columnChanged) - Q_PROPERTY(int rowSpan READ rowSpan WRITE setRowSpan) - Q_PROPERTY(int columnSpan READ columnSpan WRITE setColumnSpan) - Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment) + Q_PROPERTY(int rowSpan READ rowSpan WRITE setRowSpan NOTIFY rowSpanChanged) + Q_PROPERTY(int columnSpan READ columnSpan WRITE setColumnSpan NOTIFY columnSpanChanged) + Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment NOTIFY alignmentChanged) public: QQuickLayoutAttached(QObject *object); @@ -161,12 +161,12 @@ public: bool isColumnSet() const { return m_column >= 0; } int rowSpan() const { return m_rowSpan; } - void setRowSpan(int span) { m_rowSpan = span; } + void setRowSpan(int span); int columnSpan() const { return m_columnSpan; } - void setColumnSpan(int span) { m_columnSpan = span; } + void setColumnSpan(int span); Qt::Alignment alignment() const { return m_alignment; } - void setAlignment (Qt::Alignment align) { m_alignment = align; } + void setAlignment(Qt::Alignment align); bool setChangesNotificationEnabled(bool enabled) { @@ -204,6 +204,9 @@ signals: void fillHeightChanged(); void rowChanged(); void columnChanged(); + void rowSpanChanged(); + void columnSpanChanged(); + void alignmentChanged(); private: void invalidateItem(); |