summaryrefslogtreecommitdiffstats
path: root/filestreemodel.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2011-05-28 10:17:06 +0200
committerArno <am@disconnect.de>2011-05-28 10:17:06 +0200
commit895a5f5dae68fbcbf45ae7e073281f9bbd09931f (patch)
treea5f523fb42ec890c8702a34572d85d03735dda00 /filestreemodel.cpp
parent58ba968b492479f6a4539bceaefe3eaa88aab8f7 (diff)
downloadSheMov-895a5f5dae68fbcbf45ae7e073281f9bbd09931f.tar.gz
SheMov-895a5f5dae68fbcbf45ae7e073281f9bbd09931f.tar.bz2
SheMov-895a5f5dae68fbcbf45ae7e073281f9bbd09931f.zip
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.
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;
}