summaryrefslogtreecommitdiffstats
path: root/filestreemodel.cpp
diff options
context:
space:
mode:
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;