diff options
author | Kai Köhne <kai.koehne@qt.io> | 2021-02-24 16:07:37 +0100 |
---|---|---|
committer | Qt CI Bot <qt_ci_bot@qt-project.org> | 2021-03-03 12:19:52 +0000 |
commit | 4a037e86d4d2808634294daa7adb9d7523dfa3b9 (patch) | |
tree | 0f29499350b86278beb7561d8dd4f907e46c1393 | |
parent | b18a845befbd8fb38f78a279de07c4d21ac9460c (diff) | |
parent | 5bbd700124d13a292ff8bae6045316112500e230 (diff) |
Merge "Improve support for QT_ADDITIONAL_PACKAGES_PREFIX_PATH"
-rw-r--r-- | cmake/QtConfig.cmake.in | 7 | ||||
-rw-r--r-- | cmake/QtModuleDependencies.cmake.in | 6 | ||||
-rw-r--r-- | cmake/QtPluginDependencies.cmake.in | 3 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp | 56 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp | 8 |
5 files changed, 39 insertions, 41 deletions
diff --git a/cmake/QtConfig.cmake.in b/cmake/QtConfig.cmake.in index 57c252091d..00121013b2 100644 --- a/cmake/QtConfig.cmake.in +++ b/cmake/QtConfig.cmake.in @@ -46,6 +46,10 @@ if(APPLE AND (NOT CMAKE_SYSTEM_NAME OR CMAKE_SYSTEM_NAME STREQUAL "Darwin")) list(APPEND CMAKE_MODULE_PATH "${_qt_import_prefix}/macos") endif() +set(QT_ADDITIONAL_PACKAGES_PREFIX_PATH "" CACHE STRING "Additional directories where find(Qt6 ...) components are searched") +file(TO_CMAKE_PATH "${QT_ADDITIONAL_PACKAGES_PREFIX_PATH}" _qt_additional_packages_prefix_path) +file(TO_CMAKE_PATH "$ENV{QT_ADDITIONAL_PACKAGES_PREFIX_PATH}" _qt_additional_packages_prefix_path_env) + # Find required dependencies, if any. include(CMakeFindDependencyMacro) if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@Dependencies.cmake") @@ -68,7 +72,8 @@ foreach(module ${@INSTALL_CMAKE_NAMESPACE@_FIND_COMPONENTS}) ${_@INSTALL_CMAKE_NAMESPACE@_FIND_PARTS_REQUIRED} PATHS ${_qt_cmake_dir} - ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH} + ${_qt_additional_packages_prefix_path} + ${_qt_additional_packages_prefix_path_env} ${QT_EXAMPLES_CMAKE_PREFIX_PATH} ${__qt_use_no_default_path_for_qt_packages} ) diff --git a/cmake/QtModuleDependencies.cmake.in b/cmake/QtModuleDependencies.cmake.in index 8f7960059a..f9a5897676 100644 --- a/cmake/QtModuleDependencies.cmake.in +++ b/cmake/QtModuleDependencies.cmake.in @@ -8,7 +8,8 @@ endif() find_dependency(@INSTALL_CMAKE_NAMESPACE@ @PROJECT_VERSION@ PATHS "${CMAKE_CURRENT_LIST_DIR}/.." - ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH} + ${_qt_additional_packages_prefix_path} + ${_qt_additional_packages_prefix_path_env} ${QT_EXAMPLES_CMAKE_PREFIX_PATH} ${__qt_use_no_default_path_for_qt_packages} ) @@ -86,7 +87,8 @@ foreach(_target_dep ${_target_deps}) find_dependency(${pkg} ${version} PATHS "${CMAKE_CURRENT_LIST_DIR}/.." - ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH} + ${_qt_additional_packages_prefix_path} + ${_qt_additional_packages_prefix_path_env} ${QT_EXAMPLES_CMAKE_PREFIX_PATH} ${__qt_use_no_default_path_for_qt_packages} ) diff --git a/cmake/QtPluginDependencies.cmake.in b/cmake/QtPluginDependencies.cmake.in index 42365b4296..7bd1eef9aa 100644 --- a/cmake/QtPluginDependencies.cmake.in +++ b/cmake/QtPluginDependencies.cmake.in @@ -42,7 +42,8 @@ foreach(_target_dep ${_target_deps}) find_dependency(${pkg} ${version} PATHS @find_dependency_paths@ - ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH} + ${_qt_additional_packages_prefix_path} + ${_qt_additional_packages_prefix_path_env} ${QT_EXAMPLES_CMAKE_PREFIX_PATH} ${__qt_use_no_default_path_for_qt_packages} ) diff --git a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp index 6b0c353e3b..09fc8343b5 100644 --- a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp +++ b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp @@ -134,8 +134,8 @@ public: virtual ~tst_QDoubleSpinBox(); public slots: void initTestCase(); - void cleanupTestCase(); void init(); + void cleanup(); private slots: void germanTest(); @@ -213,7 +213,6 @@ public slots: private: QStringList actualTexts; QList<double> actualValues; - QWidget *testFocusWidget; }; typedef QList<double> DoubleList; @@ -257,25 +256,18 @@ tst_QDoubleSpinBox::~tst_QDoubleSpinBox() void tst_QDoubleSpinBox::initTestCase() { - testFocusWidget = new QWidget(0); - testFocusWidget->resize(200, 100); - testFocusWidget->show(); - if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) QSKIP("Wayland: This fails. Figure out why."); - - QVERIFY(QTest::qWaitForWindowActive(testFocusWidget)); } -void tst_QDoubleSpinBox::cleanupTestCase() +void tst_QDoubleSpinBox::init() { - delete testFocusWidget; - testFocusWidget = 0; + QLocale::setDefault(QLocale(QLocale::C)); } -void tst_QDoubleSpinBox::init() +void tst_QDoubleSpinBox::cleanup() { - QLocale::setDefault(QLocale(QLocale::C)); + QTRY_VERIFY(QApplication::topLevelWidgets().isEmpty()); } void tst_QDoubleSpinBox::setValue_data() @@ -878,15 +870,16 @@ void tst_QDoubleSpinBox::setReadOnly() void tst_QDoubleSpinBox::editingFinished() { - QVBoxLayout *layout = new QVBoxLayout(testFocusWidget); - QDoubleSpinBox *box = new QDoubleSpinBox(testFocusWidget); + QWidget testFocusWidget(nullptr); + QVBoxLayout *layout = new QVBoxLayout(&testFocusWidget); + QDoubleSpinBox *box = new QDoubleSpinBox(&testFocusWidget); layout->addWidget(box); - QDoubleSpinBox *box2 = new QDoubleSpinBox(testFocusWidget); + QDoubleSpinBox *box2 = new QDoubleSpinBox(&testFocusWidget); layout->addWidget(box2); - testFocusWidget->show(); - testFocusWidget->activateWindow(); - QVERIFY(QTest::qWaitForWindowActive(testFocusWidget)); + testFocusWidget.show(); + testFocusWidget.activateWindow(); + QVERIFY(QTest::qWaitForWindowActive(&testFocusWidget)); box->setFocus(); QTRY_VERIFY(box->hasFocus()); @@ -925,14 +918,9 @@ void tst_QDoubleSpinBox::editingFinished() QTest::keyClick(box2, Qt::Key_Return); QCOMPARE(editingFinishedSpy1.count(), 4); QCOMPARE(editingFinishedSpy2.count(), 3); - testFocusWidget->hide(); + testFocusWidget.hide(); QCOMPARE(editingFinishedSpy1.count(), 4); QCOMPARE(editingFinishedSpy2.count(), 4); - - // On some platforms this is our root window - // we need to show it again otherwise subsequent - // tests will fail - testFocusWidget->show(); } void tst_QDoubleSpinBox::removeAll() @@ -1111,15 +1099,15 @@ public: void tst_QDoubleSpinBox::task224497_fltMax() { - task224497_fltMax_DoubleSpinBox *dspin = new task224497_fltMax_DoubleSpinBox; - dspin->setMinimum(3); - dspin->setMaximum(FLT_MAX); - dspin->show(); - QVERIFY(QTest::qWaitForWindowActive(dspin)); - dspin->lineEdit()->selectAll(); - QTest::keyClick(dspin->lineEdit(), Qt::Key_Delete); - QTest::keyClick(dspin->lineEdit(), Qt::Key_1); - QCOMPARE(dspin->cleanText(), QLatin1String("1")); + task224497_fltMax_DoubleSpinBox dspin; + dspin.setMinimum(3); + dspin.setMaximum(FLT_MAX); + dspin.show(); + QVERIFY(QTest::qWaitForWindowActive(&dspin)); + dspin.lineEdit()->selectAll(); + QTest::keyClick(dspin.lineEdit(), Qt::Key_Delete); + QTest::keyClick(dspin.lineEdit(), Qt::Key_1); + QCOMPARE(dspin.cleanText(), QLatin1String("1")); } void tst_QDoubleSpinBox::task221221() diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp index 16fd99f44e..db465e9281 100644 --- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp +++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp @@ -1376,6 +1376,8 @@ void tst_QMenu::QTBUG_89082_actionTipsHide() QVERIFY(QTest::qWaitForWindowExposed(&widget)); menu->popup(widget.geometry().topRight() + QPoint(50, 0)); QVERIFY(QTest::qWaitForWindowExposed(menu)); + auto menuWindow = menu->windowHandle(); + QVERIFY(menuWindow != nullptr); auto actionZero = menu->actions().at(0); auto actionOne = menu->actions().at(1); @@ -1389,12 +1391,12 @@ void tst_QMenu::QTBUG_89082_actionTipsHide() const QRect submenuRect5 = menu->actionGeometry(actionFive); const QPoint submenuPos5(submenuRect5.topLeft() + QPoint(10, 3)); - QTest::mouseMove(menu, submenuPos1); - QTest::mouseMove(menu, submenuPos0); //show the tip + QTest::mouseMove(menuWindow, submenuPos1); + QTest::mouseMove(menuWindow, submenuPos0); //show the tip QTRY_COMPARE_WITH_TIMEOUT(QToolTip::text(), tipFullName, 1000); //Move to the fifth action without prompting - QTest::mouseMove(menu, submenuPos5); + QTest::mouseMove(menuWindow, submenuPos5); //The previous tip was hidden, but now is a new tip to get text, So there should be no content QTRY_COMPARE_WITH_TIMEOUT(QToolTip::text(), QString(), 1000); } |