summaryrefslogtreecommitdiffstats
path: root/src/sql/models/qsqltablemodel_p.h
diff options
context:
space:
mode:
authorJoão Abecasis <joao.abecasis@nokia.com>2012-02-05 21:25:31 +0100
committerJoão Abecasis <joao.abecasis@nokia.com>2012-02-05 21:26:33 +0100
commitd065dfd454890c332482a6109ed34a989e50809b (patch)
tree0d3e9c5367c1fad7d089d368182374e8d1d46ca1 /src/sql/models/qsqltablemodel_p.h
parent632840cb0f5ad355d87fc040b015d04af86371ec (diff)
parent9f54846d951838361f4188b423e7aa7c7b9a9540 (diff)
Merge remote-tracking branch 'gerrit/master' into containers
Conflicts: src/corelib/tools/qstring.cpp Change-Id: I23d214bf33c2badfae1876da3cc7d6d8f6e635fb
Diffstat (limited to 'src/sql/models/qsqltablemodel_p.h')
-rw-r--r--src/sql/models/qsqltablemodel_p.h30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/sql/models/qsqltablemodel_p.h b/src/sql/models/qsqltablemodel_p.h
index 9275712cee..56fd839a0c 100644
--- a/src/sql/models/qsqltablemodel_p.h
+++ b/src/sql/models/qsqltablemodel_p.h
@@ -1,8 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
+** Contact: http://www.qt-project.org/
**
** This file is part of the QtSql module of the Qt Toolkit.
**
@@ -35,6 +34,7 @@
**
**
**
+**
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -64,29 +64,22 @@ class QSqlTableModelPrivate: public QSqlQueryModelPrivate
public:
QSqlTableModelPrivate()
- : editIndex(-1), insertIndex(-1), sortColumn(-1),
+ : sortColumn(-1),
sortOrder(Qt::AscendingOrder),
strategy(QSqlTableModel::OnRowChange)
{}
void clear();
QSqlRecord primaryValues(int index);
- virtual void clearEditBuffer();
virtual void clearCache();
- static void clearGenerated(QSqlRecord &rec);
- static void setGeneratedValue(QSqlRecord &rec, int c, QVariant v);
QSqlRecord record(const QVector<QVariant> &values) const;
bool exec(const QString &stmt, bool prepStatement,
const QSqlRecord &rec, const QSqlRecord &whereValues);
virtual void revertCachedRow(int row);
- void revertInsertedRow();
- bool setRecord(int row, const QSqlRecord &record);
virtual int nameToIndex(const QString &name) const;
void initRecordAndPrimaryIndex();
QSqlDatabase db;
- int editIndex;
- int insertIndex;
int sortColumn;
Qt::SortOrder sortOrder;
@@ -102,15 +95,22 @@ public:
struct ModifiedRow
{
- ModifiedRow(Op o = None, const QSqlRecord &r = QSqlRecord()): op(o), rec(r) { clearGenerated(rec);}
- ModifiedRow(const ModifiedRow &other): op(other.op), rec(other.rec), primaryValues(other.primaryValues) {}
+ inline ModifiedRow(Op o = None, const QSqlRecord &r = QSqlRecord(), const QSqlRecord &pVals = QSqlRecord())
+ : op(o), rec(r), primaryValues(pVals)
+ {
+ for (int i = rec.count() - 1; i >= 0; --i)
+ rec.setGenerated(i, false);
+ }
+ inline void setValue(int c, const QVariant &v)
+ {
+ rec.setValue(c, v);
+ rec.setGenerated(c, true);
+ }
Op op;
QSqlRecord rec;
- QSqlRecord primaryValues;
+ QSqlRecord primaryValues;
};
- QSqlRecord editBuffer;
-
typedef QMap<int, ModifiedRow> CacheMap;
CacheMap cache;
};