summaryrefslogtreecommitdiffstats
path: root/filestreemodel.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-11-06 14:12:12 +0100
committerArno <am@disconnect.de>2010-11-06 14:12:12 +0100
commit76bb89940a3818456f535b7d4a8ba6ab9f382631 (patch)
tree0a21a8c7309f8b6b18d6ec4ed5f0fcced7fb374c /filestreemodel.cpp
parentb62368501e5b37aea3d8d5feac884a254c71380d (diff)
downloadSheMov-76bb89940a3818456f535b7d4a8ba6ab9f382631.tar.gz
SheMov-76bb89940a3818456f535b7d4a8ba6ab9f382631.tar.bz2
SheMov-76bb89940a3818456f535b7d4a8ba6ab9f382631.zip
Bugfix in moveToBurn()
Using the filename from the QModelIndex isn't enough to determine wether the file is a cover or not. A series can have more than one part. So check the real file type and only copy if it's not of type Movie. This fix should obsolete the new ConsistencyChecker :)
Diffstat (limited to 'filestreemodel.cpp')
-rw-r--r--filestreemodel.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/filestreemodel.cpp b/filestreemodel.cpp
index fd6264a..38ef000 100644
--- a/filestreemodel.cpp
+++ b/filestreemodel.cpp
@@ -38,6 +38,8 @@ FilesTreeModel::FilesTreeModel(QStringList &headers, QObject *parent) : SmTreeMo
mFilesQuery->prepare("SELECT tfilename, cmd5sum FROM files WHERE iseriespart_id = :id");
mDeleteFileQuery = new QSqlQuery(mDb);
mDeleteFileQuery->prepare("DELETE FROM files WHERE ifiles_id = :id");
+ mFileTypeQuery = new QSqlQuery(mDb);
+ mFileTypeQuery->prepare("SELECT sifiletype FROM files WHERE cmd5sum = :md5");
//file types
mFileTypes.insert(1, tr("Movie"));
@@ -362,6 +364,19 @@ QMap<QString, QString> FilesTreeModel::pictureMetaInfo(const QModelIndex &idx){
return retval;
}
+int FilesTreeModel::fileType(const QString &md5sum) const{
+ if(md5sum == "00000000000000000000000000000000"){
+ return -1;
+ }
+ mFileTypeQuery->bindValue(":md5", md5sum);
+ int retval = -1;
+ mFileTypeQuery->exec();
+ while(mFileTypeQuery->next()){
+ retval = mFileTypeQuery->value(0).toInt();
+ }
+ return retval;
+}
+
bool FilesTreeModel::addFile(const QString &fullPath, int type, int quality, int filePart, int seriesPartId, int dvd){
QFileInfo fi(fullPath);
qint64 size = fi.size();