diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2018-03-15 09:53:48 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2018-03-22 20:41:35 +0000 |
commit | 1abc7fcbabcc5a89ceaaf69173d077e22ed2d658 (patch) | |
tree | bd8709695ede60b257adac02aa9c3f835b0d73af /src/quicktemplates2/qquickpopup_p.h | |
parent | ffc64f07ade1d3c80e7d20e4f73210cca2b1181a (diff) |
Add anchors property to Popup to allow centering in parent/window
Currently, users must manually position their Popup using x and y
bindings:
Popup {
x: (parent.width - width) / 2
y: (parent.height - height) / 2
}
This patch adds an anchors property so that you can do this instead:
Popup {
anchors.centerIn: parent
}
It's also possible to conveniently center within the window from
anywhere within the scene (106e7b63 also documents an alternative way
of doing this using Overlay):
Window {
id: window
Pane {
Popup {
anchors.centerIn: window
}
}
}
QQuickAnchors were never used with Popup, because we cannot use the
QQuickAnchors implementation as-is, as the visual QQuickItem parent
is not the actual parent item of QQuickPopupItem.
Currently just centerIn is supported, as that's the most common
use case.
[ChangeLog][Controls][Popup] Added anchors.centerIn to Popup to allow
a covenient way of centering a popup.
Task-number: QTBUG-60354
Change-Id: Ia030f812df9da646fea8f373ef6199a21205ffbd
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickpopup_p.h')
-rw-r--r-- | src/quicktemplates2/qquickpopup_p.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/quicktemplates2/qquickpopup_p.h b/src/quicktemplates2/qquickpopup_p.h index 9e2f3649..07ac664e 100644 --- a/src/quicktemplates2/qquickpopup_p.h +++ b/src/quicktemplates2/qquickpopup_p.h @@ -67,6 +67,7 @@ QT_BEGIN_NAMESPACE class QQuickWindow; +class QQuickPopupAnchors; class QQuickPopupPrivate; class QQuickTransition; @@ -124,6 +125,7 @@ class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPopup : public QObject, public QQml // 2.5 (Qt 5.12) Q_PROPERTY(qreal horizontalPadding READ horizontalPadding WRITE setHorizontalPadding RESET resetHorizontalPadding NOTIFY horizontalPaddingChanged FINAL) Q_PROPERTY(qreal verticalPadding READ verticalPadding WRITE setVerticalPadding RESET resetVerticalPadding NOTIFY verticalPaddingChanged FINAL) + Q_PRIVATE_PROPERTY(QQuickPopup::d_func(), QQuickPopupAnchors *anchors READ getAnchors DESIGNABLE false CONSTANT FINAL REVISION 5) Q_CLASSINFO("DeferredPropertyNames", "background,contentItem") Q_CLASSINFO("DefaultProperty", "contentData") |