diff options
Diffstat (limited to 'archivemodel.cpp')
-rw-r--r-- | archivemodel.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/archivemodel.cpp b/archivemodel.cpp index 483eb9f..4b0c720 100644 --- a/archivemodel.cpp +++ b/archivemodel.cpp @@ -823,6 +823,15 @@ QVariant ArchiveFilesModel::data(const QModelIndex &index, int role) const { if(role == FullPathRole){ return item->data(FullPath); } + if(role == SeriesNameRole){ + return item->data(SeriesName); + } + if(role == SeriesPartRole){ + return item->data(SeriesPart); + } + if(role == SubtitleRole){ + return item->data(Subtitle); + } if(role == Qt::ForegroundRole){ if(col == DvdNo){ if(item->data(DvdNo).toInt() < 0){ @@ -945,7 +954,7 @@ void ArchiveFilesModel::populate(const QSet<int> &seriesPartIds){ foreach(int i, seriesPartIds){ ids << QString::number(i); } - QString queryString = QString("SELECT iseriespart_id, tfilename, cmd5sum, bisize, idvd, sifiletype, sifileno, siquality, ifiles_id, cpicsize, iduration FROM files WHERE iseriespart_id IN (%1) ORDER BY tfilename ASC").arg(ids.join(",")); + QString queryString = QString("SELECT iseriespart_id, tfilename, cmd5sum, bisize, idvd, sifiletype, sifileno, siquality, ifiles_id, cpicsize, iduration, series.tseries_name, seriesparts.iseriespart, seriesparts.tsubtitle FROM files, seriesparts, series WHERE iseriespart_id IN (%1) and files.iseriespart_id = seriesparts.iseriesparts_id and seriesparts.iseries_id = series.iseries_id ORDER BY tfilename ASC;").arg(ids.join(",")); QSqlQuery q(queryString, mDb); while(q.next()){ QList<QVariant> data; @@ -959,7 +968,15 @@ void ArchiveFilesModel::populate(const QSet<int> &seriesPartIds){ data << 0x0; } QString fullPath = Helper::createArchivePath(data.at(Filename).toString(), data.at(Md5Sum).toString()); - data << fullPath; + QFileInfo fullPathFi(fullPath); + if(!fullPathFi.exists()){ + QString usbPath = Helper::createUSBPath(q.value(1).toString(), q.value(11).toString(), q.value(13).toString(), q.value(4).toInt(), q.value(12).toInt()); + QFileInfo usbPathFi(usbPath); + if(usbPathFi.exists()){ + fullPath = usbPath; + } + } + data << fullPath << q.value(11) << q.value(12) << q.value(13); if(data.at(FileType).toInt() == FT_MOVIE){ SmTreeItem *newItem = new SmTreeItem(data, movies); movies->appendChild(newItem); |