summaryrefslogtreecommitdiffstats
path: root/filestreemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filestreemodel.cpp')
-rw-r--r--filestreemodel.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/filestreemodel.cpp b/filestreemodel.cpp
index 5e0c8ca..a22ea36 100644
--- a/filestreemodel.cpp
+++ b/filestreemodel.cpp
@@ -44,8 +44,7 @@ FilesTreeModel::FilesTreeModel(QStringList &headers, QObject *parent) : SmTreeMo
mDeleteFileQuery->prepare("DELETE FROM files WHERE ifiles_id = :id");
mFileTypeQuery = new QSqlQuery(mDb);
mFileTypeQuery->prepare("SELECT sifiletype FROM files WHERE cmd5sum = :md5");
- mFileSizeLessThanQuery = new QSqlQuery(mDb);
- mFileSizeLessThanQuery->prepare("SELECT md5sum FROM files WHERE bisize =< :size AND sifiletype = 1 AND idvd = -1 ORDER BY bisize DESC LIMIT :limit");
+ mFileSizeLessThanQueryTemplate = QString("SELECT cmd5sum FROM files WHERE bisize <= :size AND sifiletype = 1 AND idvd = -1 ORDER BY bisize DESC LIMIT %1");
//file types
mFileTypes.insert(1, tr("Movie"));
@@ -408,12 +407,14 @@ QMap<QString, QString> FilesTreeModel::pictureMetaInfo(const QModelIndex &idx){
QModelIndexList FilesTreeModel::fileSizeLessThan(quint64 size, quint16 limit) const {
QModelIndexList retval;
- mFileSizeLessThanQuery->bindValue(":size", size);
- mFileSizeLessThanQuery->bindValue(":limit", limit);
- mFileSizeLessThanQuery->exec();
- while(mFileSizeLessThanQuery->next()){
- QVariant md5sum = mFileSizeLessThanQuery->value(0);
- QModelIndex curIdx = findRecursive(md5sum, Md5Sum);
+ QString queryString = mFileSizeLessThanQueryTemplate.arg(QString::number(limit));
+ QSqlQuery query(mDb);
+ query.prepare(queryString);
+ query.bindValue(":size", size);
+ query.exec();
+ while(query.next()){
+ QVariant md5sum = query.value(0);
+ QModelIndex curIdx = findRecursive(md5sum, Md5Sum, index(0, Md5Sum, QModelIndex()));
if(curIdx.isValid()){
retval << curIdx;
}