diff options
Diffstat (limited to 'filestreemodel.cpp')
-rw-r--r-- | filestreemodel.cpp | 17 |
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; } |