diff options
Diffstat (limited to 'src/dialogs/qquickabstractdialog.cpp')
-rw-r--r-- | src/dialogs/qquickabstractdialog.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/dialogs/qquickabstractdialog.cpp b/src/dialogs/qquickabstractdialog.cpp index 53bdef8c..afc27b77 100644 --- a/src/dialogs/qquickabstractdialog.cpp +++ b/src/dialogs/qquickabstractdialog.cpp @@ -192,7 +192,7 @@ void QQuickAbstractDialog::setVisible(bool v) } } if (m_windowDecoration) { - m_windowDecoration->setProperty("dismissOnOuterClick", (m_modality == Qt::NonModal)); + setDecorationDismissBehavior(); m_windowDecoration->setVisible(v); } else if (m_dialogWindow) { if (v) { @@ -223,6 +223,7 @@ void QQuickAbstractDialog::decorationLoaded() QVariant contentVariant; contentVariant.setValue<QQuickItem*>(m_contentItem); m_windowDecoration->setProperty("content", contentVariant); + setDecorationDismissBehavior(); connect(m_windowDecoration, SIGNAL(dismissed()), this, SLOT(reject())); ok = true; qCDebug(lcWindow) << "using synthetic window decoration" << m_windowDecoration << "from" << m_decorationComponent->url(); @@ -312,6 +313,11 @@ QQuickWindow *QQuickAbstractDialog::parentWindow() return m_parentWindow; } +void QQuickAbstractDialog::setDecorationDismissBehavior() +{ + m_windowDecoration->setProperty("dismissOnOuterClick", (m_modality == Qt::NonModal)); +} + void QQuickAbstractDialog::setContentItem(QQuickItem *obj) { m_contentItem = obj; |