QSqlTableModel::isDirty(): simplify and improve logic
authorMark Brand <mabrand@mabrand.nl>
Wed, 15 Feb 2012 14:02:05 +0000 (15:02 +0100)
committerQt by Nokia <qt-info@nokia.com>
Tue, 28 Feb 2012 06:29:00 +0000 (07:29 +0100)
Change-Id: Ic1332befa9078a94f872e38ff779e5b4cec7c100
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
src/sql/models/qsqltablemodel.cpp

index c895c39..b36a54b 100644 (file)
@@ -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()));
 }
 
 /*!