From cd9e16398cea2f2afdacb1fae7fbb8d4b2962a35 Mon Sep 17 00:00:00 2001 From: Sergio Martins Date: Sat, 19 Dec 2020 18:59:33 +0000 Subject: [PATCH] qtquick: Fix the build for Qt6 And added cmake presets for Qt6 --- CMakeLists.txt | 4 +-- CMakePresets.json | 29 ++++++++++++++++++- src/Qt5Qt6Compat_p.h | 7 +++-- .../indicators/ClassicIndicatorsWindow_p.h | 1 + src/private/quick/QWidgetAdapter_quick.cpp | 4 +-- src/private/quick/QWidgetAdapter_quick_p.h | 3 +- 6 files changed, 40 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b0b3faac..5d977f4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -147,8 +147,8 @@ macro(set_compiler_flags targetName) endmacro() if(${PROJECT_NAME}_QTQUICK) - find_package(Qt5Quick) - find_package(Qt5QuickControls2) + find_package(Qt${QT_MAJOR_VERSION}Quick) + find_package(Qt${QT_MAJOR_VERSION}QuickControls2) add_definitions(-DKDDOCKWIDGETS_QTQUICK) else() add_definitions(-DKDDOCKWIDGETS_QTWIDGETS) diff --git a/CMakePresets.json b/CMakePresets.json index beb3afe5..aad47dcf 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -71,6 +71,33 @@ "KDDockWidgets_STATIC": "ON", "KDDockWidgets_QTQUICK": "ON" } + }, + { + "name": "qtwidgets6", + "displayName": "qtwidgets6", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build-qtwidgets6", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release", + "KDDockWidgets_QT6": "ON" + }, + "environment": { + "PATH": "$env{HOME}/Qt/6.0.0/gcc_64/bin:$penv{PATH}" + } + }, + { + "name": "qtquick6", + "displayName": "qtquick6", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build-qtquick6", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release", + "KDDockWidgets_QTQUICK": "ON", + "KDDockWidgets_QT6": "ON" + }, + "environment": { + "PATH": "$env{HOME}/Qt/6.0.0/gcc_64/bin:$penv{PATH}" + } } ] -} \ No newline at end of file +} diff --git a/src/Qt5Qt6Compat_p.h b/src/Qt5Qt6Compat_p.h index 5b2cfb62..6771705b 100644 --- a/src/Qt5Qt6Compat_p.h +++ b/src/Qt5Qt6Compat_p.h @@ -20,6 +20,8 @@ namespace Qt5Qt6Compat { #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) +#define QQUICKITEMgeometryChanged geometryChange + using QEnterEvent = QEnterEvent; using qintptr = ::qintptr; using qhashtype = size_t; @@ -34,8 +36,9 @@ inline QPoint eventGlobalPos(QMouseEvent *ev) return ev->globalPosition().toPoint(); } -#else -// Qt 5: +#else // Qt 5: + +#define QQUICKITEMgeometryChanged geometryChanged using QEnterEvent = QEvent; using qintptr = long; diff --git a/src/private/indicators/ClassicIndicatorsWindow_p.h b/src/private/indicators/ClassicIndicatorsWindow_p.h index 5c8b824c..05d3ac48 100644 --- a/src/private/indicators/ClassicIndicatorsWindow_p.h +++ b/src/private/indicators/ClassicIndicatorsWindow_p.h @@ -13,6 +13,7 @@ #define KD_INDICATORS_CLASSICINDICATORS_WINDOW_P_H #include "DropIndicatorOverlayInterface_p.h" +#include "ClassicIndicators_p.h" #ifdef KDDOCKWIDGETS_QTWIDGETS diff --git a/src/private/quick/QWidgetAdapter_quick.cpp b/src/private/quick/QWidgetAdapter_quick.cpp index 1533ecca..8980a343 100644 --- a/src/private/quick/QWidgetAdapter_quick.cpp +++ b/src/private/quick/QWidgetAdapter_quick.cpp @@ -116,10 +116,10 @@ void QWidgetAdapter::itemChange(QQuickItem::ItemChange change, const QQuickItem: } } -void QWidgetAdapter::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) +void QWidgetAdapter::QQUICKITEMgeometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) { // Send a few events manually, since QQuickItem doesn't do it for us. - QQuickItem::geometryChanged(newGeometry, oldGeometry); + QQuickItem::QQUICKITEMgeometryChanged(newGeometry, oldGeometry); // Not calling event() directly, otherwise it would skip event filters diff --git a/src/private/quick/QWidgetAdapter_quick_p.h b/src/private/quick/QWidgetAdapter_quick_p.h index e6ef0a6c..3bdb9896 100644 --- a/src/private/quick/QWidgetAdapter_quick_p.h +++ b/src/private/quick/QWidgetAdapter_quick_p.h @@ -22,6 +22,7 @@ #define KDDOCKWIDGETS_QWIDGETADAPTERQUICK_P_H #include "../../docks_export.h" +#include "kddockwidgets/Qt5Qt6Compat_p.h" #include #include @@ -178,7 +179,7 @@ protected: void create(); bool event(QEvent *) override; bool eventFilter(QObject *, QEvent *) override; - void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override; + void QQUICKITEMgeometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override; void raiseAndActivate(); virtual bool onResize(QSize newSize); virtual void onLayoutRequest();