Try to stabilize window activation on macOS
Use activateWindow() that is documented as the right way to raise a window. Task-number: COIN-892 Change-Id: Ic9aadee0d3a526fd8e46e5b1099b5b0861700207 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
parent
c1e8c99464
commit
5b2b30a9c7
@ -6909,8 +6909,10 @@ void tst_QGraphicsItem::opacityZeroUpdates()
|
||||
view.setWindowTitle(QLatin1String(QTest::currentTestFunction()));
|
||||
view.show();
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&view));
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation))
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
}
|
||||
QCoreApplication::processEvents(); // Process all queued paint events
|
||||
QTRY_VERIFY(view.repaints > 0);
|
||||
|
||||
@ -7266,6 +7268,7 @@ void tst_QGraphicsItem::tabChangesFocus()
|
||||
widget.setWindowTitle(QLatin1String(QTest::currentTestFunction()));
|
||||
widget.setLayout(layout);
|
||||
widget.show();
|
||||
view->window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&widget));
|
||||
|
||||
QTRY_VERIFY(scene.isActive());
|
||||
@ -7300,7 +7303,7 @@ void tst_QGraphicsItem::cacheMode()
|
||||
view.setWindowTitle(QLatin1String(QTest::currentTestFunction()));
|
||||
view.resize(150, 150);
|
||||
view.show();
|
||||
QApplication::setActiveWindow(&view);
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&view));
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
QCoreApplication::processEvents(); // Process all queued paint events
|
||||
@ -7484,7 +7487,7 @@ void tst_QGraphicsItem::cacheMode2()
|
||||
view.setWindowTitle(QLatin1String(QTest::currentTestFunction()));
|
||||
view.resize(150, 150);
|
||||
view.show();
|
||||
QApplication::setActiveWindow(&view);
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&view));
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
QCoreApplication::processEvents(); // Process all queued paint events
|
||||
@ -8145,9 +8148,11 @@ void tst_QGraphicsItem::moveLineItem()
|
||||
MyGraphicsView view(&scene);
|
||||
view.setWindowTitle(QLatin1String(QTest::currentTestFunction()));
|
||||
view.show();
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&view));
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation))
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
}
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&view));
|
||||
QCoreApplication::processEvents(); // Process all queued paint events
|
||||
view.reset();
|
||||
|
||||
@ -8251,7 +8256,7 @@ void tst_QGraphicsItem::itemHasNoContents()
|
||||
view.setWindowTitle(QLatin1String(QTest::currentTestFunction()));
|
||||
view.show();
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
|
||||
qApp->setActiveWindow(&view);
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
}
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&view));
|
||||
@ -9271,7 +9276,7 @@ void tst_QGraphicsItem::ensureDirtySceneTransform()
|
||||
view.setWindowTitle(QLatin1String(QTest::currentTestFunction()));
|
||||
view.show();
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
|
||||
QApplication::setActiveWindow(&view);
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
QCOMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
|
||||
}
|
||||
@ -9669,7 +9674,7 @@ void tst_QGraphicsItem::QTBUG_4233_updateCachedWithSceneRect()
|
||||
QGraphicsView view(&scene);
|
||||
view.setWindowTitle(QLatin1String(QTest::currentTestFunction()));
|
||||
view.show();
|
||||
QApplication::setActiveWindow(&view);
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&view));
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
QCOMPARE(QApplication::activeWindow(), &view);
|
||||
@ -10749,6 +10754,10 @@ void tst_QGraphicsItem::textItem_shortcuts()
|
||||
item->setFlag(QGraphicsItem::ItemIsFocusable);
|
||||
item->setTextInteractionFlags(Qt::TextEditorInteraction);
|
||||
w.show();
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
}
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&w));
|
||||
|
||||
item->setFocus();
|
||||
@ -10803,8 +10812,10 @@ void tst_QGraphicsItem::scroll()
|
||||
view.setFrameStyle(0);
|
||||
view.show();
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&view));
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation))
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
}
|
||||
QTRY_VERIFY(view.repaints > 0);
|
||||
|
||||
view.reset();
|
||||
@ -11323,7 +11334,7 @@ void tst_QGraphicsItem::QTBUG_6738_missingUpdateWithSetParent()
|
||||
view.setWindowTitle(QLatin1String(QTest::currentTestFunction()));
|
||||
view.show();
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
|
||||
qApp->setActiveWindow(&view);
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
}
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&view));
|
||||
@ -11377,8 +11388,10 @@ void tst_QGraphicsItem::QT_2653_fullUpdateDiscardingOpacityUpdate()
|
||||
|
||||
view.show();
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&view));
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation))
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
}
|
||||
QCoreApplication::processEvents(); // Process all queued paint events
|
||||
view.reset();
|
||||
|
||||
@ -11413,8 +11426,10 @@ void tst_QGraphicsItem::QTBUG_7714_fullUpdateDiscardingOpacityUpdate2()
|
||||
scene.addItem(parentGreen);
|
||||
|
||||
origView.show();
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation))
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&origView));
|
||||
}
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&origView));
|
||||
QCoreApplication::processEvents(); // Process all queued paint events
|
||||
|
||||
@ -11571,6 +11586,7 @@ void tst_QGraphicsItem::doNotMarkFullUpdateIfNotInScene()
|
||||
item2->setParentItem(item);
|
||||
scene.addItem(item);
|
||||
view.show();
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowExposed(view.windowHandle()));
|
||||
QVERIFY(QTest::qWaitForWindowActive(view.windowHandle()));
|
||||
QCoreApplication::processEvents(); // Process all queued paint events
|
||||
@ -11605,7 +11621,7 @@ void tst_QGraphicsItem::itemDiesDuringDraggingOperation()
|
||||
scene.addItem(item);
|
||||
view.show();
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
|
||||
QApplication::setActiveWindow(&view);
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
QCOMPARE(QApplication::activeWindow(), &view);
|
||||
}
|
||||
@ -11636,7 +11652,7 @@ void tst_QGraphicsItem::QTBUG_12112_focusItem()
|
||||
|
||||
view.show();
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
|
||||
QApplication::setActiveWindow(&view);
|
||||
view.window()->activateWindow();
|
||||
QVERIFY(QTest::qWaitForWindowActive(&view));
|
||||
QCOMPARE(QApplication::activeWindow(), &view);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user