diff options
Diffstat (limited to 'src/gui/itemmodels/qstandarditemmodel_p.h')
-rw-r--r-- | src/gui/itemmodels/qstandarditemmodel_p.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gui/itemmodels/qstandarditemmodel_p.h b/src/gui/itemmodels/qstandarditemmodel_p.h index 27e108434d..a0c3f8a161 100644 --- a/src/gui/itemmodels/qstandarditemmodel_p.h +++ b/src/gui/itemmodels/qstandarditemmodel_p.h @@ -15,6 +15,8 @@ // We mean it. // +#include <QtGui/qstandarditemmodel.h> + #include <QtGui/private/qtguiglobal_p.h> #include "private/qabstractitemmodel_p.h" @@ -32,8 +34,10 @@ class QStandardItemData { public: inline QStandardItemData() : role(-1) {} - inline QStandardItemData(int r, const QVariant &v) : role(r), value(v) {} - inline QStandardItemData(const std::pair<const int&, const QVariant&> &p) : role(p.first), value(p.second) {} + inline QStandardItemData(int r, const QVariant &v) : + role(r == Qt::EditRole ? Qt::DisplayRole : r), value(v) {} + inline QStandardItemData(const std::pair<const int&, const QVariant&> &p) : + role(p.first == Qt::EditRole ? Qt::DisplayRole : p.first), value(p.second) {} int role; QVariant value; inline bool operator==(const QStandardItemData &other) const { return role == other.role && value == other.value; } @@ -144,7 +148,7 @@ public: void changeFlags(bool enable, Qt::ItemFlags f); void setItemData(const QMap<int, QVariant> &roles); - const QMap<int, QVariant> itemData() const; + QMap<int, QVariant> itemData() const; bool insertRows(int row, int count, const QList<QStandardItem*> &items); bool insertRows(int row, const QList<QStandardItem*> &items); |