summaryrefslogtreecommitdiffstats
path: root/src/gui/itemmodels
diff options
context:
space:
mode:
authorSona Kurazyan <sona.kurazyan@qt.io>2021-01-25 14:49:44 +0100
committerSona Kurazyan <sona.kurazyan@qt.io>2021-01-26 21:48:00 +0100
commitba62256c5a554be1859e756bd89fc7a031341c86 (patch)
treeff51cca32d87243e74b4dfa046eba7f6f183eb56 /src/gui/itemmodels
parent709a0942aa5adeea8057a92a301dee85fc575528 (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.cpp10
-rw-r--r--src/gui/itemmodels/qstandarditemmodel.h3
-rw-r--r--src/gui/itemmodels/qstandarditemmodel_p.h2
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