aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickcontrol_p_p.h
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-10-26 15:52:40 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2018-02-13 18:55:54 +0000
commit0b8160a26b8d1ebbb3ea74d697c77f91e6acc039 (patch)
tree72066488f80951feea9972d5dac1f1f57600ee09 /src/quicktemplates2/qquickcontrol_p_p.h
parent63899f3185b443ba3cdb7f34cf09f0ac01c5c037 (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.h30
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;