diff options
author | Mark Brand <mabrand@mabrand.nl> | 2012-02-06 14:04:26 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-08 14:43:18 +0100 |
commit | f3138fa080b1c6ce7ab28c4572c3cf647b3485c1 (patch) | |
tree | 04da0c5a42ad643c47feb65d14447c28438d0f90 /src/sql/models/qsqltablemodel_p.h | |
parent | 471cd624e632812f5b4147ba3a221562dbe9d300 (diff) |
QSqlTableModel: do not suppress dataChanged() on inserted record
Affects setData() and setRecord().
Previously dataChanged() was suppressed when editing an inserted
record, except for OnManualSubmit. The motivation was probably to
allow setData() to be used while handling primeInsert().
Suppressing dataChanged() is not a good idea since views other than
the one which made the change will not know of the change.
It is a terrible idea to call setData() or setRecord() while
handling primeInsert(), so this is now expressly forbidden.
setData() and setRecord() now do nothing and return false if called
while rows are being inserted.
Change-Id: I96738c09a6268704c5626d95b72bfb46378e3242
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Diffstat (limited to 'src/sql/models/qsqltablemodel_p.h')
-rw-r--r-- | src/sql/models/qsqltablemodel_p.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/sql/models/qsqltablemodel_p.h b/src/sql/models/qsqltablemodel_p.h index e6e70d23bc..dbf2e275b8 100644 --- a/src/sql/models/qsqltablemodel_p.h +++ b/src/sql/models/qsqltablemodel_p.h @@ -66,7 +66,8 @@ public: QSqlTableModelPrivate() : sortColumn(-1), sortOrder(Qt::AscendingOrder), - strategy(QSqlTableModel::OnRowChange) + strategy(QSqlTableModel::OnRowChange), + busyInsertingRows(false) {} void clear(); QSqlRecord primaryValues(int index); @@ -86,6 +87,7 @@ public: Qt::SortOrder sortOrder; QSqlTableModel::EditStrategy strategy; + bool busyInsertingRows; QSqlQuery editQuery; QSqlIndex primaryIndex; |