diff options
Diffstat (limited to 'src/widgets/itemviews')
-rw-r--r-- | src/widgets/itemviews/qabstractitemdelegate.cpp | 42 | ||||
-rw-r--r-- | src/widgets/itemviews/qcolumnviewgrip.cpp | 2 | ||||
-rw-r--r-- | src/widgets/itemviews/qcolumnviewgrip_p.h | 2 | ||||
-rw-r--r-- | src/widgets/itemviews/qdirmodel.cpp | 6 | ||||
-rw-r--r-- | src/widgets/itemviews/qdirmodel.h | 11 | ||||
-rw-r--r-- | src/widgets/itemviews/qlistwidget.cpp | 9 | ||||
-rw-r--r-- | src/widgets/itemviews/qlistwidget.h | 6 | ||||
-rw-r--r-- | src/widgets/itemviews/qtableview.cpp | 2 | ||||
-rw-r--r-- | src/widgets/itemviews/qtablewidget.cpp | 8 | ||||
-rw-r--r-- | src/widgets/itemviews/qtablewidget.h | 6 | ||||
-rw-r--r-- | src/widgets/itemviews/qtreewidget.cpp | 8 | ||||
-rw-r--r-- | src/widgets/itemviews/qtreewidget.h | 6 |
12 files changed, 66 insertions, 42 deletions
diff --git a/src/widgets/itemviews/qabstractitemdelegate.cpp b/src/widgets/itemviews/qabstractitemdelegate.cpp index 31dde8832b..eecc18e5c7 100644 --- a/src/widgets/itemviews/qabstractitemdelegate.cpp +++ b/src/widgets/itemviews/qabstractitemdelegate.cpp @@ -387,44 +387,46 @@ bool QAbstractItemDelegate::helpEvent(QHelpEvent *event, const QStyleOptionViewItem &option, const QModelIndex &index) { - Q_D(QAbstractItemDelegate); - Q_UNUSED(d); - Q_UNUSED(index); - Q_UNUSED(option); - if (!event || !view) return false; + Q_D(QAbstractItemDelegate); switch (event->type()) { #ifndef QT_NO_TOOLTIP case QEvent::ToolTip: { QHelpEvent *he = static_cast<QHelpEvent*>(event); const int precision = inherits("QItemDelegate") ? 10 : 6; // keep in sync with DBL_DIG in qitemdelegate.cpp - const QString tooltip = d->textForRole(Qt::ToolTipRole, index.data(Qt::ToolTipRole), option.locale, precision); - if (!tooltip.isEmpty()) { - QToolTip::showText(he->globalPos(), tooltip, view); - return true; + const QString tooltip = index.isValid() ? + d->textForRole(Qt::ToolTipRole, index.data(Qt::ToolTipRole), option.locale, precision) : + QString(); + QRect rect; + if (index.isValid()) { + const QRect r = view->visualRect(index); + rect = QRect(view->mapToGlobal(r.topLeft()), r.size()); + } + QToolTip::showText(he->globalPos(), tooltip, view, rect); + event->setAccepted(!tooltip.isEmpty()); + break; } - break;} #endif #if QT_CONFIG(whatsthis) - case QEvent::QueryWhatsThis: { - if (index.data(Qt::WhatsThisRole).isValid()) - return true; - break; } + case QEvent::QueryWhatsThis: + event->setAccepted(index.data(Qt::WhatsThisRole).isValid()); + break; case QEvent::WhatsThis: { QHelpEvent *he = static_cast<QHelpEvent*>(event); const int precision = inherits("QItemDelegate") ? 10 : 6; // keep in sync with DBL_DIG in qitemdelegate.cpp - const QString whatsthis = d->textForRole(Qt::WhatsThisRole, index.data(Qt::WhatsThisRole), option.locale, precision); - if (!whatsthis.isEmpty()) { - QWhatsThis::showText(he->globalPos(), whatsthis, view); - return true; + const QString whatsthis = index.isValid() ? + d->textForRole(Qt::WhatsThisRole, index.data(Qt::WhatsThisRole), option.locale, precision) : + QString(); + QWhatsThis::showText(he->globalPos(), whatsthis, view); + event->setAccepted(!whatsthis.isEmpty()); + break; } - break ; } #endif default: break; } - return false; + return event->isAccepted(); } /*! diff --git a/src/widgets/itemviews/qcolumnviewgrip.cpp b/src/widgets/itemviews/qcolumnviewgrip.cpp index 4a4237805f..00cd7df20a 100644 --- a/src/widgets/itemviews/qcolumnviewgrip.cpp +++ b/src/widgets/itemviews/qcolumnviewgrip.cpp @@ -65,7 +65,7 @@ QT_BEGIN_NAMESPACE Use setModel() to set the model. */ QColumnViewGrip::QColumnViewGrip(QWidget *parent) -: QWidget(*new QColumnViewGripPrivate, parent, 0) + : QWidget(*new QColumnViewGripPrivate, parent, { }) { #ifndef QT_NO_CURSOR setCursor(Qt::SplitHCursor); diff --git a/src/widgets/itemviews/qcolumnviewgrip_p.h b/src/widgets/itemviews/qcolumnviewgrip_p.h index 4311edbeb4..13e4c764e8 100644 --- a/src/widgets/itemviews/qcolumnviewgrip_p.h +++ b/src/widgets/itemviews/qcolumnviewgrip_p.h @@ -73,7 +73,7 @@ public: int moveGrip(int offset); protected: - QColumnViewGrip(QColumnViewGripPrivate &, QWidget *parent = nullptr, Qt::WindowFlags f = nullptr); + QColumnViewGrip(QColumnViewGripPrivate &, QWidget *parent = nullptr, Qt::WindowFlags f = { }); void paintEvent(QPaintEvent *event) override; void mouseDoubleClickEvent(QMouseEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override; diff --git a/src/widgets/itemviews/qdirmodel.cpp b/src/widgets/itemviews/qdirmodel.cpp index 13a1bbd8eb..c9e7c7b7a6 100644 --- a/src/widgets/itemviews/qdirmodel.cpp +++ b/src/widgets/itemviews/qdirmodel.cpp @@ -39,6 +39,8 @@ #include "qdirmodel.h" +#if QT_DEPRECATED_SINCE(5, 15) + #include <qfile.h> #include <qfilesystemmodel.h> #include <qurl.h> @@ -1160,7 +1162,7 @@ void QDirModelPrivate::init() root.parent = 0; root.info = QFileInfo(); clear(&root); - roleNames.insertMulti(QDirModel::FileIconRole, QByteArrayLiteral("fileIcon")); // == Qt::decoration + roleNames.insert(QDirModel::FileIconRole, QByteArrayLiteral("fileIcon")); // == Qt::decoration roleNames.insert(QDirModel::FilePathRole, QByteArrayLiteral("filePath")); roleNames.insert(QDirModel::FileNameRole, QByteArrayLiteral("fileName")); } @@ -1372,3 +1374,5 @@ QFileInfo QDirModelPrivate::resolvedInfo(QFileInfo info) QT_END_NAMESPACE #include "moc_qdirmodel.cpp" + +#endif // QT_DEPRECATED_SINCE(5, 15) diff --git a/src/widgets/itemviews/qdirmodel.h b/src/widgets/itemviews/qdirmodel.h index ab91bbd763..665a622dbe 100644 --- a/src/widgets/itemviews/qdirmodel.h +++ b/src/widgets/itemviews/qdirmodel.h @@ -45,6 +45,8 @@ #include <QtCore/qdir.h> #include <QtWidgets/qfileiconprovider.h> +#if QT_DEPRECATED_SINCE(5, 15) + QT_REQUIRE_CONFIG(dirmodel); QT_BEGIN_NAMESPACE @@ -65,9 +67,10 @@ public: FileNameRole }; - QDirModel(const QStringList &nameFilters, QDir::Filters filters, - QDir::SortFlags sort, QObject *parent = nullptr); - explicit QDirModel(QObject *parent = nullptr); + QT_DEPRECATED_VERSION_X_5_15("Use QFileSystemModel") QDirModel(const QStringList &nameFilters, + QDir::Filters filters, QDir::SortFlags sort, + QObject *parent = nullptr); + QT_DEPRECATED_VERSION_X_5_15("Use QFileSystemModel") explicit QDirModel(QObject *parent = nullptr); ~QDirModel(); QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; @@ -144,4 +147,6 @@ private: QT_END_NAMESPACE +#endif // QT_DEPRECATED_SINCE(5, 15) + #endif // QDIRMODEL_H diff --git a/src/widgets/itemviews/qlistwidget.cpp b/src/widgets/itemviews/qlistwidget.cpp index e7dcfac403..1931360dbc 100644 --- a/src/widgets/itemviews/qlistwidget.cpp +++ b/src/widgets/itemviews/qlistwidget.cpp @@ -987,8 +987,9 @@ QDataStream &operator>>(QDataStream &in, QListWidgetItem &item) \fn void QListWidgetItem::setSizeHint(const QSize &size) \since 4.1 - Sets the size hint for the list item to be \a size. If no size hint is set, - the item delegate will compute the size hint based on the item data. + Sets the size hint for the list item to be \a size. + If no size hint is set or \a size is invalid, the item + delegate will compute the size hint based on the item data. */ /*! @@ -1119,6 +1120,8 @@ void QListWidgetItem::setFlags(Qt::ItemFlags aflags) \since 4.2 Sets the background brush of the list item to the given \a brush. + Setting a default-constructed brush will let the view use the + default color from the style. \sa background(), setForeground() */ @@ -1137,6 +1140,8 @@ void QListWidgetItem::setFlags(Qt::ItemFlags aflags) \since 4.2 Sets the foreground brush of the list item to the given \a brush. + Setting a default-constructed brush will let the view use the + default color from the style. \sa foreground(), setBackground() */ diff --git a/src/widgets/itemviews/qlistwidget.h b/src/widgets/itemviews/qlistwidget.h index c102b144df..1319d658ab 100644 --- a/src/widgets/itemviews/qlistwidget.h +++ b/src/widgets/itemviews/qlistwidget.h @@ -127,7 +127,7 @@ public: inline QBrush background() const { return qvariant_cast<QBrush>(data(Qt::BackgroundRole)); } inline void setBackground(const QBrush &brush) - { setData(Qt::BackgroundRole, brush); } + { setData(Qt::BackgroundRole, brush.style() != Qt::NoBrush ? QVariant(brush) : QVariant()); } #if QT_DEPRECATED_SINCE(5, 13) QT_DEPRECATED_X ("Use QListWidgetItem::foreground() instead") @@ -141,7 +141,7 @@ public: inline QBrush foreground() const { return qvariant_cast<QBrush>(data(Qt::ForegroundRole)); } inline void setForeground(const QBrush &brush) - { setData(Qt::ForegroundRole, brush); } + { setData(Qt::ForegroundRole, brush.style() != Qt::NoBrush ? QVariant(brush) : QVariant()); } inline Qt::CheckState checkState() const { return static_cast<Qt::CheckState>(data(Qt::CheckStateRole).toInt()); } @@ -151,7 +151,7 @@ public: inline QSize sizeHint() const { return qvariant_cast<QSize>(data(Qt::SizeHintRole)); } inline void setSizeHint(const QSize &size) - { setData(Qt::SizeHintRole, size); } + { setData(Qt::SizeHintRole, size.isValid() ? QVariant(size) : QVariant()); } virtual QVariant data(int role) const; virtual void setData(int role, const QVariant &value); diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp index 11c5be10fd..81fceba8dc 100644 --- a/src/widgets/itemviews/qtableview.cpp +++ b/src/widgets/itemviews/qtableview.cpp @@ -1431,7 +1431,7 @@ void QTableView::paintEvent(QPaintEvent *event) const bool showGrid = d->showGrid; const int gridSize = showGrid ? 1 : 0; const int gridHint = style()->styleHint(QStyle::SH_Table_GridLineColor, &option, this); - const QColor gridColor = static_cast<QRgb>(gridHint); + const QColor gridColor = QColor::fromRgba(static_cast<QRgb>(gridHint)); const QPen gridPen = QPen(gridColor, 0, d->gridStyle); const QHeaderView *verticalHeader = d->verticalHeader; const QHeaderView *horizontalHeader = d->horizontalHeader; diff --git a/src/widgets/itemviews/qtablewidget.cpp b/src/widgets/itemviews/qtablewidget.cpp index b1dbafa997..91860341ee 100644 --- a/src/widgets/itemviews/qtablewidget.cpp +++ b/src/widgets/itemviews/qtablewidget.cpp @@ -1064,8 +1064,8 @@ QTableWidgetSelectionRange::~QTableWidgetSelectionRange() \since 4.1 Sets the size hint for the table item to be \a size. - If no size hint is set, the item delegate will compute the - size hint based on the item data. + If no size hint is set or \a size is invalid, the item + delegate will compute the size hint based on the item data. */ /*! @@ -1279,6 +1279,8 @@ void QTableWidgetItem::setFlags(Qt::ItemFlags aflags) \since 4.2 Sets the item's background brush to the specified \a brush. + Setting a default-constructed brush will let the view use the + default color from the style. \sa setForeground() */ @@ -1313,6 +1315,8 @@ void QTableWidgetItem::setFlags(Qt::ItemFlags aflags) \since 4.2 Sets the item's foreground brush to the specified \a brush. + Setting a default-constructed brush will let the view use the + default color from the style. \sa setBackground() */ diff --git a/src/widgets/itemviews/qtablewidget.h b/src/widgets/itemviews/qtablewidget.h index 0d93a0a075..70e2046400 100644 --- a/src/widgets/itemviews/qtablewidget.h +++ b/src/widgets/itemviews/qtablewidget.h @@ -146,7 +146,7 @@ public: inline QBrush background() const { return qvariant_cast<QBrush>(data(Qt::BackgroundRole)); } inline void setBackground(const QBrush &brush) - { setData(Qt::BackgroundRole, brush); } + { setData(Qt::BackgroundRole, brush.style() != Qt::NoBrush ? QVariant(brush) : QVariant()); } #if QT_DEPRECATED_SINCE(5, 13) QT_DEPRECATED_X ("Use QTableWidgetItem::foreground() instead") @@ -160,7 +160,7 @@ public: inline QBrush foreground() const { return qvariant_cast<QBrush>(data(Qt::ForegroundRole)); } inline void setForeground(const QBrush &brush) - { setData(Qt::ForegroundRole, brush); } + { setData(Qt::ForegroundRole, brush.style() != Qt::NoBrush ? QVariant(brush) : QVariant()); } inline Qt::CheckState checkState() const { return static_cast<Qt::CheckState>(data(Qt::CheckStateRole).toInt()); } @@ -170,7 +170,7 @@ public: inline QSize sizeHint() const { return qvariant_cast<QSize>(data(Qt::SizeHintRole)); } inline void setSizeHint(const QSize &size) - { setData(Qt::SizeHintRole, size); } + { setData(Qt::SizeHintRole, size.isValid() ? QVariant(size) : QVariant()); } virtual QVariant data(int role) const; virtual void setData(int role, const QVariant &value); diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index 6d0909108b..cce0773fec 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -1285,6 +1285,8 @@ bool QTreeWidgetItem::isFirstColumnSpanned() const Sets the background brush of the label in the given \a column to the specified \a brush. + Setting a default-constructed brush will let the view use the + default color from the style. \note If \l{Qt Style Sheets} are used on the same widget as setBackground(), style sheets will take precedence if the settings conflict. @@ -1314,6 +1316,8 @@ bool QTreeWidgetItem::isFirstColumnSpanned() const Returns the brush used to render the foreground (e.g. text) of the specified \a column. + Setting a default-constructed brush will let the view use the + default color from the style. \sa background() */ @@ -1357,8 +1361,8 @@ bool QTreeWidgetItem::isFirstColumnSpanned() const \since 4.1 Sets the size hint for the tree item in the given \a column to be \a size. - If no size hint is set, the item delegate will compute the size hint based - on the item data. + If no size hint is set or \a size is invalid, the item + delegate will compute the size hint based on the item data. */ /*! diff --git a/src/widgets/itemviews/qtreewidget.h b/src/widgets/itemviews/qtreewidget.h index bed77b336d..b9543fb954 100644 --- a/src/widgets/itemviews/qtreewidget.h +++ b/src/widgets/itemviews/qtreewidget.h @@ -146,7 +146,7 @@ public: inline QBrush background(int column) const { return qvariant_cast<QBrush>(data(column, Qt::BackgroundRole)); } inline void setBackground(int column, const QBrush &brush) - { setData(column, Qt::BackgroundRole, brush); } + { setData(column, Qt::BackgroundRole, brush.style() != Qt::NoBrush ? QVariant(brush) : QVariant()); } #if QT_DEPRECATED_SINCE(5, 13) QT_DEPRECATED_X ("Use QTreeWidgetItem::foreground() instead") @@ -160,7 +160,7 @@ public: inline QBrush foreground(int column) const { return qvariant_cast<QBrush>(data(column, Qt::ForegroundRole)); } inline void setForeground(int column, const QBrush &brush) - { setData(column, Qt::ForegroundRole, brush); } + { setData(column, Qt::ForegroundRole, brush.style() != Qt::NoBrush ? QVariant(brush) : QVariant()); } inline Qt::CheckState checkState(int column) const { return static_cast<Qt::CheckState>(data(column, Qt::CheckStateRole).toInt()); } @@ -170,7 +170,7 @@ public: inline QSize sizeHint(int column) const { return qvariant_cast<QSize>(data(column, Qt::SizeHintRole)); } inline void setSizeHint(int column, const QSize &size) - { setData(column, Qt::SizeHintRole, size); } + { setData(column, Qt::SizeHintRole, size.isValid() ? QVariant(size) : QVariant()); } virtual QVariant data(int column, int role) const; virtual void setData(int column, int role, const QVariant &value); |