summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2012-02-15 15:02:05 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-28 07:29:00 +0100
commit53338de52b9e654e667df38ca47acc4984b2de2a (patch)
tree39230e5d64c5c9f5116040a83f2edf2abe6f7439 /src
parent46ce1185fb8411c3dd775d19d2012c97b1d2e5fa (diff)
QSqlTableModel::isDirty(): simplify and improve logic
Change-Id: Ic1332befa9078a94f872e38ff779e5b4cec7c100 Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/sql/models/qsqltablemodel.cpp25
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()));
}
/*!