diff options
Diffstat (limited to 'src/sql/models/qsqltablemodel.cpp')
-rw-r--r-- | src/sql/models/qsqltablemodel.cpp | 49 |
1 files changed, 19 insertions, 30 deletions
diff --git a/src/sql/models/qsqltablemodel.cpp b/src/sql/models/qsqltablemodel.cpp index 6b832bd42d..0d17194287 100644 --- a/src/sql/models/qsqltablemodel.cpp +++ b/src/sql/models/qsqltablemodel.cpp @@ -19,12 +19,7 @@ QT_BEGIN_NAMESPACE using namespace Qt::StringLiterals; -typedef QSqlTableModelSql Sql; - -QSqlTableModelPrivate::~QSqlTableModelPrivate() -{ - -} +using SqlTm = QSqlQueryModelSql; /*! \internal Populates our record with values. @@ -143,11 +138,10 @@ bool QSqlTableModelPrivate::exec(const QString &stmt, bool prepStatement, return false; } } - int i; - for (i = 0; i < rec.count(); ++i) + for (int i = 0; i < rec.count(); ++i) if (rec.isGenerated(i)) editQuery.addBindValue(rec.value(i)); - for (i = 0; i < whereValues.count(); ++i) + for (int i = 0; i < whereValues.count(); ++i) if (whereValues.isGenerated(i) && !whereValues.isNull(i)) editQuery.addBindValue(whereValues.value(i)); @@ -205,7 +199,7 @@ bool QSqlTableModelPrivate::exec(const QString &stmt, bool prepStatement, want to resolve foreign keys. \sa QSqlRelationalTableModel, QSqlQuery, {Model/View Programming}, - {Table Model Example}, {Cached Table Example} + {Table Model Example}, {Cached SQL Table} */ /*! @@ -342,7 +336,7 @@ bool QSqlTableModel::select() d->clearCache(); - setQuery(query, d->db); + this->QSqlQueryModel::setQuery(query, d->db); if (!d->query.isActive() || lastError().isValid()) { // something went wrong - revert to non-select state @@ -379,7 +373,7 @@ bool QSqlTableModel::selectRow(int row) d->tableName, primaryValues(row), false); - static const QString wh = Sql::where() + Sql::sp(); + static const QString wh = SqlTm::where() + SqlTm::sp(); if (d->filter.startsWith(wh, Qt::CaseInsensitive)) d->filter.remove(0, wh.size()); @@ -475,10 +469,8 @@ QVariant QSqlTableModel::headerData(int section, Qt::Orientation orientation, in bool QSqlTableModel::isDirty() const { Q_D(const QSqlTableModel); - QSqlTableModelPrivate::CacheMap::ConstIterator i = d->cache.constBegin(); - const QSqlTableModelPrivate::CacheMap::ConstIterator e = d->cache.constEnd(); - for (; i != e; ++i) { - if (!i.value().submitted()) + for (const auto &val : std::as_const(d->cache)) { + if (!val.submitted()) return true; } return false; @@ -614,7 +606,7 @@ bool QSqlTableModel::updateRowInTable(int row, const QSqlRecord &values) return false; } - return d->exec(Sql::concat(stmt, where), prepStatement, rec, whereValues); + return d->exec(SqlTm::concat(stmt, where), prepStatement, rec, whereValues); } @@ -682,7 +674,7 @@ bool QSqlTableModel::deleteRowFromTable(int row) return false; } - return d->exec(Sql::concat(stmt, where), prepStatement, QSqlRecord() /* no new values */, whereValues); + return d->exec(SqlTm::concat(stmt, where), prepStatement, QSqlRecord() /* no new values */, whereValues); } /*! @@ -954,8 +946,8 @@ QString QSqlTableModel::orderByClause() const QString field = d->db.driver()->escapeIdentifier(d->tableName, QSqlDriver::TableName) + u'.' + d->db.driver()->escapeIdentifier(f.name(), QSqlDriver::FieldName); - field = d->sortOrder == Qt::AscendingOrder ? Sql::asc(field) : Sql::desc(field); - return Sql::orderBy(field); + field = d->sortOrder == Qt::AscendingOrder ? SqlTm::asc(field) : SqlTm::desc(field); + return SqlTm::orderBy(field); } /*! @@ -997,7 +989,7 @@ QString QSqlTableModel::selectStatement() const QString(), QSqlError::StatementError); return stmt; } - return Sql::concat(Sql::concat(stmt, Sql::where(d->filter)), orderByClause()); + return SqlTm::concat(SqlTm::concat(stmt, SqlTm::where(d->filter)), orderByClause()); } /*! @@ -1360,8 +1352,7 @@ bool QSqlTableModel::setRecord(int row, const QSqlRecord &values) return false; // Check field names and remember mapping - typedef QMap<int, int> Map; - Map map; + QMap<int, int> map; for (int i = 0; i < values.count(); ++i) { int idx = d->nameToIndex(values.fieldName(i)); if (idx == -1) @@ -1374,18 +1365,16 @@ bool QSqlTableModel::setRecord(int row, const QSqlRecord &values) mrow = QSqlTableModelPrivate::ModifiedRow(QSqlTableModelPrivate::Update, QSqlQueryModel::record(row)); - Map::const_iterator i = map.constBegin(); - const Map::const_iterator e = map.constEnd(); - for ( ; i != e; ++i) { + for (const auto i : map.asKeyValueRange()) { // have to use virtual setData() here rather than mrow.setValue() EditStrategy strategy = d->strategy; d->strategy = OnManualSubmit; - QModelIndex cIndex = createIndex(row, i.value()); - setData(cIndex, values.value(i.key())); + QModelIndex cIndex = createIndex(row, i.second); + setData(cIndex, values.value(i.first)); d->strategy = strategy; // setData() sets generated to TRUE, but source record should prevail. - if (!values.isGenerated(i.key())) - mrow.recRef().setGenerated(i.value(), false); + if (!values.isGenerated(i.first)) + mrow.recRef().setGenerated(i.second, false); } if (d->strategy != OnManualSubmit) |