From e8351e44968ce467a8dea7c2a6e5fb6bbc5b65d8 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Sat, 21 Nov 2020 20:36:47 +0100 Subject: [PATCH] adjustments for Qt 6.0.0 beta5 --- qmlexport/QskMainQml.cpp | 10 ++++++++-- qmlexport/QskShortcutQml.cpp | 2 +- src/controls/QskGestureRecognizer.cpp | 28 +++++++++++++++++++++++---- src/controls/QskListViewSkinlet.cpp | 2 +- src/nodes/QskTickmarksNode.cpp | 4 ++++ 5 files changed, 38 insertions(+), 8 deletions(-) diff --git a/qmlexport/QskMainQml.cpp b/qmlexport/QskMainQml.cpp index 46a069fd..37b268e0 100644 --- a/qmlexport/QskMainQml.cpp +++ b/qmlexport/QskMainQml.cpp @@ -35,6 +35,12 @@ QStringList QskMain::skinList() const QQmlListProperty< QObject > QskMain::data() { +#if QT_VERSION >= QT_VERSION_CHECK( 6, 0, 0 ) + using SizeType = qsizetype; +#else + using SizeType = int; +#endif + return QQmlListProperty< QObject >( this, nullptr, []( QQmlListProperty< QObject >* property, QObject* value ) @@ -45,9 +51,9 @@ QQmlListProperty< QObject > QskMain::data() []( QQmlListProperty< QObject >* property ) { auto main = static_cast< const QskMain* >( property->object ); - return static_cast< int >( main->m_data.count() ); + return static_cast< SizeType >( main->m_data.count() ); }, - []( QQmlListProperty< QObject >* property, int index ) + []( QQmlListProperty< QObject >* property, SizeType index ) { auto main = static_cast< const QskMain* >( property->object ); return main->m_data.at( index ); diff --git a/qmlexport/QskShortcutQml.cpp b/qmlexport/QskShortcutQml.cpp index ce4cc5e5..8962efa1 100644 --- a/qmlexport/QskShortcutQml.cpp +++ b/qmlexport/QskShortcutQml.cpp @@ -163,7 +163,7 @@ QKeySequence QskShortcutQml::sequence() const void QskShortcutQml::setSequenceVariant( const QVariant& sequence ) { - if ( sequence.type() == QVariant::Int ) + if ( sequence.userType() == QVariant::Int ) setSequence( static_cast< QKeySequence::StandardKey >( sequence.toInt() ) ); else setSequence( QKeySequence::fromString( sequence.toString() ) ); diff --git a/src/controls/QskGestureRecognizer.cpp b/src/controls/QskGestureRecognizer.cpp index 6ce5be86..0d50cbdd 100644 --- a/src/controls/QskGestureRecognizer.cpp +++ b/src/controls/QskGestureRecognizer.cpp @@ -13,20 +13,40 @@ QSK_QT_PRIVATE_BEGIN #include QSK_QT_PRIVATE_END +static QMouseEvent* qskClonedMouseEventAt( + const QMouseEvent *event, QPointF *localPos ) +{ +#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 ) + + auto clonedEvent = QQuickWindowPrivate::cloneMouseEvent( + const_cast< QMouseEvent* >( event ), localPos ); + +#else + auto clonedEvent = new QMouseEvent( *event ); + + auto& point = QMutableEventPoint::from( clonedEvent->point( 0 ) ); + point.detach(); + point.setTimestamp( event->timestamp() ); + point.setPosition( localPos ? *localPos : event->position() ); +#endif + + return clonedEvent; +} + static inline QMouseEvent* qskClonedMouseEvent( const QMouseEvent* mouseEvent, const QQuickItem* item = nullptr ) { QMouseEvent* clonedEvent; - QMouseEvent* event = const_cast< QMouseEvent* >( mouseEvent ); + auto event = const_cast< QMouseEvent* >( mouseEvent ); if ( item ) { - QPointF localPos = item->mapFromScene( qskMouseScenePosition( event ) ); - clonedEvent = QQuickWindowPrivate::cloneMouseEvent( event, &localPos ); + auto localPos = item->mapFromScene( qskMouseScenePosition( event ) ); + clonedEvent = qskClonedMouseEventAt( event, &localPos ); } else { - clonedEvent = QQuickWindowPrivate::cloneMouseEvent( event, nullptr ); + clonedEvent = qskClonedMouseEventAt( event, nullptr ); } clonedEvent->setAccepted( false ); diff --git a/src/controls/QskListViewSkinlet.cpp b/src/controls/QskListViewSkinlet.cpp index e1061458..eb39616c 100644 --- a/src/controls/QskListViewSkinlet.cpp +++ b/src/controls/QskListViewSkinlet.cpp @@ -473,7 +473,7 @@ QSGNode* QskListViewSkinlet::updateCellNode( const QskListView* listView, } else { - qWarning() << "QskListViewSkinlet: got unsupported QVariant type" << value.type(); + qWarning() << "QskListViewSkinlet: got unsupported QVariant type" << value.typeName(); } return newNode; diff --git a/src/nodes/QskTickmarksNode.cpp b/src/nodes/QskTickmarksNode.cpp index d2da1f8f..07e95c31 100644 --- a/src/nodes/QskTickmarksNode.cpp +++ b/src/nodes/QskTickmarksNode.cpp @@ -21,7 +21,11 @@ class QskTickmarksNodePrivate final : public QSGGeometryNodePrivate QskTickmarksNodePrivate() : geometry( QSGGeometry::defaultAttributes_Point2D(), 0 ) { +#if QT_VERSION >= QT_VERSION_CHECK( 5, 8, 0 ) + geometry.setDrawingMode( QSGGeometry::DrawLines ); +#else geometry.setDrawingMode( GL_LINES ); +#endif geometry.setVertexDataPattern( QSGGeometry::StaticPattern ); }