diff options
author | Liang Qi <liang.qi@qt.io> | 2018-02-11 09:13:21 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-02-11 09:13:21 +0100 |
commit | 8dd22d9255287bad17823d8738ac05dbffca33ab (patch) | |
tree | 94cc700070d567960260171e7edfad9d587d1b6e /src/widgets/itemviews | |
parent | 7a342372bb1ecbe4146811cff48ede974c7761b5 (diff) | |
parent | 9b800b55c1c4f2b3e6ed365736e357eb31423c95 (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: Ia443f6eb1c854c99c68127a376b78c1986675a9d
Diffstat (limited to 'src/widgets/itemviews')
-rw-r--r-- | src/widgets/itemviews/qlistview.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index 7f027595b7..6777b09043 100644 --- a/src/widgets/itemviews/qlistview.cpp +++ b/src/widgets/itemviews/qlistview.cpp @@ -980,9 +980,18 @@ void QListView::paintEvent(QPaintEvent *e) ? qMax(viewport()->size().width(), d->contentsSize().width()) - 2 * d->spacing() : qMax(viewport()->size().height(), d->contentsSize().height()) - 2 * d->spacing(); + const int rowCount = d->commonListView->rowCount(); QVector<QModelIndex>::const_iterator end = toBeRendered.constEnd(); for (QVector<QModelIndex>::const_iterator it = toBeRendered.constBegin(); it != end; ++it) { Q_ASSERT((*it).isValid()); + if (rowCount == 1) + option.viewItemPosition = QStyleOptionViewItem::OnlyOne; + else if ((*it).row() == 0) + option.viewItemPosition = QStyleOptionViewItem::Beginning; + else if ((*it).row() == rowCount - 1) + option.viewItemPosition = QStyleOptionViewItem::End; + else + option.viewItemPosition = QStyleOptionViewItem::Middle; option.rect = visualRect(*it); if (flow() == TopToBottom) |