summaryrefslogtreecommitdiffstats
path: root/src/sql/models/qsqltablemodel_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sql/models/qsqltablemodel_p.h')
-rw-r--r--src/sql/models/qsqltablemodel_p.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/sql/models/qsqltablemodel_p.h b/src/sql/models/qsqltablemodel_p.h
index 168b689441..7266810c40 100644
--- a/src/sql/models/qsqltablemodel_p.h
+++ b/src/sql/models/qsqltablemodel_p.h
@@ -102,10 +102,7 @@ public:
public:
inline ModifiedRow(Op o = None, const QSqlRecord &r = QSqlRecord())
: m_op(o), m_rec(r), m_submitted(false)
- {
- for (int i = m_rec.count() - 1; i >= 0; --i)
- m_rec.setGenerated(i, false);
- }
+ { init_rec(); }
inline Op op() const { return m_op; }
inline QSqlRecord rec() const { return m_rec; }
inline QSqlRecord& recRef() { return m_rec; }
@@ -117,8 +114,15 @@ public:
inline bool submitted() const { return m_submitted; }
inline void setSubmitted() { m_submitted = true; }
private:
+ void init_rec()
+ {
+ for (int i = m_rec.count() - 1; i >= 0; --i)
+ m_rec.setGenerated(i, false);
+ m_db_values = m_rec;
+ }
Op m_op;
QSqlRecord m_rec;
+ QSqlRecord m_db_values;
bool m_submitted;
};