QLayoutItem: make QLayoutItem::widget() const in Qt6
QLayoutItem::widget() should be const since it does not modify the class. Since this can not be done within Qt5 in a binary compatible way, change it for Qt6. Fixes: QTBUG-41997 Change-Id: I9211eb1c36a5bc4f06ab417a9df790ebedb7fcda Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
This commit is contained in:
parent
2260d680c9
commit
ce7447d88c
@ -376,7 +376,11 @@ Q_WIDGETS_EXPORT QSize qSmartMinSize(const QSize &sizeHint, const QSize &minSize
|
||||
|
||||
Q_WIDGETS_EXPORT QSize qSmartMinSize(const QWidgetItem *i)
|
||||
{
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
||||
QWidget *w = const_cast<QWidgetItem *>(i)->widget();
|
||||
#else
|
||||
QWidget *w = i->widget();
|
||||
#endif
|
||||
return qSmartMinSize(w->sizeHint(), w->minimumSizeHint(),
|
||||
w->minimumSize(), w->maximumSize(),
|
||||
w->sizePolicy());
|
||||
@ -414,8 +418,11 @@ Q_WIDGETS_EXPORT QSize qSmartMaxSize(const QSize &sizeHint,
|
||||
|
||||
Q_WIDGETS_EXPORT QSize qSmartMaxSize(const QWidgetItem *i, Qt::Alignment align)
|
||||
{
|
||||
QWidget *w = const_cast<QWidgetItem*>(i)->widget();
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
||||
QWidget *w = const_cast<QWidgetItem *>(i)->widget();
|
||||
#else
|
||||
QWidget *w = i->widget();
|
||||
#endif
|
||||
return qSmartMaxSize(w->sizeHint().expandedTo(w->minimumSizeHint()), w->minimumSize(), w->maximumSize(),
|
||||
w->sizePolicy(), align);
|
||||
}
|
||||
|
@ -291,14 +291,12 @@ void QSpacerItem::changeSize(int w, int h, QSizePolicy::Policy hPolicy,
|
||||
/*!
|
||||
Destructor.
|
||||
*/
|
||||
QWidgetItem::~QWidgetItem() {}
|
||||
QWidgetItem::~QWidgetItem() = default;
|
||||
|
||||
/*!
|
||||
Destroys the QLayoutItem.
|
||||
*/
|
||||
QLayoutItem::~QLayoutItem()
|
||||
{
|
||||
}
|
||||
QLayoutItem::~QLayoutItem() = default;
|
||||
|
||||
/*!
|
||||
Invalidates any cached information in this layout item.
|
||||
@ -362,7 +360,11 @@ QSpacerItem * QSpacerItem::spacerItem()
|
||||
|
||||
\sa layout(), spacerItem()
|
||||
*/
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
||||
QWidget *QLayoutItem::widget()
|
||||
#else
|
||||
QWidget *QLayoutItem::widget() const
|
||||
#endif
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
@ -370,7 +372,11 @@ QWidget *QLayoutItem::widget()
|
||||
/*!
|
||||
Returns the widget managed by this item.
|
||||
*/
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
||||
QWidget *QWidgetItem::widget()
|
||||
#else
|
||||
QWidget *QWidgetItem::widget() const
|
||||
#endif
|
||||
{
|
||||
return wid;
|
||||
}
|
||||
|
@ -74,7 +74,11 @@ public:
|
||||
virtual int minimumHeightForWidth(int) const;
|
||||
virtual void invalidate();
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
||||
virtual QWidget *widget();
|
||||
#else
|
||||
virtual QWidget *widget() const;
|
||||
#endif
|
||||
virtual QLayout *layout();
|
||||
virtual QSpacerItem *spacerItem();
|
||||
|
||||
@ -133,7 +137,11 @@ public:
|
||||
bool isEmpty() const override;
|
||||
void setGeometry(const QRect&) override;
|
||||
QRect geometry() const override;
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
||||
QWidget *widget() override;
|
||||
#else
|
||||
QWidget *widget() const override;
|
||||
#endif
|
||||
|
||||
bool hasHeightForWidth() const override;
|
||||
int heightForWidth(int) const override;
|
||||
|
@ -201,7 +201,11 @@ inline QLayoutItem *QDockWidgetItem::dockWidgetChildItem() const
|
||||
|
||||
inline QDockWidgetLayout *QDockWidgetItem::dockWidgetLayout() const
|
||||
{
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
||||
QWidget *w = const_cast<QDockWidgetItem*>(this)->widget();
|
||||
#else
|
||||
QWidget *w = widget();
|
||||
#endif
|
||||
if (w != nullptr)
|
||||
return qobject_cast<QDockWidgetLayout*>(w->layout());
|
||||
return nullptr;
|
||||
|
Loading…
x
Reference in New Issue
Block a user