diff options
author | Yulong Bai <yulong.bai@qt.io> | 2020-01-17 14:58:11 +0100 |
---|---|---|
committer | Yulong Bai <yulong.bai@qt.io> | 2020-01-20 14:34:35 +0100 |
commit | cc9e1326792835c846cd129b683db5af6ac931bb (patch) | |
tree | e24d57675f700eed9fd28b816dc1d467f2824b44 /src/quick/items/qquicktableview.cpp | |
parent | 67ac9dead884c7558896bdd97e4d3152100dc7ec (diff) |
QQuickTableView: make syncView/syncDirection/model private implementation virtual
For usage in HeaderView, moving getters/setters/sych-ers in private implementation
virtual, keep public APIs clean and also make private implementations overridable.
Change-Id: I4ad04665b7268354a49dc9711944ee0c6fd2738f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src/quick/items/qquicktableview.cpp')
-rw-r--r-- | src/quick/items/qquicktableview.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/quick/items/qquicktableview.cpp b/src/quick/items/qquicktableview.cpp index 28a0cddb8f..09d74d939e 100644 --- a/src/quick/items/qquicktableview.cpp +++ b/src/quick/items/qquicktableview.cpp @@ -2241,6 +2241,21 @@ void QQuickTableViewPrivate::syncDelegate() tableModel->setDelegate(assignedDelegate); } +QVariant QQuickTableViewPrivate::modelImpl() const +{ + return assignedModel; +} + +void QQuickTableViewPrivate::setModelImpl(const QVariant &newModel) +{ + if (newModel == assignedModel) + return; + + assignedModel = newModel; + scheduleRebuildTable(QQuickTableViewPrivate::RebuildOption::All); + emit q_func()->modelChanged(); +} + void QQuickTableViewPrivate::syncModel() { if (modelVariant == assignedModel) @@ -2662,18 +2677,12 @@ void QQuickTableView::setColumnWidthProvider(const QJSValue &provider) QVariant QQuickTableView::model() const { - return d_func()->assignedModel; + return d_func()->modelImpl(); } void QQuickTableView::setModel(const QVariant &newModel) { - Q_D(QQuickTableView); - if (newModel == d->assignedModel) - return; - - d->assignedModel = newModel; - d->scheduleRebuildTable(QQuickTableViewPrivate::RebuildOption::All); - emit modelChanged(); + return d_func()->setModelImpl(newModel); } QQmlComponent *QQuickTableView::delegate() const |