diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2013-05-06 14:40:28 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-05-08 15:01:47 +0200 |
commit | 81b3c4bbb085c9d60dd935e5c74e86988d81dca7 (patch) | |
tree | 3dec64ba4c95b1e2c8569d6da4d115813d0e42e8 /tests/auto/quick/qquickwindow/tst_qquickwindow.cpp | |
parent | 305616a60462b668c4d0b3d19302fa90469aceb5 (diff) |
Add QQuickWindow::closing signal, and ability to ignore the event
An application can implement onClosing() and set
closeEvent.accepted = false to delay the closing (for example to
prompt the user to save changes). Depends on change
I9abed47fca02a002b78727f98d678a824854adfc in qtbase.
Task-number: QTBUG-31019
Change-Id: Icfd4a03ecef3621bdbbee2e2c3157b897a9b6524
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
Diffstat (limited to 'tests/auto/quick/qquickwindow/tst_qquickwindow.cpp')
-rw-r--r-- | tests/auto/quick/qquickwindow/tst_qquickwindow.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp index c3308bfd7d..e2bb6b431c 100644 --- a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp +++ b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp @@ -326,6 +326,8 @@ private slots: void requestActivate(); + void blockClosing(); + #ifndef QT_NO_CURSOR void cursor(); #endif @@ -1466,6 +1468,25 @@ void tst_qquickwindow::requestActivate() QVERIFY(windows.at(0)->isActive()); } +void tst_qquickwindow::blockClosing() +{ + QQmlEngine engine; + QQmlComponent component(&engine); + component.loadUrl(testFileUrl("ucantclosethis.qml")); + QQuickWindow* window = qobject_cast<QQuickWindow *>(component.create()); + QVERIFY(window); + window->show(); + QTest::qWaitForWindowExposed(window); + QVERIFY(window->isVisible()); + QWindowSystemInterface::handleCloseEvent(window); + QVERIFY(window->isVisible()); + QWindowSystemInterface::handleCloseEvent(window); + QVERIFY(window->isVisible()); + window->setProperty("canCloseThis", true); + QWindowSystemInterface::handleCloseEvent(window); + QTRY_VERIFY(!window->isVisible()); +} + QTEST_MAIN(tst_qquickwindow) #include "tst_qquickwindow.moc" |