diff options
author | David Faure <david.faure@kdab.com> | 2015-01-15 14:12:34 +0100 |
---|---|---|
committer | David Faure <david.faure@kdab.com> | 2015-01-25 12:37:41 +0100 |
commit | 4910f416c2c0d1ec4a11408647bc6c96c719ce18 (patch) | |
tree | ef5532b84c725f4233a450f36180de5f62e97406 /src/widgets/itemviews | |
parent | ed56e79b5373a3fb7dbabc5b56eaae2ac898ce05 (diff) |
Itemviews: add ItemIsUserTristate flag
ItemIsTristate is now again purely for enabling the automatic management
of the check state of QTreeWidgetItems, while ItemIsUserTristate is
separate from that and lets the user select the three states manually.
This restores the original behavior of ItemIsTristate for QTreeWidgetItems,
which got broken by letting the user cycle through the states too.
[ChangeLog][QtWidgets][QTreeWidget] Restored Qt 5.1 behavior of
QTreeWidgetItems with ItemIsTristate to enable automatic management
of the check state. User-editable tristate checkboxes are now enabled
by setting the new flag ItemIsUserTristate.
Task-number: QTBUG-40060
Change-Id: I341f5e983804d3b4f27982520bb6647f3014cccc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
Diffstat (limited to 'src/widgets/itemviews')
-rw-r--r-- | src/widgets/itemviews/qitemdelegate.cpp | 2 | ||||
-rw-r--r-- | src/widgets/itemviews/qstyleditemdelegate.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/widgets/itemviews/qitemdelegate.cpp b/src/widgets/itemviews/qitemdelegate.cpp index 9303800e87..701eb52b62 100644 --- a/src/widgets/itemviews/qitemdelegate.cpp +++ b/src/widgets/itemviews/qitemdelegate.cpp @@ -1182,7 +1182,7 @@ bool QItemDelegate::editorEvent(QEvent *event, } Qt::CheckState state = static_cast<Qt::CheckState>(value.toInt()); - if (flags & Qt::ItemIsTristate) + if (flags & Qt::ItemIsUserTristate) state = ((Qt::CheckState)((state + 1) % 3)); else state = (state == Qt::Checked) ? Qt::Unchecked : Qt::Checked; diff --git a/src/widgets/itemviews/qstyleditemdelegate.cpp b/src/widgets/itemviews/qstyleditemdelegate.cpp index 9d16b2abfc..c1de608a6e 100644 --- a/src/widgets/itemviews/qstyleditemdelegate.cpp +++ b/src/widgets/itemviews/qstyleditemdelegate.cpp @@ -660,7 +660,7 @@ bool QStyledItemDelegate::editorEvent(QEvent *event, } Qt::CheckState state = static_cast<Qt::CheckState>(value.toInt()); - if (flags & Qt::ItemIsTristate) + if (flags & Qt::ItemIsUserTristate) state = ((Qt::CheckState)((state + 1) % 3)); else state = (state == Qt::Checked) ? Qt::Unchecked : Qt::Checked; |