QSqlTableModel::isDirty(): simplify and improve logic

Change-Id: Ic1332befa9078a94f872e38ff779e5b4cec7c100
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
bb10
Mark Brand 2012-02-15 15:02:05 +01:00 committed by Qt by Nokia
parent 46ce1185fb
commit 53338de52b
1 changed files with 8 additions and 17 deletions

View 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()));
}
/*!