summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/itemviews')
-rw-r--r--src/widgets/itemviews/qabstractitemdelegate.cpp4
-rw-r--r--src/widgets/itemviews/qabstractitemdelegate.h1
-rw-r--r--src/widgets/itemviews/qabstractitemdelegate_p.h1
-rw-r--r--src/widgets/itemviews/qabstractitemview.cpp6
-rw-r--r--src/widgets/itemviews/qabstractitemview.h1
-rw-r--r--src/widgets/itemviews/qabstractitemview_p.h1
-rw-r--r--src/widgets/itemviews/qbsptree_p.h1
-rw-r--r--src/widgets/itemviews/qcolumnview.h1
-rw-r--r--src/widgets/itemviews/qcolumnview_p.h1
-rw-r--r--src/widgets/itemviews/qcolumnviewgrip_p.h1
-rw-r--r--src/widgets/itemviews/qdatawidgetmapper.h1
-rw-r--r--src/widgets/itemviews/qdirmodel.cpp20
-rw-r--r--src/widgets/itemviews/qdirmodel.h1
-rw-r--r--src/widgets/itemviews/qfileiconprovider.cpp131
-rw-r--r--src/widgets/itemviews/qfileiconprovider.h1
-rw-r--r--src/widgets/itemviews/qfileiconprovider_p.h1
-rw-r--r--src/widgets/itemviews/qheaderview.cpp4
-rw-r--r--src/widgets/itemviews/qheaderview.h1
-rw-r--r--src/widgets/itemviews/qheaderview_p.h1
-rw-r--r--src/widgets/itemviews/qitemdelegate.h1
-rw-r--r--src/widgets/itemviews/qitemeditorfactory.h1
-rw-r--r--src/widgets/itemviews/qitemeditorfactory_p.h2
-rw-r--r--src/widgets/itemviews/qlistview.h1
-rw-r--r--src/widgets/itemviews/qlistview_p.h1
-rw-r--r--src/widgets/itemviews/qlistwidget.h1
-rw-r--r--src/widgets/itemviews/qlistwidget_p.h1
-rw-r--r--src/widgets/itemviews/qstyleditemdelegate.h1
-rw-r--r--src/widgets/itemviews/qtableview.cpp3
-rw-r--r--src/widgets/itemviews/qtableview.h1
-rw-r--r--src/widgets/itemviews/qtableview_p.h1
-rw-r--r--src/widgets/itemviews/qtablewidget.h1
-rw-r--r--src/widgets/itemviews/qtablewidget_p.h1
-rw-r--r--src/widgets/itemviews/qtreeview.cpp9
-rw-r--r--src/widgets/itemviews/qtreeview.h1
-rw-r--r--src/widgets/itemviews/qtreeview_p.h1
-rw-r--r--src/widgets/itemviews/qtreewidget.cpp4
-rw-r--r--src/widgets/itemviews/qtreewidget.h1
-rw-r--r--src/widgets/itemviews/qtreewidget_p.h1
-rw-r--r--src/widgets/itemviews/qtreewidgetitemiterator.h2
-rw-r--r--src/widgets/itemviews/qwidgetitemdata_p.h1
40 files changed, 62 insertions, 153 deletions
diff --git a/src/widgets/itemviews/qabstractitemdelegate.cpp b/src/widgets/itemviews/qabstractitemdelegate.cpp
index 5e3b74f7b7..8cd2a957be 100644
--- a/src/widgets/itemviews/qabstractitemdelegate.cpp
+++ b/src/widgets/itemviews/qabstractitemdelegate.cpp
@@ -464,11 +464,13 @@ bool QAbstractItemDelegatePrivate::editorEventFilter(QObject *object, QEvent *ev
if (editorHandlesKeyEvent(editor, keyEvent))
return false;
+#ifndef QT_NO_SHORTCUT
if (keyEvent->matches(QKeySequence::Cancel)) {
// don't commit data
emit q->closeEditor(editor, QAbstractItemDelegate::RevertModelCache);
return true;
}
+#endif
switch (keyEvent->key()) {
case Qt::Key_Tab:
@@ -519,11 +521,13 @@ bool QAbstractItemDelegatePrivate::editorEventFilter(QObject *object, QEvent *ev
emit q->closeEditor(editor, QAbstractItemDelegate::NoHint);
}
+#ifndef QT_NO_SHORTCUT
} else if (event->type() == QEvent::ShortcutOverride) {
if (static_cast<QKeyEvent*>(event)->matches(QKeySequence::Cancel)) {
event->accept();
return true;
}
+#endif
}
return false;
}
diff --git a/src/widgets/itemviews/qabstractitemdelegate.h b/src/widgets/itemviews/qabstractitemdelegate.h
index 9fe72655ab..9f7a7716af 100644
--- a/src/widgets/itemviews/qabstractitemdelegate.h
+++ b/src/widgets/itemviews/qabstractitemdelegate.h
@@ -40,6 +40,7 @@
#ifndef QABSTRACTITEMDELEGATE_H
#define QABSTRACTITEMDELEGATE_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtCore/qobject.h>
#include <QtWidgets/qstyleoption.h>
diff --git a/src/widgets/itemviews/qabstractitemdelegate_p.h b/src/widgets/itemviews/qabstractitemdelegate_p.h
index 958737dd01..0b03be63f0 100644
--- a/src/widgets/itemviews/qabstractitemdelegate_p.h
+++ b/src/widgets/itemviews/qabstractitemdelegate_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include "qabstractitemdelegate.h"
#include <private/qobject_p.h>
diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp
index 578f040f77..a4e24b80b1 100644
--- a/src/widgets/itemviews/qabstractitemview.cpp
+++ b/src/widgets/itemviews/qabstractitemview.cpp
@@ -340,8 +340,8 @@ void QAbstractItemViewPrivate::_q_scrollerStateChanged()
This enum indicates how the view responds to user selections:
\value SingleSelection When the user selects an item, any already-selected
- item becomes unselected, and the user cannot unselect the selected item by
- clicking on it.
+ item becomes unselected. It is possible for the user to deselect the selected
+ item.
\value ContiguousSelection When the user selects an item in the usual way,
the selection is cleared and the new item selected. However, if the user
@@ -2473,10 +2473,12 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event)
break;
#endif
default: {
+#ifndef QT_NO_SHORTCUT
if (event == QKeySequence::SelectAll && selectionMode() != NoSelection) {
selectAll();
break;
}
+#endif
#ifdef Q_OS_OSX
if (event->key() == Qt::Key_O && event->modifiers() & Qt::ControlModifier && currentIndex().isValid()) {
emit activated(currentIndex());
diff --git a/src/widgets/itemviews/qabstractitemview.h b/src/widgets/itemviews/qabstractitemview.h
index 4741833654..d6c5d58934 100644
--- a/src/widgets/itemviews/qabstractitemview.h
+++ b/src/widgets/itemviews/qabstractitemview.h
@@ -40,6 +40,7 @@
#ifndef QABSTRACTITEMVIEW_H
#define QABSTRACTITEMVIEW_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qabstractscrollarea.h>
#include <QtCore/qabstractitemmodel.h>
#include <QtCore/qitemselectionmodel.h>
diff --git a/src/widgets/itemviews/qabstractitemview_p.h b/src/widgets/itemviews/qabstractitemview_p.h
index fcbe25d735..f8ada6df08 100644
--- a/src/widgets/itemviews/qabstractitemview_p.h
+++ b/src/widgets/itemviews/qabstractitemview_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include "private/qabstractscrollarea_p.h"
#include "private/qabstractitemmodel_p.h"
#include "QtWidgets/qapplication.h"
diff --git a/src/widgets/itemviews/qbsptree_p.h b/src/widgets/itemviews/qbsptree_p.h
index 4e57297296..5fd7a5c45f 100644
--- a/src/widgets/itemviews/qbsptree_p.h
+++ b/src/widgets/itemviews/qbsptree_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include <qvector.h>
#include <qrect.h>
diff --git a/src/widgets/itemviews/qcolumnview.h b/src/widgets/itemviews/qcolumnview.h
index 1cf6acc405..7d5e2f5cd1 100644
--- a/src/widgets/itemviews/qcolumnview.h
+++ b/src/widgets/itemviews/qcolumnview.h
@@ -40,6 +40,7 @@
#ifndef QCOLUMNVIEW_H
#define QCOLUMNVIEW_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qabstractitemview.h>
QT_BEGIN_NAMESPACE
diff --git a/src/widgets/itemviews/qcolumnview_p.h b/src/widgets/itemviews/qcolumnview_p.h
index 73d3e440d5..7eff0f66cd 100644
--- a/src/widgets/itemviews/qcolumnview_p.h
+++ b/src/widgets/itemviews/qcolumnview_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include "qcolumnview.h"
#ifndef QT_NO_QCOLUMNVIEW
diff --git a/src/widgets/itemviews/qcolumnviewgrip_p.h b/src/widgets/itemviews/qcolumnviewgrip_p.h
index 8c82486968..3447f9f824 100644
--- a/src/widgets/itemviews/qcolumnviewgrip_p.h
+++ b/src/widgets/itemviews/qcolumnviewgrip_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include <private/qwidget_p.h>
#ifndef QT_NO_QCOLUMNVIEW
diff --git a/src/widgets/itemviews/qdatawidgetmapper.h b/src/widgets/itemviews/qdatawidgetmapper.h
index e7e4bc7210..4d244349ad 100644
--- a/src/widgets/itemviews/qdatawidgetmapper.h
+++ b/src/widgets/itemviews/qdatawidgetmapper.h
@@ -40,6 +40,7 @@
#ifndef QDATAWIDGETMAPPER_H
#define QDATAWIDGETMAPPER_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include "QtCore/qobject.h"
#ifndef QT_NO_DATAWIDGETMAPPER
diff --git a/src/widgets/itemviews/qdirmodel.cpp b/src/widgets/itemviews/qdirmodel.cpp
index 1546037c2c..95e6a1840d 100644
--- a/src/widgets/itemviews/qdirmodel.cpp
+++ b/src/widgets/itemviews/qdirmodel.cpp
@@ -858,7 +858,7 @@ QModelIndex QDirModel::index(const QString &path, int column) const
return QModelIndex();
QString absolutePath = QDir(path).absolutePath();
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+#if defined(Q_OS_WIN)
absolutePath = absolutePath.toLower();
// On Windows, "filename......." and "filename" are equivalent
if (absolutePath.endsWith(QLatin1Char('.'))) {
@@ -873,7 +873,7 @@ QModelIndex QDirModel::index(const QString &path, int column) const
QStringList pathElements = absolutePath.split(QLatin1Char('/'), QString::SkipEmptyParts);
if ((pathElements.isEmpty() || !QFileInfo::exists(path))
-#if !defined(Q_OS_WIN) || defined(Q_OS_WINCE)
+#if !defined(Q_OS_WIN)
&& path != QLatin1String("/")
#endif
)
@@ -883,7 +883,7 @@ QModelIndex QDirModel::index(const QString &path, int column) const
if (!d->root.populated) // make sure the root is populated
d->populate(&d->root);
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+#if defined(Q_OS_WIN)
if (absolutePath.startsWith(QLatin1String("//"))) { // UNC path
QString host = pathElements.constFirst();
int r = 0;
@@ -901,7 +901,7 @@ QModelIndex QDirModel::index(const QString &path, int column) const
emit const_cast<QDirModel*>(this)->layoutChanged();
} else
#endif
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+#if defined(Q_OS_WIN)
if (pathElements.at(0).endsWith(QLatin1Char(':'))) {
pathElements[0] += QLatin1Char('/');
}
@@ -925,7 +925,7 @@ QModelIndex QDirModel::index(const QString &path, int column) const
const QFileInfo& fi = parent->children.at(j).info;
QString childFileName;
childFileName = idx.isValid() ? fi.fileName() : fi.absoluteFilePath();
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+#if defined(Q_OS_WIN)
childFileName = childFileName.toLower();
#endif
if (childFileName == element) {
@@ -938,15 +938,7 @@ QModelIndex QDirModel::index(const QString &path, int column) const
// we couldn't find the path element, we create a new node since we _know_ that the path is valid
if (row == -1) {
-#if defined(Q_OS_WINCE)
- QString newPath;
- if (parent->info.isRoot())
- newPath = parent->info.absoluteFilePath() + element;
- else
- newPath = parent->info.absoluteFilePath() + QLatin1Char('/') + element;
-#else
QString newPath = parent->info.absoluteFilePath() + QLatin1Char('/') + element;
-#endif
if (!d->allowAppendChild || !QFileInfo(newPath).isDir())
return QModelIndex();
d->appendChild(parent, newPath);
@@ -1290,7 +1282,7 @@ QString QDirModelPrivate::name(const QModelIndex &index) const
const QFileInfo info = n->info;
if (info.isRoot()) {
QString name = info.absoluteFilePath();
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+#if defined(Q_OS_WIN)
if (name.startsWith(QLatin1Char('/'))) // UNC host
return info.fileName();
if (name.endsWith(QLatin1Char('/')))
diff --git a/src/widgets/itemviews/qdirmodel.h b/src/widgets/itemviews/qdirmodel.h
index 7b4b859e0e..90a9809986 100644
--- a/src/widgets/itemviews/qdirmodel.h
+++ b/src/widgets/itemviews/qdirmodel.h
@@ -40,6 +40,7 @@
#ifndef QDIRMODEL_H
#define QDIRMODEL_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtCore/qabstractitemmodel.h>
#include <QtCore/qdir.h>
#include <QtWidgets/qfileiconprovider.h>
diff --git a/src/widgets/itemviews/qfileiconprovider.cpp b/src/widgets/itemviews/qfileiconprovider.cpp
index 66c0ffcd58..8c3cf3859e 100644
--- a/src/widgets/itemviews/qfileiconprovider.cpp
+++ b/src/widgets/itemviews/qfileiconprovider.cpp
@@ -60,106 +60,6 @@
QT_BEGIN_NAMESPACE
-static bool isCacheable(const QFileInfo &fi);
-
-class QFileIconEngine : public QPixmapIconEngine
-{
-public:
- QFileIconEngine(const QFileInfo &info, QFileIconProvider::Options opts)
- : QPixmapIconEngine(), m_fileInfo(info), m_fipOpts(opts)
- { }
-
- QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) Q_DECL_OVERRIDE
- {
- Q_UNUSED(mode);
- Q_UNUSED(state);
- QPixmap pixmap;
-
- if (!size.isValid())
- return pixmap;
-
- const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme();
- if (!theme)
- return pixmap;
-
- const QString &keyBase = QLatin1String("qt_.") + m_fileInfo.suffix().toUpper();
-
- bool cacheable = isCacheable(m_fileInfo);
- if (cacheable) {
- QPixmapCache::find(keyBase + QString::number(size.width()), pixmap);
- if (!pixmap.isNull())
- return pixmap;
- }
-
- QPlatformTheme::IconOptions iconOptions;
- if (m_fipOpts & QFileIconProvider::DontUseCustomDirectoryIcons)
- iconOptions |= QPlatformTheme::DontUseCustomDirectoryIcons;
-
- pixmap = theme->fileIconPixmap(m_fileInfo, size, iconOptions);
- if (!pixmap.isNull()) {
- if (cacheable)
- QPixmapCache::insert(keyBase + QString::number(size.width()), pixmap);
- }
-
- return pixmap;
- }
-
- QList<QSize> availableSizes(QIcon::Mode mode = QIcon::Normal, QIcon::State state = QIcon::Off) const Q_DECL_OVERRIDE
- {
- Q_UNUSED(mode);
- Q_UNUSED(state);
- static QList<QSize> sizes;
- static QPlatformTheme *theme = 0;
- if (!theme) {
- theme = QGuiApplicationPrivate::platformTheme();
- if (!theme)
- return sizes;
-
- QList<int> themeSizes = theme->themeHint(QPlatformTheme::IconPixmapSizes).value<QList<int> >();
- if (themeSizes.isEmpty())
- return sizes;
-
- sizes.reserve(themeSizes.count());
- foreach (int size, themeSizes)
- sizes << QSize(size, size);
- }
- return sizes;
- }
-
- QSize actualSize(const QSize &size, QIcon::Mode mode, QIcon::State state) Q_DECL_OVERRIDE
- {
- const QList<QSize> &sizes = availableSizes(mode, state);
- const int numberSizes = sizes.length();
- if (numberSizes == 0)
- return QSize();
-
- // Find the smallest available size whose area is still larger than the input
- // size. Otherwise, use the largest area available size. (We don't assume the
- // platform theme sizes are sorted, hence the extra logic.)
- const int sizeArea = size.width() * size.height();
- QSize actualSize = sizes.first();
- int actualArea = actualSize.width() * actualSize.height();
- for (int i = 1; i < numberSizes; ++i) {
- const QSize &s = sizes.at(i);
- const int a = s.width() * s.height();
- if ((sizeArea <= a && a < actualArea) || (actualArea < sizeArea && actualArea < a)) {
- actualSize = s;
- actualArea = a;
- }
- }
-
- if (!actualSize.isNull() && (actualSize.width() > size.width() || actualSize.height() > size.height()))
- actualSize.scale(size, Qt::KeepAspectRatio);
-
- return actualSize;
- }
-
-private:
- QFileInfo m_fileInfo;
- QFileIconProvider::Options m_fipOpts;
-};
-
-
/*!
\class QFileIconProvider
@@ -322,34 +222,17 @@ QIcon QFileIconProvider::icon(IconType type) const
return QIcon();
}
-static bool isCacheable(const QFileInfo &fi)
+static inline QPlatformTheme::IconOptions toThemeIconOptions(QFileIconProvider::Options options)
{
- if (!fi.isFile())
- return false;
-
-#ifdef Q_OS_WIN
- // On windows it's faster to just look at the file extensions. QTBUG-13182
- const QString fileExtension = fi.suffix();
- // Will return false for .exe, .lnk and .ico extensions
- return fileExtension.compare(QLatin1String("exe"), Qt::CaseInsensitive) &&
- fileExtension.compare(QLatin1String("lnk"), Qt::CaseInsensitive) &&
- fileExtension.compare(QLatin1String("ico"), Qt::CaseInsensitive);
-#else
- return !fi.isExecutable() && !fi.isSymLink();
-#endif
+ QPlatformTheme::IconOptions result;
+ if (options & QFileIconProvider::DontUseCustomDirectoryIcons)
+ result |= QPlatformTheme::DontUseCustomDirectoryIcons;
+ return result;
}
QIcon QFileIconProviderPrivate::getIcon(const QFileInfo &fi) const
{
- const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme();
- if (!theme)
- return QIcon();
-
- QList<int> sizes = theme->themeHint(QPlatformTheme::IconPixmapSizes).value<QList<int> >();
- if (sizes.isEmpty())
- return QIcon();
-
- return QIcon(new QFileIconEngine(fi, options));
+ return QGuiApplicationPrivate::platformTheme()->fileIcon(fi, toThemeIconOptions(options));
}
/*!
@@ -365,7 +248,7 @@ QIcon QFileIconProvider::icon(const QFileInfo &info) const
return retIcon;
if (info.isRoot())
-#if defined (Q_OS_WIN) && !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
+#if defined (Q_OS_WIN) && !defined(Q_OS_WINRT)
{
UINT type = GetDriveType((wchar_t *)info.absoluteFilePath().utf16());
diff --git a/src/widgets/itemviews/qfileiconprovider.h b/src/widgets/itemviews/qfileiconprovider.h
index e4c8c0d23e..732ca1ac8e 100644
--- a/src/widgets/itemviews/qfileiconprovider.h
+++ b/src/widgets/itemviews/qfileiconprovider.h
@@ -40,6 +40,7 @@
#ifndef QFILEICONPROVIDER_H
#define QFILEICONPROVIDER_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtCore/qfileinfo.h>
#include <QtCore/qscopedpointer.h>
#include <QtGui/qicon.h>
diff --git a/src/widgets/itemviews/qfileiconprovider_p.h b/src/widgets/itemviews/qfileiconprovider_p.h
index 1cf7f947ad..4726b15816 100644
--- a/src/widgets/itemviews/qfileiconprovider_p.h
+++ b/src/widgets/itemviews/qfileiconprovider_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include "qfileiconprovider.h"
#include <QtCore/qstring.h>
diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp
index 1a0b417034..85bd3003e1 100644
--- a/src/widgets/itemviews/qheaderview.cpp
+++ b/src/widgets/itemviews/qheaderview.cpp
@@ -2563,7 +2563,7 @@ void QHeaderView::mouseReleaseEvent(QMouseEvent *e)
int section = logicalIndexAt(pos);
updateSection(section);
}
- // fall through
+ Q_FALLTHROUGH();
case QHeaderViewPrivate::NoState:
if (d->clickableSections) {
int section = logicalIndexAt(pos);
@@ -2669,7 +2669,7 @@ bool QHeaderView::viewportEvent(QEvent *e)
case QEvent::FontChange:
case QEvent::StyleChange:
d->invalidateCachedSizeHint();
- // Fall through
+ Q_FALLTHROUGH();
case QEvent::Hide:
case QEvent::Show: {
QAbstractScrollArea *parent = qobject_cast<QAbstractScrollArea *>(parentWidget());
diff --git a/src/widgets/itemviews/qheaderview.h b/src/widgets/itemviews/qheaderview.h
index c2e3a1f05e..4be97c0c7e 100644
--- a/src/widgets/itemviews/qheaderview.h
+++ b/src/widgets/itemviews/qheaderview.h
@@ -40,6 +40,7 @@
#ifndef QHEADERVIEW_H
#define QHEADERVIEW_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qabstractitemview.h>
QT_BEGIN_NAMESPACE
diff --git a/src/widgets/itemviews/qheaderview_p.h b/src/widgets/itemviews/qheaderview_p.h
index bbef2127a6..0356d79ff7 100644
--- a/src/widgets/itemviews/qheaderview_p.h
+++ b/src/widgets/itemviews/qheaderview_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include "private/qabstractitemview_p.h"
#ifndef QT_NO_ITEMVIEWS
diff --git a/src/widgets/itemviews/qitemdelegate.h b/src/widgets/itemviews/qitemdelegate.h
index e02da15f5e..3d98419c80 100644
--- a/src/widgets/itemviews/qitemdelegate.h
+++ b/src/widgets/itemviews/qitemdelegate.h
@@ -40,6 +40,7 @@
#ifndef QITEMDELEGATE_H
#define QITEMDELEGATE_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qabstractitemdelegate.h>
#include <QtCore/qstring.h>
#include <QtGui/qpixmap.h>
diff --git a/src/widgets/itemviews/qitemeditorfactory.h b/src/widgets/itemviews/qitemeditorfactory.h
index b5f8fa2354..785d4d84ea 100644
--- a/src/widgets/itemviews/qitemeditorfactory.h
+++ b/src/widgets/itemviews/qitemeditorfactory.h
@@ -40,6 +40,7 @@
#ifndef QITEMEDITORFACTORY_H
#define QITEMEDITORFACTORY_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtCore/qmetaobject.h>
#include <QtCore/qbytearray.h>
#include <QtCore/qhash.h>
diff --git a/src/widgets/itemviews/qitemeditorfactory_p.h b/src/widgets/itemviews/qitemeditorfactory_p.h
index 3b080c3a44..91edcf65ba 100644
--- a/src/widgets/itemviews/qitemeditorfactory_p.h
+++ b/src/widgets/itemviews/qitemeditorfactory_p.h
@@ -52,7 +52,7 @@
//
-
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include <qlineedit.h>
#ifndef QT_NO_ITEMVIEWS
diff --git a/src/widgets/itemviews/qlistview.h b/src/widgets/itemviews/qlistview.h
index f44cf90616..e918e66d38 100644
--- a/src/widgets/itemviews/qlistview.h
+++ b/src/widgets/itemviews/qlistview.h
@@ -40,6 +40,7 @@
#ifndef QLISTVIEW_H
#define QLISTVIEW_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qabstractitemview.h>
QT_BEGIN_NAMESPACE
diff --git a/src/widgets/itemviews/qlistview_p.h b/src/widgets/itemviews/qlistview_p.h
index 90fb9e1407..42cb6b4eef 100644
--- a/src/widgets/itemviews/qlistview_p.h
+++ b/src/widgets/itemviews/qlistview_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include "private/qabstractitemview_p.h"
#include "qrubberband.h"
#include "qbitarray.h"
diff --git a/src/widgets/itemviews/qlistwidget.h b/src/widgets/itemviews/qlistwidget.h
index 06e2469398..c70e0522b7 100644
--- a/src/widgets/itemviews/qlistwidget.h
+++ b/src/widgets/itemviews/qlistwidget.h
@@ -40,6 +40,7 @@
#ifndef QLISTWIDGET_H
#define QLISTWIDGET_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qlistview.h>
#include <QtCore/qvariant.h>
#include <QtCore/qvector.h>
diff --git a/src/widgets/itemviews/qlistwidget_p.h b/src/widgets/itemviews/qlistwidget_p.h
index bb0c35db5f..eaddfc6e6e 100644
--- a/src/widgets/itemviews/qlistwidget_p.h
+++ b/src/widgets/itemviews/qlistwidget_p.h
@@ -50,6 +50,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include <QtCore/qabstractitemmodel.h>
#include <QtWidgets/qabstractitemview.h>
#include <QtWidgets/qlistwidget.h>
diff --git a/src/widgets/itemviews/qstyleditemdelegate.h b/src/widgets/itemviews/qstyleditemdelegate.h
index bf011cdf10..d30e6e0e9c 100644
--- a/src/widgets/itemviews/qstyleditemdelegate.h
+++ b/src/widgets/itemviews/qstyleditemdelegate.h
@@ -40,6 +40,7 @@
#ifndef QSTYLEDITEMDELEGATE_H
#define QSTYLEDITEMDELEGATE_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qabstractitemdelegate.h>
#include <QtCore/qstring.h>
#include <QtGui/qpixmap.h>
diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp
index eebd0de9bb..c7cc1d155e 100644
--- a/src/widgets/itemviews/qtableview.cpp
+++ b/src/widgets/itemviews/qtableview.cpp
@@ -1398,8 +1398,7 @@ void QTableView::paintEvent(QPaintEvent *event)
firstVisualRow, lastVisualRow, firstVisualColumn, lastVisualColumn);
}
- const QVector<QRect> rects = region.rects();
- for (auto dirtyArea : rects) {
+ for (QRect dirtyArea : region) {
dirtyArea.setBottom(qMin(dirtyArea.bottom(), int(y)));
if (rightToLeft) {
dirtyArea.setLeft(qMax(dirtyArea.left(), d->viewport->width() - int(x)));
diff --git a/src/widgets/itemviews/qtableview.h b/src/widgets/itemviews/qtableview.h
index 5ab05b91bf..8c9ac379bc 100644
--- a/src/widgets/itemviews/qtableview.h
+++ b/src/widgets/itemviews/qtableview.h
@@ -40,6 +40,7 @@
#ifndef QTABLEVIEW_H
#define QTABLEVIEW_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qabstractitemview.h>
QT_BEGIN_NAMESPACE
diff --git a/src/widgets/itemviews/qtableview_p.h b/src/widgets/itemviews/qtableview_p.h
index 617ecb1642..2ca158d657 100644
--- a/src/widgets/itemviews/qtableview_p.h
+++ b/src/widgets/itemviews/qtableview_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include <QtCore/QList>
#include <QtCore/QLinkedList>
#include <QtCore/QMap>
diff --git a/src/widgets/itemviews/qtablewidget.h b/src/widgets/itemviews/qtablewidget.h
index 91249e47ee..5dde93f628 100644
--- a/src/widgets/itemviews/qtablewidget.h
+++ b/src/widgets/itemviews/qtablewidget.h
@@ -40,6 +40,7 @@
#ifndef QTABLEWIDGET_H
#define QTABLEWIDGET_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qtableview.h>
#include <QtCore/qvariant.h>
#include <QtCore/qvector.h>
diff --git a/src/widgets/itemviews/qtablewidget_p.h b/src/widgets/itemviews/qtablewidget_p.h
index d3a2f02205..313577befe 100644
--- a/src/widgets/itemviews/qtablewidget_p.h
+++ b/src/widgets/itemviews/qtablewidget_p.h
@@ -50,6 +50,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include <qheaderview.h>
#include <qtablewidget.h>
#include <qabstractitemmodel.h>
diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp
index 4ce7da0229..cfe68d6b6a 100644
--- a/src/widgets/itemviews/qtreeview.cpp
+++ b/src/widgets/itemviews/qtreeview.cpp
@@ -1477,13 +1477,12 @@ void QTreeView::drawTree(QPainter *painter, const QRegion &region) const
QPoint hoverPos = d->viewport->mapFromGlobal(QCursor::pos());
d->hoverBranch = d->itemDecorationAt(hoverPos);
- QVector<QRect> rects = region.rects();
QVector<int> drawn;
- bool multipleRects = (rects.size() > 1);
- for (int a = 0; a < rects.size(); ++a) {
+ bool multipleRects = (region.rectCount() > 1);
+ for (const QRect &a : region) {
const QRect area = (multipleRects
- ? QRect(0, rects.at(a).y(), viewportWidth, rects.at(a).height())
- : rects.at(a));
+ ? QRect(0, a.y(), viewportWidth, a.height())
+ : a);
d->leftAndRight = d->startAndEndColumns(area);
int i = firstVisibleItem; // the first item at the top of the viewport
diff --git a/src/widgets/itemviews/qtreeview.h b/src/widgets/itemviews/qtreeview.h
index d7166a3b33..3c7cbddfbb 100644
--- a/src/widgets/itemviews/qtreeview.h
+++ b/src/widgets/itemviews/qtreeview.h
@@ -40,6 +40,7 @@
#ifndef QTREEVIEW_H
#define QTREEVIEW_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qabstractitemview.h>
class tst_QTreeView;
diff --git a/src/widgets/itemviews/qtreeview_p.h b/src/widgets/itemviews/qtreeview_p.h
index a3619ce13b..56f3340966 100644
--- a/src/widgets/itemviews/qtreeview_p.h
+++ b/src/widgets/itemviews/qtreeview_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include "private/qabstractitemview_p.h"
#include <QtCore/qvariantanimation.h>
#include <QtCore/qabstractitemmodel.h>
diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp
index 31d60c06d7..1338ce4585 100644
--- a/src/widgets/itemviews/qtreewidget.cpp
+++ b/src/widgets/itemviews/qtreewidget.cpp
@@ -1738,7 +1738,7 @@ void QTreeWidgetItem::setData(int column, int role, const QVariant &value)
}
}
}
- // Don't break, but fall through
+ Q_FALLTHROUGH();
default:
if (column < values.count()) {
bool found = false;
@@ -1788,7 +1788,7 @@ QVariant QTreeWidgetItem::data(int column, int role) const
// special case for check state in tristate
if (children.count() && (itemFlags & Qt::ItemIsAutoTristate))
return childrenCheckState(column);
- // fallthrough intended
+ Q_FALLTHROUGH();
default:
if (column >= 0 && column < values.size()) {
const QVector<QWidgetItemData> &column_values = values.at(column);
diff --git a/src/widgets/itemviews/qtreewidget.h b/src/widgets/itemviews/qtreewidget.h
index e360d62c5f..36ba9985bd 100644
--- a/src/widgets/itemviews/qtreewidget.h
+++ b/src/widgets/itemviews/qtreewidget.h
@@ -40,6 +40,7 @@
#ifndef QTREEWIDGET_H
#define QTREEWIDGET_H
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtWidgets/qtreeview.h>
#include <QtWidgets/qtreewidgetitemiterator.h>
#include <QtCore/qvariant.h>
diff --git a/src/widgets/itemviews/qtreewidget_p.h b/src/widgets/itemviews/qtreewidget_p.h
index 7e7e8e9e35..7789693db4 100644
--- a/src/widgets/itemviews/qtreewidget_p.h
+++ b/src/widgets/itemviews/qtreewidget_p.h
@@ -50,6 +50,7 @@
// We mean it.
//
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include <QtCore/qabstractitemmodel.h>
#include <private/qabstractitemmodel_p.h>
#include <QtCore/qpair.h>
diff --git a/src/widgets/itemviews/qtreewidgetitemiterator.h b/src/widgets/itemviews/qtreewidgetitemiterator.h
index 2cdf03fd7a..db17a96abd 100644
--- a/src/widgets/itemviews/qtreewidgetitemiterator.h
+++ b/src/widgets/itemviews/qtreewidgetitemiterator.h
@@ -40,7 +40,7 @@
#ifndef QTREEWIDGETITEMITERATOR_H
#define QTREEWIDGETITEMITERATOR_H
-#include <QtCore/qglobal.h>
+#include <QtWidgets/qtwidgetsglobal.h>
#include <QtCore/qscopedpointer.h>
QT_BEGIN_NAMESPACE
diff --git a/src/widgets/itemviews/qwidgetitemdata_p.h b/src/widgets/itemviews/qwidgetitemdata_p.h
index 6c100553ba..b7ed6ed862 100644
--- a/src/widgets/itemviews/qwidgetitemdata_p.h
+++ b/src/widgets/itemviews/qwidgetitemdata_p.h
@@ -40,6 +40,7 @@
#ifndef QWIDGETITEMDATA_P_H
#define QWIDGETITEMDATA_P_H
+#include <QtWidgets/private/qtwidgetsglobal_p.h>
#include <QtCore/qdatastream.h>
//