aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/layouts/qquicklayout_p.h
diff options
context:
space:
mode:
authorDavid Edmundson <davidedmundson@kde.org>2020-04-19 15:14:02 +0100
committerDavid Edmundson <davidedmundson@kde.org>2020-08-26 16:11:46 +0100
commit16613f3741af013f7e380c98df6889d73512d0ad (patch)
tree8375963a816dfe50858ffbb5466797d9f7bc78bb /src/imports/layouts/qquicklayout_p.h
parent9aa152da3d416c7d5b4e0e970b6eb1a301df1028 (diff)
Follow layoutMirroring in Layout margins
If a layout is laid out left to right using the layoutDirection property, we want left Margins on the left, and rightMargin still on the right However, if a layout is mirrored, not only should the layout direction change but also the left margin should now be on the right and vice versa. Task-number: QTBUG-62989 Pick-to: 5.15 Change-Id: Iaae4bc436fd1eb7f1947869563ac325f3d6b79bb Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'src/imports/layouts/qquicklayout_p.h')
-rw-r--r--src/imports/layouts/qquicklayout_p.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/imports/layouts/qquicklayout_p.h b/src/imports/layouts/qquicklayout_p.h
index 77dfb446c8..db883245e5 100644
--- a/src/imports/layouts/qquicklayout_p.h
+++ b/src/imports/layouts/qquicklayout_p.h
@@ -100,6 +100,7 @@ public:
bool invalidated() const;
bool invalidatedArrangement() const;
+ bool isMirrored() const;
/* QQuickItemChangeListener */
void itemSiblingOrderChanged(QQuickItem *item) override;
@@ -257,6 +258,14 @@ public:
return QMarginsF(leftMargin(), topMargin(), rightMargin(), bottomMargin());
}
+ QMarginsF effectiveQMargins() const {
+ bool mirrored = parentLayout() && parentLayout()->isMirrored();
+ if (mirrored)
+ return QMarginsF(rightMargin(), topMargin(), leftMargin(), bottomMargin());
+ else
+ return qMargins();
+ }
+
bool setChangesNotificationEnabled(bool enabled)
{
const bool old = m_changesNotificationEnabled;