diff options
author | Arno <am@disconnect.de> | 2011-05-27 19:00:03 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2011-05-27 19:00:03 +0200 |
commit | 58ba968b492479f6a4539bceaefe3eaa88aab8f7 (patch) | |
tree | 84670022123ae15c15a3f8d80da622bf7373250c /filestreemodel.cpp | |
parent | bd74eb2df37dd84ecf0279971c64c23ac5de8bce (diff) | |
download | SheMov-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.cpp | 17 |
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; |