Qt6 incompatibilities fixed
This commit is contained in:
parent
0c37453d5f
commit
a101080231
@ -16,6 +16,15 @@ QSK_QT_PRIVATE_BEGIN
|
||||
#include <private/qobject_p.h>
|
||||
QSK_QT_PRIVATE_END
|
||||
|
||||
static inline void *qskMetaTypeCreate( int type, const void *copy )
|
||||
{
|
||||
#if QT_VERSION >= QT_VERSION_CHECK( 6, 0, 0 )
|
||||
return QMetaType( type ).create( copy );
|
||||
#else
|
||||
return QMetaType::create( type, copy );
|
||||
#endif
|
||||
}
|
||||
|
||||
namespace
|
||||
{
|
||||
using CallFunction = QObjectPrivate::StaticMetaCallFunction;
|
||||
@ -233,7 +242,7 @@ static void qskInvokeMetaCall(
|
||||
}
|
||||
|
||||
types[ i ] = method.parameterType( i - 1 );
|
||||
arguments[ i ] = QMetaType::create( types[ i ], argv[ i ] );
|
||||
arguments[ i ] = qskMetaTypeCreate( types[ i ], argv[ i ] );
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -247,7 +256,7 @@ static void qskInvokeMetaCall(
|
||||
arguments = static_cast< void** >( malloc( argc * sizeof( void* ) ) );
|
||||
|
||||
types[ 0 ] = property.userType();
|
||||
arguments[ 0 ] = QMetaType::create( types[ 0 ], argv[ 0 ] );
|
||||
arguments[ 0 ] = qskMetaTypeCreate( types[ 0 ], argv[ 0 ] );
|
||||
}
|
||||
|
||||
if ( receiver.isNull() )
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "QskGestureRecognizer.h"
|
||||
#include "QskEvent.h"
|
||||
|
||||
#include <qbasictimer.h>
|
||||
#include <qcoreapplication.h>
|
||||
@ -20,7 +21,7 @@ static inline QMouseEvent* qskClonedMouseEvent(
|
||||
|
||||
if ( item )
|
||||
{
|
||||
QPointF localPos = item->mapFromScene( event->windowPos() );
|
||||
QPointF localPos = item->mapFromScene( qskMouseScenePosition( event ) );
|
||||
clonedEvent = QQuickWindowPrivate::cloneMouseEvent( event, &localPos );
|
||||
}
|
||||
else
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "QskSlider.h"
|
||||
#include "QskAnimationHint.h"
|
||||
#include "QskAspect.h"
|
||||
#include "QskIntervalF.h"
|
||||
|
||||
QSK_SUBCONTROL( QskSlider, Panel )
|
||||
QSK_SUBCONTROL( QskSlider, Groove )
|
||||
|
@ -90,7 +90,7 @@ class QskSubWindowArea::PrivateData
|
||||
bool isDraggableByHeaderOnly : 1;
|
||||
bool isDragging : 1;
|
||||
Qt::Edges draggedEdges;
|
||||
QPoint mousePos;
|
||||
QPointF mousePos;
|
||||
};
|
||||
|
||||
QskSubWindowArea::QskSubWindowArea( QQuickItem* parent )
|
||||
@ -192,7 +192,9 @@ bool QskSubWindowArea::mouseEventFilter( QskSubWindow* window, const QMouseEvent
|
||||
{
|
||||
case QEvent::MouseButtonPress:
|
||||
{
|
||||
if ( !( cr.contains( event->localPos() ) &&
|
||||
const auto mousePos = qskMousePosition( event );
|
||||
|
||||
if ( !( cr.contains( mousePos ) &&
|
||||
event->button() == Qt::LeftButton ) )
|
||||
{
|
||||
return false;
|
||||
@ -214,14 +216,14 @@ bool QskSubWindowArea::mouseEventFilter( QskSubWindow* window, const QMouseEvent
|
||||
if ( !doDrag )
|
||||
{
|
||||
// dragging by title bar only
|
||||
doDrag = window->titleBarRect().contains( event->localPos() );
|
||||
doDrag = window->titleBarRect().contains( mousePos );
|
||||
}
|
||||
|
||||
if ( doDrag )
|
||||
{
|
||||
m_data->isDragging = true;
|
||||
m_data->draggedEdges = qskSelectedEdges( cr, event->localPos() );
|
||||
m_data->mousePos = event->globalPos();
|
||||
m_data->draggedEdges = qskSelectedEdges( cr, mousePos );
|
||||
m_data->mousePos = qskMouseScenePosition( event );
|
||||
|
||||
setDragging( window, true );
|
||||
return true;
|
||||
@ -233,10 +235,12 @@ bool QskSubWindowArea::mouseEventFilter( QskSubWindow* window, const QMouseEvent
|
||||
{
|
||||
if ( m_data->isDragging )
|
||||
{
|
||||
qskDragWindow( event->globalPos() - m_data->mousePos,
|
||||
const auto scenePos = qskMouseScenePosition( event );
|
||||
|
||||
qskDragWindow( scenePos - m_data->mousePos,
|
||||
m_data->draggedEdges, window );
|
||||
|
||||
m_data->mousePos = event->globalPos();
|
||||
m_data->mousePos = scenePos;
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
@ -247,7 +251,7 @@ bool QskSubWindowArea::mouseEventFilter( QskSubWindow* window, const QMouseEvent
|
||||
{
|
||||
setDragging( window, false );
|
||||
|
||||
m_data->mousePos = QPoint();
|
||||
m_data->mousePos = QPointF();
|
||||
m_data->isDragging = false;
|
||||
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user