aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-06-08 13:22:59 +0200
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2015-06-15 09:30:59 +0000
commit9eb4b013f9ceea1d667ddc47ee58a55a4efa5070 (patch)
treeb28094bf5ca38bf98e4b0982c605bfae4e9141a0 /src
parent7e895fc466d918844203c9dcdd46f64cd4dc7ec2 (diff)
QQuickText: move padding into extraData
Task-number: QTBUG-46529 Change-Id: Ifce670a59c367dc1b211ad2c7e797e3a7808cdb2 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/quick/items/qquicktext.cpp28
-rw-r--r--src/quick/items/qquicktext_p_p.h11
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);