diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-06-08 13:22:59 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2015-06-15 09:30:59 +0000 |
commit | 9eb4b013f9ceea1d667ddc47ee58a55a4efa5070 (patch) | |
tree | b28094bf5ca38bf98e4b0982c605bfae4e9141a0 | |
parent | 7e895fc466d918844203c9dcdd46f64cd4dc7ec2 (diff) |
QQuickText: move padding into extraData
Task-number: QTBUG-46529
Change-Id: Ifce670a59c367dc1b211ad2c7e797e3a7808cdb2
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
-rw-r--r-- | src/quick/items/qquicktext.cpp | 28 | ||||
-rw-r--r-- | src/quick/items/qquicktext_p_p.h | 11 |
2 files changed, 21 insertions, 18 deletions
diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp index fe7a719151..2475d19c8d 100644 --- a/src/quick/items/qquicktext.cpp +++ b/src/quick/items/qquicktext.cpp @@ -66,7 +66,7 @@ QT_BEGIN_NAMESPACE const QChar QQuickTextPrivate::elideChar = QChar(0x2026); QQuickTextPrivate::QQuickTextPrivate() - : elideLayout(0), textLine(0), padding(0), lineWidth(0) + : elideLayout(0), textLine(0), lineWidth(0) , color(0xFF000000), linkColor(0xFF0000FF), styleColor(0xFF000000) , lineCount(1), multilengthEos(-1) , elideMode(QQuickText::ElideNone), hAlign(QQuickText::AlignLeft), vAlign(QQuickText::AlignTop) @@ -85,7 +85,8 @@ QQuickTextPrivate::QQuickTextPrivate() } QQuickTextPrivate::ExtraData::ExtraData() - : topPadding(0) + : padding(0) + , topPadding(0) , leftPadding(0) , rightPadding(0) , bottomPadding(0) @@ -311,7 +312,7 @@ void QQuickTextPrivate::setTopPadding(qreal value, bool reset) extra.value().topPadding = value; extra.value().explicitTopPadding = !reset; } - if ((!reset && !qFuzzyCompare(oldPadding, value)) || (reset && !qFuzzyCompare(oldPadding, padding))) { + if ((!reset && !qFuzzyCompare(oldPadding, value)) || (reset && !qFuzzyCompare(oldPadding, padding()))) { updateSize(); emit q->topPaddingChanged(); } @@ -325,7 +326,7 @@ void QQuickTextPrivate::setLeftPadding(qreal value, bool reset) extra.value().leftPadding = value; extra.value().explicitLeftPadding = !reset; } - if ((!reset && !qFuzzyCompare(oldPadding, value)) || (reset && !qFuzzyCompare(oldPadding, padding))) { + if ((!reset && !qFuzzyCompare(oldPadding, value)) || (reset && !qFuzzyCompare(oldPadding, padding()))) { updateSize(); emit q->leftPaddingChanged(); } @@ -339,7 +340,7 @@ void QQuickTextPrivate::setRightPadding(qreal value, bool reset) extra.value().rightPadding = value; extra.value().explicitRightPadding = !reset; } - if ((!reset && !qFuzzyCompare(oldPadding, value)) || (reset && !qFuzzyCompare(oldPadding, padding))) { + if ((!reset && !qFuzzyCompare(oldPadding, value)) || (reset && !qFuzzyCompare(oldPadding, padding()))) { updateSize(); emit q->rightPaddingChanged(); } @@ -353,7 +354,7 @@ void QQuickTextPrivate::setBottomPadding(qreal value, bool reset) extra.value().bottomPadding = value; extra.value().explicitBottomPadding = !reset; } - if ((!reset && !qFuzzyCompare(oldPadding, value)) || (reset && !qFuzzyCompare(oldPadding, padding))) { + if ((!reset && !qFuzzyCompare(oldPadding, value)) || (reset && !qFuzzyCompare(oldPadding, padding()))) { updateSize(); emit q->bottomPaddingChanged(); } @@ -2907,15 +2908,16 @@ void QQuickText::invalidateFontCaches() qreal QQuickText::padding() const { Q_D(const QQuickText); - return d->padding; + return d->padding(); } void QQuickText::setPadding(qreal padding) { Q_D(QQuickText); - if (qFuzzyCompare(d->padding, padding)) + if (qFuzzyCompare(d->padding(), padding)) return; - d->padding = padding; + + d->extra.value().padding = padding; d->updateSize(); emit paddingChanged(); if (!d->extra.isAllocated() || !d->extra->explicitTopPadding) @@ -2938,7 +2940,7 @@ qreal QQuickText::topPadding() const Q_D(const QQuickText); if (d->extra.isAllocated() && d->extra->explicitTopPadding) return d->extra->topPadding; - return d->padding; + return d->padding(); } void QQuickText::setTopPadding(qreal padding) @@ -2958,7 +2960,7 @@ qreal QQuickText::leftPadding() const Q_D(const QQuickText); if (d->extra.isAllocated() && d->extra->explicitLeftPadding) return d->extra->leftPadding; - return d->padding; + return d->padding(); } void QQuickText::setLeftPadding(qreal padding) @@ -2978,7 +2980,7 @@ qreal QQuickText::rightPadding() const Q_D(const QQuickText); if (d->extra.isAllocated() && d->extra->explicitRightPadding) return d->extra->rightPadding; - return d->padding; + return d->padding(); } void QQuickText::setRightPadding(qreal padding) @@ -2998,7 +3000,7 @@ qreal QQuickText::bottomPadding() const Q_D(const QQuickText); if (d->extra.isAllocated() && d->extra->explicitBottomPadding) return d->extra->bottomPadding; - return d->padding; + return d->padding(); } void QQuickText::setBottomPadding(qreal padding) diff --git a/src/quick/items/qquicktext_p_p.h b/src/quick/items/qquicktext_p_p.h index 3c202056af..f0469fc8ea 100644 --- a/src/quick/items/qquicktext_p_p.h +++ b/src/quick/items/qquicktext_p_p.h @@ -87,14 +87,15 @@ public: struct ExtraData { ExtraData(); + qreal padding; qreal topPadding; qreal leftPadding; qreal rightPadding; qreal bottomPadding; - bool explicitTopPadding; - bool explicitLeftPadding; - bool explicitRightPadding; - bool explicitBottomPadding; + bool explicitTopPadding : 1; + bool explicitLeftPadding : 1; + bool explicitRightPadding : 1; + bool explicitBottomPadding : 1; qreal lineHeight; QQuickTextDocumentWithImageResources *doc; QString activeLink; @@ -119,7 +120,6 @@ public: QTextLayout *elideLayout; QQuickTextLine *textLine; - qreal padding; qreal lineWidth; QRgb color; @@ -171,6 +171,7 @@ public: qreal availableWidth() const; qreal availableHeight() const; + inline qreal padding() const { return extra.isAllocated() ? extra->padding : 0.0; } void setTopPadding(qreal value, bool reset = false); void setLeftPadding(qreal value, bool reset = false); void setRightPadding(qreal value, bool reset = false); |