Qt6 incompatibilities

This commit is contained in:
Uwe Rathmann 2020-10-26 17:51:31 +01:00
parent 07cdcc56df
commit fc5a9f2038
2 changed files with 34 additions and 10 deletions

View File

@ -124,24 +124,42 @@ void Image::itemChange( QQuickItem::ItemChange change,
}
}
#if QT_VERSION >= QT_VERSION_CHECK( 6, 0, 0 )
void Image::geometryChange(
const QRectF& newGeometry, const QRectF& oldGeometry )
{
Inherited::geometryChange( newGeometry, oldGeometry );
if ( newGeometry.size() != oldGeometry.size() )
adjustSourceSize( newGeometry.size() );
}
#else
void Image::geometryChanged(
const QRectF& newGeometry, const QRectF& oldGeometry )
{
Inherited::geometryChanged( newGeometry, oldGeometry );
if ( newGeometry.size() != oldGeometry.size() )
adjustSourceSize( newGeometry.size() );
}
#endif
void Image::adjustSourceSize( const QSizeF& size )
{
if ( m_data->sourceSizeAdjustment )
{
if ( m_data->sourceSizeAdjustment )
if ( m_data->deferredUpdates )
{
if ( m_data->deferredUpdates )
{
setImplicitSize( newGeometry.width(), newGeometry.height() );
polish();
}
else
{
setSourceSize( newGeometry.size().toSize() );
}
setImplicitSize( size.width(), size.height() );
polish();
}
else
{
setSourceSize( size.toSize() );
}
}
}

View File

@ -59,7 +59,11 @@ class Image : public QQuickImage
void deferredUpdatesChanged();
protected:
#if QT_VERSION >= QT_VERSION_CHECK( 6, 0, 0 )
void geometryChange( const QRectF&, const QRectF& ) override;
#else
void geometryChanged( const QRectF&, const QRectF& ) override;
#endif
void itemChange( ItemChange, const ItemChangeData& ) override;
void componentComplete() override;
@ -67,6 +71,8 @@ class Image : public QQuickImage
void updatePolish() override;
private:
void adjustSourceSize( const QSizeF& );
class PrivateData;
std::unique_ptr< PrivateData > m_data;
};