From 895a5f5dae68fbcbf45ae7e073281f9bbd09931f Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 28 May 2011 10:17:06 +0200 Subject: Suggest file for burning Implemented an action to suggest the best fitting file for burning in FilesTreeWidget. Added 20 Mb of margin to maximum dvd size. --- filestreemodel.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'filestreemodel.cpp') 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 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; } -- cgit v1.2.3-70-g09d2