2
Copyright (C) 2010 Marco Mentasti <marcomentasti@gmail.com>
4
This library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Library General Public
6
License version 2 as published by the Free Software Foundation.
8
This library is distributed in the hope that it will be useful,
9
but WITHOUT ANY WARRANTY; without even the implied warranty of
10
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
Library General Public License for more details.
13
You should have received a copy of the GNU Library General Public License
14
along with this library; see the file COPYING.LIB. If not, write to
15
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16
Boston, MA 02110-1301, USA.
19
#ifndef CACHEDSQLQUERYMODEL_H
20
#define CACHEDSQLQUERYMODEL_H
22
#include <qsqlquerymodel.h>
23
#include <qsqlrecord.h>
24
#include <qcontiguouscache.h>
26
class CachedSqlQueryModel : public QSqlQueryModel
30
explicit CachedSqlQueryModel(QObject *parent = 0, int cacheCapacity = 1000);
32
QVariant data(const QModelIndex &item, int role = Qt::DisplayRole) const;
33
QSqlRecord record(int row) const;
36
int cacheCapacity() const;
40
void setCacheCapacity(int);
43
virtual void queryChange();
46
void cacheRecords(int from, int to) const;
48
mutable QContiguousCache<QSqlRecord> cache;
51
#endif // CACHEDSQLQUERYMODEL_H