From c3431db7a3eb6b0c6e325e2d1e16eb6def9a4b4d Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 11 Jul 2017 00:16:09 +0200 Subject: QQuickPopup: add reset-method for closePolicy Change-Id: I05357bf0605eb152531ded3788437b1d52022528 Reviewed-by: Mitch Curtis --- src/quicktemplates2/qquickpopup.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/quicktemplates2/qquickpopup.cpp') diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp index 143075e6..6927699c 100644 --- a/src/quicktemplates2/qquickpopup.cpp +++ b/src/quicktemplates2/qquickpopup.cpp @@ -203,6 +203,8 @@ QT_BEGIN_NAMESPACE \sa closed() */ +static const QQuickPopup::ClosePolicy DefaultClosePolicy = QQuickPopup::CloseOnEscape | QQuickPopup::CloseOnPressOutside; + QQuickPopupPrivate::QQuickPopupPrivate() : focus(false), modal(false), @@ -225,6 +227,7 @@ QQuickPopupPrivate::QQuickPopupPrivate() allowHorizontalResize(true), hadActiveFocusBeforeExitTransition(false), interactive(true), + hasClosePolicy(false), touchId(-1), x(0), y(0), @@ -238,7 +241,7 @@ QQuickPopupPrivate::QQuickPopupPrivate() contentWidth(0), contentHeight(0), transitionState(QQuickPopupPrivate::NoTransition), - closePolicy(QQuickPopup::CloseOnEscape | QQuickPopup::CloseOnPressOutside), + closePolicy(DefaultClosePolicy), parentItem(nullptr), dimmer(nullptr), window(nullptr), @@ -1962,6 +1965,7 @@ QQuickPopup::ClosePolicy QQuickPopup::closePolicy() const void QQuickPopup::setClosePolicy(ClosePolicy policy) { Q_D(QQuickPopup); + d->hasClosePolicy = true; if (d->closePolicy == policy) return; d->closePolicy = policy; @@ -1974,6 +1978,13 @@ void QQuickPopup::setClosePolicy(ClosePolicy policy) emit closePolicyChanged(); } +void QQuickPopup::resetClosePolicy() +{ + Q_D(QQuickPopup); + setClosePolicy(DefaultClosePolicy); + d->hasClosePolicy = false; +} + /*! \qmlproperty enumeration QtQuick.Controls::Popup::transformOrigin -- cgit v1.2.3