From 53338de52b9e654e667df38ca47acc4984b2de2a Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Wed, 15 Feb 2012 15:02:05 +0100 Subject: QSqlTableModel::isDirty(): simplify and improve logic Change-Id: Ic1332befa9078a94f872e38ff779e5b4cec7c100 Reviewed-by: Yunqiao Yin --- src/sql/models/qsqltablemodel.cpp | 25 ++++++++----------------- 1 file 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())); } /*! -- cgit v1.2.3