diff options
author | Mark Brand <mabrand@mabrand.nl> | 2012-02-15 15:02:05 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-28 07:29:00 +0100 |
commit | 53338de52b9e654e667df38ca47acc4984b2de2a (patch) | |
tree | 39230e5d64c5c9f5116040a83f2edf2abe6f7439 | |
parent | 46ce1185fb8411c3dd775d19d2012c97b1d2e5fa (diff) |
QSqlTableModel::isDirty(): simplify and improve logic
Change-Id: Ic1332befa9078a94f872e38ff779e5b4cec7c100
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
-rw-r--r-- | src/sql/models/qsqltablemodel.cpp | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/src/sql/models/qsqltablemodel.cpp b/src/sql/models/qsqltablemodel.cpp index c895c39212..b36a54bbe9 100644 --- a/src/sql/models/qsqltablemodel.cpp +++ b/src/sql/models/qsqltablemodel.cpp @@ -461,23 +461,14 @@ bool QSqlTableModel::isDirty(const QModelIndex &index) const if (!index.isValid()) return false; - switch (d->strategy) { - case OnFieldChange: - return false; - case OnRowChange: { - const QSqlTableModelPrivate::ModifiedRow row = d->cache.value(index.row()); - return row.op() == QSqlTableModelPrivate::Update - && row.rec().isGenerated(index.column()); - } - case OnManualSubmit: { - const QSqlTableModelPrivate::ModifiedRow row = d->cache.value(index.row()); - return row.op() == QSqlTableModelPrivate::Insert - || row.op() == QSqlTableModelPrivate::Delete - || (row.op() == QSqlTableModelPrivate::Update - && row.rec().isGenerated(index.column())); - } - } - return false; + const QSqlTableModelPrivate::ModifiedRow row = d->cache.value(index.row()); + if (row.submitted()) + return false; + + return row.op() == QSqlTableModelPrivate::Insert + || row.op() == QSqlTableModelPrivate::Delete + || (row.op() == QSqlTableModelPrivate::Update + && row.rec().isGenerated(index.column())); } /*! |