summaryrefslogtreecommitdiffstats
path: root/filestreemodel.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2011-05-27 19:00:03 +0200
committerArno <am@disconnect.de>2011-05-27 19:00:03 +0200
commit58ba968b492479f6a4539bceaefe3eaa88aab8f7 (patch)
tree84670022123ae15c15a3f8d80da622bf7373250c /filestreemodel.cpp
parentbd74eb2df37dd84ecf0279971c64c23ac5de8bce (diff)
downloadSheMov-58ba968b492479f6a4539bceaefe3eaa88aab8f7.tar.gz
SheMov-58ba968b492479f6a4539bceaefe3eaa88aab8f7.tar.bz2
SheMov-58ba968b492479f6a4539bceaefe3eaa88aab8f7.zip
Implemented FilesTreeModel::fileSizeLessThan
Implemented function to find movie files less a specific size to suggest suitable files for burning. Not tested, and I guess I have to take the picture size into account.
Diffstat (limited to 'filestreemodel.cpp')
-rw-r--r--filestreemodel.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/filestreemodel.cpp b/filestreemodel.cpp
index 80c6b96..5e0c8ca 100644
--- a/filestreemodel.cpp
+++ b/filestreemodel.cpp
@@ -44,6 +44,8 @@ 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");
//file types
mFileTypes.insert(1, tr("Movie"));
@@ -404,6 +406,21 @@ QMap<QString, QString> FilesTreeModel::pictureMetaInfo(const QModelIndex &idx){
return retval;
}
+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);
+ if(curIdx.isValid()){
+ retval << curIdx;
+ }
+ }
+ return retval;
+}
+
int FilesTreeModel::fileType(const QString &md5sum) const{
if(md5sum == "00000000000000000000000000000000"){
return -1;