summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews/qtablewidget.h
diff options
context:
space:
mode:
authorChristian Ehrlicher <ch.ehrlicher@gmx.de>2019-06-25 20:47:13 +0200
committerChristian Ehrlicher <ch.ehrlicher@gmx.de>2019-11-22 22:02:15 +0100
commit96c27eb710a37780e79e09df2ebce1d5e4922c9d (patch)
tree2b5a92fd4a65c8e79ef1660f425b7d2e5f3b4165 /src/widgets/itemviews/qtablewidget.h
parent2c871dfd38d89d6415c2c25d47b4a0e9c8b2ef11 (diff)
QList/Table/TreeWidgetItem: Allow reseting values by passing the default value
The convenience functions setBackground(), setForeground() and setSizeHint() a default constructed value as 'reset'. This means a default constructed QBrush or QSize is returned in the data() function which leads to an unexpected background or forground color or size hint. Therefore check if the passed value is a default constructed value and set an empty QVariant instead which. [ChangeLog][QtWidgets][ItemViews] The convenience views QList/Table/TreeWidgetItem now treat a default constructed QBrush or QSize as an empty QVariant which allows to reset the values set to it's default values. Task-number: QTBUG-76423 Change-Id: I840570bbad3e5fd8c5b4b58903b4fd0066dbdeb7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src/widgets/itemviews/qtablewidget.h')
-rw-r--r--src/widgets/itemviews/qtablewidget.h6
1 files changed, 3 insertions, 3 deletions
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);