QTableWidget: mark isItemSelected/setItemSelected() as deprecated

QTableWidget::isItemSelected/setItemSelected() 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: I77fffe2786751306115c3f5da0ef98ff84e35b1a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
bb10
Christian Ehrlicher 2018-10-26 21:27:04 +02:00 committed by Shawn Rutledge
parent d0f909f8db
commit a5a1f338aa
3 changed files with 52 additions and 35 deletions

View File

@ -1054,24 +1054,6 @@ QTableWidgetSelectionRange::~QTableWidgetSelectionRange()
\sa row()
*/
/*!
\fn void QTableWidgetItem::setSelected(bool select)
\since 4.2
Sets the selected state of the item to \a select.
\sa isSelected()
*/
/*!
\fn bool QTableWidgetItem::isSelected() const
\since 4.2
Returns \c true if the item is selected, otherwise returns \c false.
\sa setSelected()
*/
/*!
\fn QSize QTableWidgetItem::sizeHint() const
\since 4.1
@ -1108,6 +1090,44 @@ QTableWidgetSelectionRange::~QTableWidgetSelectionRange()
Returns the table widget that contains the item.
*/
/*!
\fn bool QTableWidgetItem::isSelected() const
\since 4.2
Returns \c true if the item is selected, otherwise returns \c false.
\sa setSelected()
*/
bool QTableWidgetItem::isSelected() const
{
if (!view || !view->selectionModel())
return false;
const QTableModel *model = qobject_cast<const QTableModel*>(view->model());
if (!model)
return false;
const QModelIndex index = model->index(this);
return view->selectionModel()->isSelected(index);
}
/*!
\fn void QTableWidgetItem::setSelected(bool select)
\since 4.2
Sets the selected state of the item to \a select.
\sa isSelected()
*/
void QTableWidgetItem::setSelected(bool select)
{
if (!view || !view->selectionModel())
return;
const QTableModel *model = qobject_cast<const QTableModel*>(view->model());
if (!model)
return;
const QModelIndex index = model->index(this);
view->selectionModel()->select(index, select ? QItemSelectionModel::Select : QItemSelectionModel::Deselect);
}
/*!
\fn Qt::ItemFlags QTableWidgetItem::flags() const
@ -2323,6 +2343,7 @@ void QTableWidget::setCellWidget(int row, int column, QWidget *widget)
QAbstractItemView::setIndexWidget(index, widget);
}
#if QT_DEPRECATED_SINCE(5, 13)
/*!
Returns \c true if the \a item is selected, otherwise returns \c false.
@ -2333,9 +2354,7 @@ void QTableWidget::setCellWidget(int row, int column, QWidget *widget)
bool QTableWidget::isItemSelected(const QTableWidgetItem *item) const
{
Q_D(const QTableWidget);
QModelIndex index = d->tableModel()->index(item);
return selectionModel()->isSelected(index);
return ((item && item->tableWidget() == this) ? item->isSelected() : false);
}
/*!
@ -2347,10 +2366,10 @@ bool QTableWidget::isItemSelected(const QTableWidgetItem *item) const
*/
void QTableWidget::setItemSelected(const QTableWidgetItem *item, bool select)
{
Q_D(QTableWidget);
QModelIndex index = d->tableModel()->index(item);
selectionModel()->select(index, select ? QItemSelectionModel::Select : QItemSelectionModel::Deselect);
if (item && item->tableWidget() == this)
const_cast<QTableWidgetItem*>(item)->setSelected(select);
}
#endif
/*!
Selects or deselects the \a range depending on \a select.

View File

@ -92,8 +92,8 @@ public:
inline int row() const;
inline int column() const;
inline void setSelected(bool select);
inline bool isSelected() const;
void setSelected(bool select);
bool isSelected() const;
inline Qt::ItemFlags flags() const { return itemFlags; }
void setFlags(Qt::ItemFlags flags);
@ -276,8 +276,12 @@ public:
void setCellWidget(int row, int column, QWidget *widget);
inline void removeCellWidget(int row, int column);
#if QT_DEPRECATED_SINCE(5, 13)
QT_DEPRECATED_X ("Use QTableWidgetItem::isSelected() instead")
bool isItemSelected(const QTableWidgetItem *item) const;
QT_DEPRECATED_X ("Use QTableWidgetItem::setSelected() instead")
void setItemSelected(const QTableWidgetItem *item, bool select);
#endif
void setRangeSelected(const QTableWidgetSelectionRange &range, bool select);
QList<QTableWidgetSelectionRange> selectedRanges() const;
@ -383,12 +387,6 @@ inline int QTableWidgetItem::row() const
inline int QTableWidgetItem::column() const
{ return (view ? view->column(this) : -1); }
inline void QTableWidgetItem::setSelected(bool aselect)
{ if (view) view->setItemSelected(this, aselect); }
inline bool QTableWidgetItem::isSelected() const
{ return (view ? view->isItemSelected(this) : false); }
QT_END_NAMESPACE
#endif // QTABLEWIDGET_H

View File

@ -196,10 +196,10 @@ void tst_QTableWidget::clear()
{
QTableWidgetItem *item = new QTableWidgetItem("foo");
testWidget->setItem(0, 0, item);
testWidget->setItemSelected(item, true);
item->setSelected(true);
QVERIFY(testWidget->item(0, 0) == item);
QVERIFY(testWidget->isItemSelected(item));
QVERIFY(item->isSelected());
QPointer<QObjectTableItem> bla = new QObjectTableItem();
@ -583,7 +583,7 @@ void tst_QTableWidget::selectedItems()
continue;
QTableWidgetItem *item = testWidget->item(row, column);
if (item && testWidget->isItemSelected(item))
if (item && item->isSelected())
QVERIFY(selectedItems.contains(item));
}
}