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:
parent
0cd15fd94d
commit
863debd720
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -431,8 +431,6 @@ public:
|
||||
|
||||
QRect elasticBand;
|
||||
bool showElasticBand;
|
||||
|
||||
bool expandingListItems;
|
||||
};
|
||||
|
||||
// inline implementations
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user