Revert "Add expandingListItems property to QListView"

This reverts commit a4c25c0205.

The API is too limited in scope, and a good name is hard to find, as
evidenced in the API review discussion preceding Qt 5.9 beta.

This API will hopefully return as something like setItemAlignment().

[ChangeLog][QtWidgets][QListView] EDIT: REMOVE: Added expandingListItems property.

Conflicts:
	tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp

Change-Id: I397acd8a7a6c716e2d3c96eee45a276eb6d4f9dd
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru>
This commit is contained in:
Marc Mutz 2017-03-02 08:14:54 +01:00
parent 0cd15fd94d
commit 863debd720
4 changed files with 4 additions and 70 deletions

View File

@ -1624,33 +1624,6 @@ bool QListView::isSelectionRectVisible() const
return d->isSelectionRectVisible();
}
/*!
\property QListView::expandingListItems
\brief if items occupy the entire width of the column
\since 5.9
If this property is \c true then all items in the column
will have the width of the column; otherwise the width of
each item will be determined by it's size hint.
By default, this property is \c true.
*/
void QListView::setExpandingListItems(bool enable)
{
Q_D(QListView);
if (d->expandingListItems == enable)
return;
d->expandingListItems = enable;
if (viewMode() == ListMode && flow() == QListView::TopToBottom && isWrapping())
d->doDelayedItemsLayout();
}
bool QListView::isExpandingListItems() const
{
Q_D(const QListView);
return d->expandingListItems;
}
/*!
\reimp
*/
@ -1677,8 +1650,7 @@ QListViewPrivate::QListViewPrivate()
column(0),
uniformItemSizes(false),
batchSize(100),
showElasticBand(false),
expandingListItems(true)
showElasticBand(false)
{
}
@ -2395,8 +2367,7 @@ QListViewItem QListModeViewBase::indexToListViewItem(const QModelIndex &index) c
int right = (segment + 1 >= segmentPositions.count()
? contentsSize.width()
: segmentPositions.at(segment + 1));
size.setWidth(dd->expandingListItems ? right - pos.x()
: qMin(size.width(), right - pos.x()));
size.setWidth(right - pos.x());
} else { // make the items as wide as the viewport
size.setWidth(qMax(size.width(), viewport()->width() - 2 * spacing()));
}
@ -2580,15 +2551,8 @@ QVector<QModelIndex> QListModeViewBase::intersectingSet(const QRect &area) const
if (isHidden(row))
continue;
QModelIndex index = modelIndex(row);
if (index.isValid()) {
if (flow() == QListView::LeftToRight || dd->expandingListItems) {
ret += index;
} else {
const int iw = indexToListViewItem(index).width(); // item width
if (iw > 0 && segStartPosition - segmentPositions.at(seg) < iw)
ret += index;
}
}
if (index.isValid())
ret += index;
#if 0 // for debugging
else
qWarning("intersectingSet: row %d was invalid", row);

View File

@ -66,7 +66,6 @@ class Q_WIDGETS_EXPORT QListView : public QAbstractItemView
Q_PROPERTY(int batchSize READ batchSize WRITE setBatchSize)
Q_PROPERTY(bool wordWrap READ wordWrap WRITE setWordWrap)
Q_PROPERTY(bool selectionRectVisible READ isSelectionRectVisible WRITE setSelectionRectVisible)
Q_PROPERTY(bool expandingListItems READ isExpandingListItems WRITE setExpandingListItems)
public:
enum Movement { Static, Free, Snap };
@ -127,9 +126,6 @@ public:
void setSelectionRectVisible(bool show);
bool isSelectionRectVisible() const;
void setExpandingListItems(bool enable);
bool isExpandingListItems() const;
QRect visualRect(const QModelIndex &index) const Q_DECL_OVERRIDE;
void scrollTo(const QModelIndex &index, ScrollHint hint = EnsureVisible) Q_DECL_OVERRIDE;
QModelIndex indexAt(const QPoint &p) const Q_DECL_OVERRIDE;

View File

@ -431,8 +431,6 @@ public:
QRect elasticBand;
bool showElasticBand;
bool expandingListItems;
};
// inline implementations

View File

@ -150,7 +150,6 @@ private slots:
void horizontalScrollingByVerticalWheelEvents();
void taskQTBUG_7232_AllowUserToControlSingleStep();
void taskQTBUG_51086_skippingIndexesInSelectedIndexes();
void expandingListItems();
void taskQTBUG_47694_indexOutOfBoundBatchLayout();
};
@ -2488,29 +2487,6 @@ void tst_QListView::taskQTBUG_51086_skippingIndexesInSelectedIndexes()
QVERIFY(!indexes.contains(data.index(8, 0)));
}
void tst_QListView::expandingListItems()
{
auto item1 = new QStandardItem("111");
auto item2 = new QStandardItem("111111");
QStandardItemModel model;
model.appendRow(item1);
model.appendRow(item2);
QListView w;
w.setModel(&model);
w.setWrapping(true);
w.show();
QVERIFY(QTest::qWaitForWindowExposed(&w));
QVERIFY(w.visualRect(item1->index()).width() > 0);
QVERIFY(w.visualRect(item1->index()).width() == w.visualRect(item2->index()).width());
w.setExpandingListItems(false);
QApplication::processEvents();
QVERIFY(w.visualRect(item1->index()).width() < w.visualRect(item2->index()).width());
}
void tst_QListView::taskQTBUG_47694_indexOutOfBoundBatchLayout()
{
QListView view;