summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-04-11 08:48:27 +0200
committerLiang Qi <liang.qi@theqtcompany.com>2016-04-11 09:12:36 +0200
commitf34e73a16a3d757057e007874cb5008f16e20f02 (patch)
treebcc228617cf240773fd09daac1a1a2614b552b68 /src/widgets/itemviews
parent5380808453728a354ae28aae76e85ac448245cf1 (diff)
parentb9d386f2ccd69c7f6a766a6d90a6024eeb48e90a (diff)
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts: src/corelib/kernel/qobject.cpp src/gui/painting/qpaintengine_raster.cpp Change-Id: I74e1779832f43d033708dcfd6b666c7b4f0111fb
Diffstat (limited to 'src/widgets/itemviews')
-rw-r--r--src/widgets/itemviews/qabstractitemview.cpp12
-rw-r--r--src/widgets/itemviews/qheaderview.cpp6
2 files changed, 11 insertions, 7 deletions
diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp
index 6c38c53a77..9bb4497811 100644
--- a/src/widgets/itemviews/qabstractitemview.cpp
+++ b/src/widgets/itemviews/qabstractitemview.cpp
@@ -68,6 +68,8 @@
# include <qscroller.h>
#endif
+#include <algorithm>
+
QT_BEGIN_NAMESPACE
QAbstractItemViewPrivate::QAbstractItemViewPrivate()
@@ -4459,10 +4461,12 @@ QModelIndexList QAbstractItemViewPrivate::selectedDraggableIndexes() const
{
Q_Q(const QAbstractItemView);
QModelIndexList indexes = q->selectedIndexes();
- for(int i = indexes.count() - 1 ; i >= 0; --i) {
- if (!isIndexDragEnabled(indexes.at(i)))
- indexes.removeAt(i);
- }
+ auto isNotDragEnabled = [this](const QModelIndex &index) {
+ return !isIndexDragEnabled(index);
+ };
+ indexes.erase(std::remove_if(indexes.begin(), indexes.end(),
+ isNotDragEnabled),
+ indexes.end());
return indexes;
}
diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp
index 2b3e1f1732..e046e4781f 100644
--- a/src/widgets/itemviews/qheaderview.cpp
+++ b/src/widgets/itemviews/qheaderview.cpp
@@ -1499,7 +1499,8 @@ bool QHeaderView::stretchLastSection() const
void QHeaderView::setStretchLastSection(bool stretch)
{
Q_D(QHeaderView);
- const bool changedStretchMode = (d->stretchLastSection != stretch);
+ if (d->stretchLastSection == stretch)
+ return;
d->stretchLastSection = stretch;
if (d->state != QHeaderViewPrivate::NoState)
return;
@@ -1507,8 +1508,7 @@ void QHeaderView::setStretchLastSection(bool stretch)
d->setNewLastSection(d->lastVisibleVisualIndex());
resizeSections();
} else {
- if (changedStretchMode)
- d->restoreSizeOnPrevLastSection();
+ d->restoreSizeOnPrevLastSection();
}
}