diff options
author | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2018-10-31 20:11:58 +0100 |
---|---|---|
committer | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2018-12-04 21:01:18 +0000 |
commit | e2f473f4d43afc0c2b8d6256b57ea74ad256e437 (patch) | |
tree | 40f82af1790dbe6ad2a18fa3d68b5d064adc3a8d /src/widgets | |
parent | 009a5538ebce4c5517a717a201707f2b79749f64 (diff) |
QListWidget: mark (is|set)Item(Selected|Hidden) as deprecated
QListWidget::(is|set)Item(Selected|Hidden)() are deprecated for a long
time but not marked as such. Therefore explicitly mark them as
deprecated so they can get removed with Qt6.
Change-Id: I4567e740f1ebb5841b2e5b50c601fb83a782950c
Reviewed-by: Konstantin Shegunov <kshegunov@gmail.com>
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/itemviews/qlistwidget.cpp | 85 | ||||
-rw-r--r-- | src/widgets/itemviews/qlistwidget.h | 23 |
2 files changed, 63 insertions, 45 deletions
diff --git a/src/widgets/itemviews/qlistwidget.cpp b/src/widgets/itemviews/qlistwidget.cpp index 6e0bdb3f22..ea92c5605b 100644 --- a/src/widgets/itemviews/qlistwidget.cpp +++ b/src/widgets/itemviews/qlistwidget.cpp @@ -583,24 +583,6 @@ Qt::DropActions QListModel::supportedDropActions() const */ /*! - \fn void QListWidgetItem::setSelected(bool select) - \since 4.2 - - Sets the selected state of the item to \a select. - - \sa isSelected() -*/ - -/*! - \fn bool QListWidgetItem::isSelected() const - \since 4.2 - - Returns \c true if the item is selected; otherwise returns \c false. - - \sa setSelected() -*/ - -/*! \fn void QListWidgetItem::setHidden(bool hide) \since 4.2 @@ -1002,6 +984,50 @@ QDataStream &operator>>(QDataStream &in, QListWidgetItem &item) */ /*! + \fn void QListWidgetItem::setSelected(bool select) + \since 4.2 + + Sets the selected state of the item to \a select. + + \sa isSelected() +*/ +void QListWidgetItem::setSelected(bool select) +{ + const QListModel *model = listModel(); + if (!model || !view->selectionModel()) + return; + const QAbstractItemView::SelectionMode selectionMode = view->selectionMode(); + if (selectionMode == QAbstractItemView::NoSelection) + return; + const QModelIndex index = model->index(this); + if (selectionMode == QAbstractItemView::SingleSelection) + view->selectionModel()->select(index, select + ? QItemSelectionModel::ClearAndSelect + : QItemSelectionModel::Deselect); + else + view->selectionModel()->select(index, select + ? QItemSelectionModel::Select + : QItemSelectionModel::Deselect); +} + +/*! + \fn bool QListWidgetItem::isSelected() const + \since 4.2 + + Returns \c true if the item is selected; otherwise returns \c false. + + \sa setSelected() +*/ +bool QListWidgetItem::isSelected() const +{ + const QListModel *model = listModel(); + if (!model || !view->selectionModel()) + return false; + const QModelIndex index = model->index(this); + return view->selectionModel()->isSelected(index); +} + +/*! \fn void QListWidgetItem::setFlags(Qt::ItemFlags flags) Sets the item flags for the list item to \a flags. @@ -1743,6 +1769,7 @@ void QListWidget::setItemWidget(QListWidgetItem *item, QWidget *widget) QAbstractItemView::setIndexWidget(index, widget); } +#if QT_DEPRECATED_SINCE(5, 13) /*! Returns \c true if \a item is selected; otherwise returns \c false. @@ -1752,9 +1779,7 @@ void QListWidget::setItemWidget(QListWidgetItem *item, QWidget *widget) */ bool QListWidget::isItemSelected(const QListWidgetItem *item) const { - Q_D(const QListWidget); - QModelIndex index = d->listModel()->index(const_cast<QListWidgetItem*>(item)); - return selectionModel()->isSelected(index); + return ((item && item->listWidget() == this) ? item->isSelected() : false); } /*! @@ -1767,20 +1792,10 @@ bool QListWidget::isItemSelected(const QListWidgetItem *item) const */ void QListWidget::setItemSelected(const QListWidgetItem *item, bool select) { - Q_D(QListWidget); - QModelIndex index = d->listModel()->index(const_cast<QListWidgetItem*>(item)); - - if (d->selectionMode == SingleSelection) { - selectionModel()->select(index, select - ? QItemSelectionModel::ClearAndSelect - : QItemSelectionModel::Deselect); - } else if (d->selectionMode != NoSelection) { - selectionModel()->select(index, select - ? QItemSelectionModel::Select - : QItemSelectionModel::Deselect); - } - + if (item && item->listWidget() == this) + const_cast<QListWidgetItem*>(item)->setSelected(select); } +#endif /*! Returns a list of all selected items in the list widget. @@ -1816,6 +1831,7 @@ QList<QListWidgetItem*> QListWidget::findItems(const QString &text, Qt::MatchFla return items; } +#if QT_DEPRECATED_SINCE(5, 13) /*! Returns \c true if the \a item is explicitly hidden; otherwise returns \c false. @@ -1839,6 +1855,7 @@ void QListWidget::setItemHidden(const QListWidgetItem *item, bool hide) { setRowHidden(row(item), hide); } +#endif /*! Scrolls the view if necessary to ensure that the \a item is visible. diff --git a/src/widgets/itemviews/qlistwidget.h b/src/widgets/itemviews/qlistwidget.h index e96f639502..c093d13e6d 100644 --- a/src/widgets/itemviews/qlistwidget.h +++ b/src/widgets/itemviews/qlistwidget.h @@ -72,8 +72,8 @@ public: inline QListWidget *listWidget() const { return view; } - inline void setSelected(bool select); - inline bool isSelected() const; + void setSelected(bool select); + bool isSelected() const; inline void setHidden(bool hide); inline bool isHidden() const; @@ -167,7 +167,6 @@ public: private: QListModel *listModel() const; -private: int rtti; QVector<void *> dummy; QListWidget *view; @@ -256,13 +255,21 @@ public: void setItemWidget(QListWidgetItem *item, QWidget *widget); inline void removeItemWidget(QListWidgetItem *item); +#if QT_DEPRECATED_SINCE(5, 13) + QT_DEPRECATED_X ("Use QListWidgetItem::isSelected() instead") bool isItemSelected(const QListWidgetItem *item) const; + QT_DEPRECATED_X ("Use QListWidgetItem::setSelected() instead") void setItemSelected(const QListWidgetItem *item, bool select); +#endif QList<QListWidgetItem*> selectedItems() const; QList<QListWidgetItem*> findItems(const QString &text, Qt::MatchFlags flags) const; +#if QT_DEPRECATED_SINCE(5, 13) + QT_DEPRECATED_X ("Use QListWidgetItem::isHidden() instead") bool isItemHidden(const QListWidgetItem *item) const; + QT_DEPRECATED_X ("Use QListWidgetItem::setHidden() instead") void setItemHidden(const QListWidgetItem *item, bool hide); +#endif #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) protected: #endif @@ -341,17 +348,11 @@ inline void QListWidget::addItem(QListWidgetItem *aitem) inline QListWidgetItem *QListWidget::itemAt(int ax, int ay) const { return itemAt(QPoint(ax, ay)); } -inline void QListWidgetItem::setSelected(bool aselect) -{ if (view) view->setItemSelected(this, aselect); } - -inline bool QListWidgetItem::isSelected() const -{ return (view ? view->isItemSelected(this) : false); } - inline void QListWidgetItem::setHidden(bool ahide) -{ if (view) view->setItemHidden(this, ahide); } +{ if (view) view->setRowHidden(view->row(this), ahide); } inline bool QListWidgetItem::isHidden() const -{ return (view ? view->isItemHidden(this) : false); } +{ return (view ? view->isRowHidden(view->row(this)) : false); } QT_END_NAMESPACE |