not using the deprecated QQuickItem::boundingRect anymore
This commit is contained in:
parent
38ed90b659
commit
217c722e71
@ -42,6 +42,18 @@ static inline void qskSendEventTo( QObject* object, QEvent::Type type )
|
||||
QCoreApplication::sendEvent( object, &event );
|
||||
}
|
||||
|
||||
QRectF qskItemRect( const QQuickItem* item )
|
||||
{
|
||||
auto d = QQuickItemPrivate::get( item );
|
||||
return QRectF( 0, 0, d->width, d->height );
|
||||
}
|
||||
|
||||
QRectF qskItemGeometry( const QQuickItem* item )
|
||||
{
|
||||
auto d = QQuickItemPrivate::get( item );
|
||||
return QRectF( d->x, d->y, d->width, d->height );
|
||||
}
|
||||
|
||||
bool qskIsItemComplete( const QQuickItem* item )
|
||||
{
|
||||
return QQuickItemPrivate::get( item )->componentComplete;
|
||||
@ -532,6 +544,12 @@ void QskControl::setGeometry( qreal x, qreal y, qreal width, qreal height )
|
||||
}
|
||||
}
|
||||
|
||||
QRectF QskControl::rect() const
|
||||
{
|
||||
Q_D( const QskControl );
|
||||
return QRectF( 0, 0, d->width, d->height );
|
||||
}
|
||||
|
||||
QRectF QskControl::geometry() const
|
||||
{
|
||||
Q_D( const QskControl );
|
||||
@ -887,7 +905,7 @@ QMarginsF QskControl::margins() const
|
||||
|
||||
QRectF QskControl::contentsRect() const
|
||||
{
|
||||
const QRectF r = boundingRect();
|
||||
const QRectF r = rect();
|
||||
|
||||
const auto m = margins();
|
||||
qreal left = r.left() + m.left();
|
||||
@ -1476,7 +1494,7 @@ QRectF QskControl::layoutRect() const
|
||||
|
||||
QRectF QskControl::gestureRect() const
|
||||
{
|
||||
return boundingRect();
|
||||
return rect();
|
||||
}
|
||||
|
||||
QRectF QskControl::focusIndicatorRect() const
|
||||
|
@ -64,6 +64,8 @@ class QSK_EXPORT QskControl : public QQuickItem, public QskResizable, public Qsk
|
||||
Q_PROPERTY( QSizeF maximumSize READ maximumSize WRITE setMaximumSize )
|
||||
Q_PROPERTY( QSizeF preferredSize READ preferredSize WRITE setPreferredSize )
|
||||
|
||||
Q_PROPERTY( QRectF geometry READ geometry WRITE setGeometry )
|
||||
|
||||
using Inherited = QQuickItem;
|
||||
|
||||
public:
|
||||
@ -103,6 +105,8 @@ public:
|
||||
QskGradient background() const;
|
||||
|
||||
QRectF geometry() const;
|
||||
|
||||
QRectF rect() const;
|
||||
QRectF contentsRect() const;
|
||||
|
||||
virtual QRectF layoutRect() const;
|
||||
@ -205,6 +209,9 @@ protected:
|
||||
virtual void updateLayout(); // called in updatePolish
|
||||
|
||||
private:
|
||||
// don't use boundingRect - it seems to be deprecated
|
||||
virtual QRectF boundingRect() const override final { return rect(); }
|
||||
|
||||
void setActiveFocusOnTab( bool ) = delete; // use setFocusPolicy instead
|
||||
|
||||
virtual QSGNode* updatePaintNode( QSGNode*, UpdatePaintNodeData* ) override final;
|
||||
@ -246,6 +253,8 @@ QSK_EXPORT bool qskIsAncestorOf( const QQuickItem* item, const QQuickItem *child
|
||||
QSK_EXPORT bool qskIsTransparentForPositioner( const QQuickItem* );
|
||||
QSK_EXPORT bool qskIsTabFence( const QQuickItem* );
|
||||
QSK_EXPORT bool qskIsShortcutScope( const QQuickItem* );
|
||||
QSK_EXPORT QRectF qskItemRect( const QQuickItem* );
|
||||
QSK_EXPORT QRectF qskItemGeometry( const QQuickItem* );
|
||||
|
||||
QSK_EXPORT QQuickItem* qskNearestFocusScope( const QQuickItem* );
|
||||
QSK_EXPORT QList<QQuickItem *> qskPaintOrderChildItems( const QQuickItem* );
|
||||
|
@ -21,7 +21,7 @@ static inline QRectF qskFocusIndicatorRect( const QQuickItem* item )
|
||||
if ( v.canConvert( QMetaType::QRectF ) )
|
||||
return v.toRectF();
|
||||
|
||||
return item->boundingRect();
|
||||
return qskItemRect( item );
|
||||
}
|
||||
|
||||
class QskFocusIndicator::PrivateData
|
||||
|
@ -21,7 +21,7 @@ QRectF QskFocusIndicatorSkinlet::subControlRect(
|
||||
|
||||
if ( subControl == QskFocusIndicator::Panel )
|
||||
{
|
||||
return indicator->boundingRect();
|
||||
return indicator->rect();
|
||||
}
|
||||
|
||||
return Inherited::subControlRect( skinnable, subControl );
|
||||
|
@ -532,9 +532,11 @@ void QskInputPanel::setCandidateOffset( int candidateOffset )
|
||||
|
||||
QRectF QskInputPanel::keyboardRect() const
|
||||
{
|
||||
auto keyboardRect = boundingRect(); // ### margins? would eliminate this thing below
|
||||
auto keyboardRect = rect(); // ### margins? would eliminate this thing below
|
||||
|
||||
if ( QskDialog::instance()->policy() != QskDialog::TopLevelWindow )
|
||||
keyboardRect.adjust( 0, keyboardRect.height() * 0.5, 0, 0 );
|
||||
|
||||
return keyboardRect;
|
||||
}
|
||||
|
||||
|
@ -127,7 +127,7 @@ namespace
|
||||
}
|
||||
|
||||
QQuickItem* popup = parentItem();
|
||||
doSwallow = !popup->boundingRect().contains(
|
||||
doSwallow = !qskItemRect( popup ).contains(
|
||||
popup->mapFromItem( this, pos ) );
|
||||
|
||||
break;
|
||||
@ -152,7 +152,7 @@ namespace
|
||||
if ( QskPopup* popup = qobject_cast< QskPopup* >( parentItem() ) )
|
||||
{
|
||||
const QRectF r = popup->overlayRect();
|
||||
if ( r != boundingRect() )
|
||||
if ( r != qskItemGeometry( this ) )
|
||||
{
|
||||
setPosition( r.topLeft() );
|
||||
setSize( r.size() );
|
||||
|
@ -213,7 +213,7 @@ void QskSkinlet::updateNode( QskSkinnable* skinnable, QSGNode* parentNode ) cons
|
||||
QSGNode* QskSkinlet::updateBackgroundNode(
|
||||
const QskControl* control, QSGNode* node ) const
|
||||
{
|
||||
const QRectF rect = control->boundingRect();
|
||||
const QRectF rect = control->rect();
|
||||
if ( rect.isEmpty() )
|
||||
return nullptr;
|
||||
|
||||
@ -261,7 +261,7 @@ QSGNode* QskSkinlet::updateDebugNode(
|
||||
rectNode->setColor( color );
|
||||
}
|
||||
|
||||
const QRectF r = control->boundingRect();
|
||||
const QRectF r = control->rect();
|
||||
if ( rectNode->rect() != r )
|
||||
rectNode->setRect( r );
|
||||
|
||||
|
@ -156,7 +156,7 @@ void QskLayoutItem::setGeometry( const QRectF& rect )
|
||||
if( m_updateMode == UpdateNone )
|
||||
{
|
||||
if ( !m_isGeometryDirty )
|
||||
m_isGeometryDirty = ( rect != m_item->boundingRect() );
|
||||
m_isGeometryDirty = ( rect != qskItemGeometry( m_item ) );
|
||||
|
||||
return;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user