diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-10-26 15:52:40 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2018-02-13 18:55:54 +0000 |
commit | 0b8160a26b8d1ebbb3ea74d697c77f91e6acc039 (patch) | |
tree | 72066488f80951feea9972d5dac1f1f57600ee09 /src/quicktemplates2/qquickcontrol_p_p.h | |
parent | 63899f3185b443ba3cdb7f34cf09f0ac01c5c037 (diff) |
Add Control::horizontal|verticalPadding
A common pattern for paddings:
padding: X
topPadding: Y
bottomPadding: Y
This pattern can be simplified by providing separate horizontalPadding
and verticalPadding properties:
padding: X
horizontalPadding: Y
The actual style changes will be applied separately. As a bonus, the
size of QQuickControlPrivate can be reduced a bit since we can move the
(has)top/left/right/bottomPadding members to ExtraData.
[ChangeLog][Controls][Control] Added horizontalPadding and verticalPadding
properties as a convenient way to set both left and right, or top and bottom
paddings in one go.
Change-Id: I3a93b6f9ab988d806b1f263e74b6bd6b5427fbbe
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickcontrol_p_p.h')
-rw-r--r-- | src/quicktemplates2/qquickcontrol_p_p.h | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/src/quicktemplates2/qquickcontrol_p_p.h b/src/quicktemplates2/qquickcontrol_p_p.h index 7d040ded..f640174f 100644 --- a/src/quicktemplates2/qquickcontrol_p_p.h +++ b/src/quicktemplates2/qquickcontrol_p_p.h @@ -89,10 +89,20 @@ public: void mirrorChange() override; + inline QMarginsF getPadding() const { return QMarginsF(getLeftPadding(), getTopPadding(), getRightPadding(), getBottomPadding()); } + inline qreal getTopPadding() const { return extra.isAllocated() && extra->hasTopPadding ? extra->topPadding : getVerticalPadding(); } + inline qreal getLeftPadding() const { return extra.isAllocated() && extra->hasLeftPadding ? extra->leftPadding : getHorizontalPadding(); } + inline qreal getRightPadding() const { return extra.isAllocated() && extra->hasRightPadding ? extra->rightPadding : getHorizontalPadding(); } + inline qreal getBottomPadding() const { return extra.isAllocated() && extra->hasBottomPadding ? extra->bottomPadding : getVerticalPadding(); } + inline qreal getHorizontalPadding() const { return hasHorizontalPadding ? horizontalPadding : padding; } + inline qreal getVerticalPadding() const { return hasVerticalPadding ? verticalPadding : padding; } + void setTopPadding(qreal value, bool reset = false); void setLeftPadding(qreal value, bool reset = false); void setRightPadding(qreal value, bool reset = false); void setBottomPadding(qreal value, bool reset = false); + void setHorizontalPadding(qreal value, bool reset = false); + void setVerticalPadding(qreal value, bool reset = false); void resizeBackground(); virtual void resizeContent(); @@ -148,15 +158,21 @@ public: struct ExtraData { ExtraData(); + bool hasTopPadding; + bool hasLeftPadding; + bool hasRightPadding; + bool hasBottomPadding; + qreal topPadding; + qreal leftPadding; + qreal rightPadding; + qreal bottomPadding; QFont requestedFont; QPalette requestedPalette; }; QLazilyAllocated<ExtraData> extra; - bool hasTopPadding; - bool hasLeftPadding; - bool hasRightPadding; - bool hasBottomPadding; + bool hasHorizontalPadding; + bool hasVerticalPadding; bool hasLocale; bool wheelEnabled; #if QT_CONFIG(quicktemplates2_hover) @@ -165,10 +181,8 @@ public: #endif int touchId; qreal padding; - qreal topPadding; - qreal leftPadding; - qreal rightPadding; - qreal bottomPadding; + qreal horizontalPadding; + qreal verticalPadding; qreal spacing; QLocale locale; QFont resolvedFont; |