diff options
author | Sona Kurazyan <sona.kurazyan@qt.io> | 2021-01-25 14:49:44 +0100 |
---|---|---|
committer | Sona Kurazyan <sona.kurazyan@qt.io> | 2021-01-26 21:48:00 +0100 |
commit | ba62256c5a554be1859e756bd89fc7a031341c86 (patch) | |
tree | ff51cca32d87243e74b4dfa046eba7f6f183eb56 /src/gui/itemmodels | |
parent | 709a0942aa5adeea8057a92a301dee85fc575528 (diff) |
Port QStandardItemModel to the new property system
Task-number: QTBUG-85520
Task-number: QTBUG-85521
Change-Id: I2f9bbe8bc06838fcbadd446e111fb697120f550c
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/gui/itemmodels')
-rw-r--r-- | src/gui/itemmodels/qstandarditemmodel.cpp | 10 | ||||
-rw-r--r-- | src/gui/itemmodels/qstandarditemmodel.h | 3 | ||||
-rw-r--r-- | src/gui/itemmodels/qstandarditemmodel_p.h | 2 |
3 files changed, 10 insertions, 5 deletions
diff --git a/src/gui/itemmodels/qstandarditemmodel.cpp b/src/gui/itemmodels/qstandarditemmodel.cpp index 234296271b..8ae5a3bf6c 100644 --- a/src/gui/itemmodels/qstandarditemmodel.cpp +++ b/src/gui/itemmodels/qstandarditemmodel.cpp @@ -420,9 +420,7 @@ void QStandardItemPrivate::setModel(QStandardItemModel *mod) \internal */ QStandardItemModelPrivate::QStandardItemModelPrivate() - : root(new QStandardItem), - itemPrototype(nullptr), - sortRole(Qt::DisplayRole) + : root(new QStandardItem), itemPrototype(nullptr) { root->setFlags(Qt::ItemIsDropEnabled); } @@ -2821,6 +2819,12 @@ void QStandardItemModel::setSortRole(int role) d->sortRole = role; } +QBindable<int> QStandardItemModel::bindableSortRole() +{ + Q_D(QStandardItemModel); + return &d->sortRole; +} + /*! \reimp */ diff --git a/src/gui/itemmodels/qstandarditemmodel.h b/src/gui/itemmodels/qstandarditemmodel.h index 02274839cb..66ae3a27cd 100644 --- a/src/gui/itemmodels/qstandarditemmodel.h +++ b/src/gui/itemmodels/qstandarditemmodel.h @@ -314,7 +314,7 @@ class QStandardItemModelPrivate; class Q_GUI_EXPORT QStandardItemModel : public QAbstractItemModel { Q_OBJECT - Q_PROPERTY(int sortRole READ sortRole WRITE setSortRole) + Q_PROPERTY(int sortRole READ sortRole WRITE setSortRole BINDABLE bindableSortRole) public: explicit QStandardItemModel(QObject *parent = nullptr); @@ -404,6 +404,7 @@ public: int sortRole() const; void setSortRole(int role); + QBindable<int> bindableSortRole(); QStringList mimeTypes() const override; QMimeData *mimeData(const QModelIndexList &indexes) const override; diff --git a/src/gui/itemmodels/qstandarditemmodel_p.h b/src/gui/itemmodels/qstandarditemmodel_p.h index 486006f70c..8a9a2c8d50 100644 --- a/src/gui/itemmodels/qstandarditemmodel_p.h +++ b/src/gui/itemmodels/qstandarditemmodel_p.h @@ -247,7 +247,7 @@ public: QHash<int, QByteArray> roleNames; QScopedPointer<QStandardItem> root; const QStandardItem *itemPrototype; - int sortRole; + Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(QStandardItemModelPrivate, int, sortRole, Qt::DisplayRole) }; QT_END_NAMESPACE |