aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktableview.cpp
diff options
context:
space:
mode:
authorYulong Bai <yulong.bai@qt.io>2020-01-17 14:58:11 +0100
committerYulong Bai <yulong.bai@qt.io>2020-01-20 14:34:35 +0100
commitcc9e1326792835c846cd129b683db5af6ac931bb (patch)
treee24d57675f700eed9fd28b816dc1d467f2824b44 /src/quick/items/qquicktableview.cpp
parent67ac9dead884c7558896bdd97e4d3152100dc7ec (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.cpp25
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