diff options
Diffstat (limited to 'src/widgets/itemviews')
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 ®ion) 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> // |