diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-03 14:20:01 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-04 11:12:05 +0100 |
commit | ca2f44680cb97e7a7c46ee0ab26654822fe65e2d (patch) | |
tree | b9d85ad8ec1b18a6aa56b7657812cf3791bdf72e /tests/auto/widgets/widgets | |
parent | 28a21d98ef8d880a6dd86ee19dd803424bb5eae1 (diff) | |
parent | 83188c6499ccdc87c0a2c468bb497e287f5db369 (diff) |
Merge branch 'stable' into dev
Conflicts:
examples/widgets/painting/shared/shared.pri
src/corelib/tools/qharfbuzz_p.h
src/corelib/tools/qunicodetools.cpp
src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
src/plugins/platforms/windows/qwindowsfontdatabase.cpp
Change-Id: Ibc9860abf570e5ce8b052fb88feb73ec35e64bd3
Diffstat (limited to 'tests/auto/widgets/widgets')
4 files changed, 52 insertions, 16 deletions
diff --git a/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp b/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp index 0420ecf1e0..d39b187c8b 100644 --- a/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp +++ b/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp @@ -238,17 +238,17 @@ void tst_QAbstractScrollArea::setScrollBars2() // Hide the OLD scroll bar and ensure that the NEW one is hidden. hbar->hide(); - scrollArea.setHorizontalScrollBar(new QScrollBar); - qApp->processEvents(); - QVERIFY(!scrollArea.horizontalScrollBar()->isVisible()); + hbar = new QScrollBar(&scrollArea); + scrollArea.setHorizontalScrollBar(hbar); + QVERIFY(!hbar->isVisibleTo(hbar->parentWidget())); vbar->hide(); - scrollArea.setVerticalScrollBar(new QScrollBar); - qApp->processEvents(); - QVERIFY(!scrollArea.verticalScrollBar()->isVisible()); + vbar = new QScrollBar(&scrollArea); + scrollArea.setVerticalScrollBar(vbar); + QVERIFY(!vbar->isVisibleTo(vbar->parentWidget())); - scrollArea.verticalScrollBar()->show(); - scrollArea.horizontalScrollBar()->show(); + vbar->show(); + hbar->show(); // Hide the NEW scroll bar and ensure that it's visible // (because the OLD one is visible). diff --git a/tests/auto/widgets/widgets/qmdiarea/qmdiarea.pro b/tests/auto/widgets/widgets/qmdiarea/qmdiarea.pro index 141392b251..cc2bcb3c30 100644 --- a/tests/auto/widgets/widgets/qmdiarea/qmdiarea.pro +++ b/tests/auto/widgets/widgets/qmdiarea/qmdiarea.pro @@ -6,7 +6,7 @@ QT += gui-private widgets testlib INCLUDEPATH += . SOURCES += tst_qmdiarea.cpp DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII -contains(QT_CONFIG, opengl):QT += opengl +qtHaveModule(opengl): QT += opengl mac { LIBS += -framework Security diff --git a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp index 5aa7b19917..ba5c461223 100644 --- a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp +++ b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp @@ -1733,9 +1733,9 @@ void tst_QMdiArea::tileSubWindows() QTRY_COMPARE(workspace.viewport()->rect().size(), expectedViewportSize); // Not enough space for all sub-windows to be visible -> provide scroll bars. - workspace.resize(150, 150); + workspace.resize(160, 150); qApp->processEvents(); - QTRY_COMPARE(workspace.size(), QSize(150, 150)); + QTRY_COMPARE(workspace.size(), QSize(160, 150)); // Horizontal scroll bar. QScrollBar *hBar = workspace.horizontalScrollBar(); @@ -2594,7 +2594,10 @@ void tst_QMdiArea::nativeSubWindows() const QString platformName = QGuiApplication::platformName(); if (platformName != QLatin1String("xcb") && platformName != QLatin1String("windows")) QSKIP(qPrintable(QString::fromLatin1("nativeSubWindows() does not work on this platform (%1).").arg(platformName))); - +#ifdef QT_OPENGL_ES_2_ANGLE + if (platformName == QLatin1String("windows")) + QSKIP("nativeSubWindows() does not work with ANGLE on Windows, QTBUG-28545."); +#endif { // Add native widgets after show. QMdiArea mdiArea; mdiArea.addSubWindow(new QWidget); diff --git a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp index 2535e23ab8..3aefe26b1c 100644 --- a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp +++ b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp @@ -1016,6 +1016,25 @@ void tst_QMenuBar::check_shortcutPress() } #endif +class LayoutDirectionSaver +{ + Q_DISABLE_COPY(LayoutDirectionSaver) +public: + explicit LayoutDirectionSaver(Qt::LayoutDirection direction) + : m_oldDirection(qApp->layoutDirection()) + { + qApp->setLayoutDirection(direction); + } + + ~LayoutDirectionSaver() + { + qApp->setLayoutDirection(m_oldDirection); + } + +private: + const Qt::LayoutDirection m_oldDirection; +}; + // Qt/Mac,WinCE does not use the native popups/menubar #if !defined(Q_OS_MAC) && !defined(Q_OS_WINCE) void tst_QMenuBar::check_menuPosition() @@ -1070,10 +1089,9 @@ void tst_QMenuBar::check_menuPosition() menu.close(); } - //in RTL, the menu should be stuck at the right of the action geometry + // QTBUG-2596: in RTL, the menu should be stuck at the right of the action geometry { - Qt::LayoutDirection dir = qApp->layoutDirection(); - qApp->setLayoutDirection(Qt::RightToLeft); + LayoutDirectionSaver directionSaver(Qt::RightToLeft); menu.clear(); QObject::connect(&menu, SIGNAL(aboutToShow()), &menu, SLOT(addActions())); QRect mbItemRect = mw->menuBar()->actionGeometry(menu_action); @@ -1082,8 +1100,23 @@ void tst_QMenuBar::check_menuPosition() QVERIFY(menu.isActiveWindow()); QCOMPARE(menu.geometry().right(), mbItemRect.right()); menu.close(); - qApp->setLayoutDirection(dir); } + +# ifndef QTEST_NO_CURSOR + // QTBUG-28031: Click at bottom-right corner. + { + mw->move(400, 200); + LayoutDirectionSaver directionSaver(Qt::RightToLeft); + QMenuBar *mb = mw->menuBar(); + const QPoint localPos = mb->actionGeometry(menu.menuAction()).bottomRight() - QPoint(1, 1); + const QPoint globalPos = mb->mapToGlobal(localPos); + QCursor::setPos(globalPos); + QTest::mouseClick(mb, Qt::LeftButton, 0, localPos); + QTRY_VERIFY(menu.isActiveWindow()); + QCOMPARE(menu.geometry().right() - 1, globalPos.x()); + menu.close(); + } +# endif // QTEST_NO_CURSOR } #endif |