From e56c79dc9d71e84cfb1affd407c512189a549063 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Fri, 2 Nov 2018 21:48:52 +0100 Subject: QTreeWidget: mark is/setFirstItemColumnSpanned() as deprecated Deprecate the QTreeWidget functions is/setFirstItemColumnSpanned() to stay in sync with the other deprecated functions (selected/expanded/hidden) so they can get removed in Qt6. Also add a small unit test for them. Change-Id: Ie1cb5d7163c2d56d653c21e841ccaf7d38569787 Reviewed-by: Samuel Gaist Reviewed-by: Richard Moe Gustavsen --- src/widgets/itemviews/qtreewidget.cpp | 39 +++++++++++++++++++++++++---------- src/widgets/itemviews/qtreewidget.h | 14 +++++-------- 2 files changed, 33 insertions(+), 20 deletions(-) (limited to 'src/widgets/itemviews') diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index acd6ad6e41..ac117b1c07 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -1127,6 +1127,14 @@ bool QTreeWidgetItem::isExpanded() const \sa isFirstColumnSpanned() */ +void QTreeWidgetItem::setFirstColumnSpanned(bool span) +{ + const QTreeModel *model = treeModel(); + if (!model || this == model->headerItem) + return; // We can't set the header items to spanning + const QModelIndex index = model->index(this, 0); + view->setFirstColumnSpanned(index.row(), index.parent(), span); +} /*! \fn bool QTreeWidgetItem::isFirstColumnSpanned() const @@ -1136,6 +1144,14 @@ bool QTreeWidgetItem::isExpanded() const \sa setFirstColumnSpanned() */ +bool QTreeWidgetItem::isFirstColumnSpanned() const +{ + const QTreeModel *model = treeModel(); + if (!model || this == model->headerItem) + return false; + const QModelIndex index = model->index(this, 0); + return view->isFirstColumnSpanned(index.row(), index.parent()); +} /*! \fn QString QTreeWidgetItem::text(int column) const @@ -3230,7 +3246,6 @@ void QTreeWidget::setItemExpanded(const QTreeWidgetItem *item, bool expand) if (item && item->treeWidget() == this) const_cast(item)->setExpanded(expand); } -#endif /*! \since 4.3 @@ -3239,14 +3254,14 @@ void QTreeWidget::setItemExpanded(const QTreeWidgetItem *item, bool expand) otherwise returns \c false. \sa setFirstItemColumnSpanned() + + \obsolete + + This function is deprecated. Use \l{QTreeWidgetItem::isFirstColumnSpanned()} instead. */ bool QTreeWidget::isFirstItemColumnSpanned(const QTreeWidgetItem *item) const { - Q_D(const QTreeWidget); - if (item == d->treeModel()->headerItem) - return false; // We can't set the header items to spanning - const QModelIndex index = d->index(item); - return isFirstColumnSpanned(index.row(), index.parent()); + return ((item && item->treeWidget() == this) ? item->isFirstColumnSpanned() : false); } /*! @@ -3256,15 +3271,17 @@ bool QTreeWidget::isFirstItemColumnSpanned(const QTreeWidgetItem *item) const otherwise the item will show one section per column. \sa isFirstItemColumnSpanned() + + \obsolete + + This function is deprecated. Use \l{QTreeWidgetItem::setFirstColumnSpanned()} instead. */ void QTreeWidget::setFirstItemColumnSpanned(const QTreeWidgetItem *item, bool span) { - Q_D(QTreeWidget); - if (item == d->treeModel()->headerItem) - return; // We can't set header items to spanning - const QModelIndex index = d->index(item); - setFirstColumnSpanned(index.row(), index.parent(), span); + if (item && item->treeWidget() == this) + const_cast(item)->setFirstColumnSpanned(span); } +#endif /*! \since 4.3 diff --git a/src/widgets/itemviews/qtreewidget.h b/src/widgets/itemviews/qtreewidget.h index 145b61ff9d..bed77b336d 100644 --- a/src/widgets/itemviews/qtreewidget.h +++ b/src/widgets/itemviews/qtreewidget.h @@ -88,8 +88,8 @@ public: void setExpanded(bool expand); bool isExpanded() const; - inline void setFirstColumnSpanned(bool span); - inline bool isFirstColumnSpanned() const; + void setFirstColumnSpanned(bool span); + bool isFirstColumnSpanned() const; inline void setDisabled(bool disabled); inline bool isDisabled() const; @@ -335,10 +335,12 @@ public: bool isItemExpanded(const QTreeWidgetItem *item) const; QT_DEPRECATED_X ("Use QTreeWidgetItem::setExpanded() instead") void setItemExpanded(const QTreeWidgetItem *item, bool expand); -#endif + QT_DEPRECATED_X ("Use QTreeWidgetItem::isFirstColumnSpanned() instead") bool isFirstItemColumnSpanned(const QTreeWidgetItem *item) const; + QT_DEPRECATED_X ("Use QTreeWidgetItem::setFirstColumnSpanned() instead") void setFirstItemColumnSpanned(const QTreeWidgetItem *item, bool span); +#endif QTreeWidgetItem *itemAbove(const QTreeWidgetItem *item) const; QTreeWidgetItem *itemBelow(const QTreeWidgetItem *item) const; @@ -423,12 +425,6 @@ inline QTreeWidgetItem *QTreeWidget::itemAt(int ax, int ay) const inline void QTreeWidget::setHeaderLabel(const QString &alabel) { setHeaderLabels(QStringList(alabel)); } -inline void QTreeWidgetItem::setFirstColumnSpanned(bool aspan) -{ if (view) view->setFirstItemColumnSpanned(this, aspan); } - -inline bool QTreeWidgetItem::isFirstColumnSpanned() const -{ return (view ? view->isFirstItemColumnSpanned(this) : false); } - inline void QTreeWidgetItem::setDisabled(bool disabled) { setFlags(disabled ? (flags() & ~Qt::ItemIsEnabled) : flags() | Qt::ItemIsEnabled); } -- cgit v1.2.3