diff options
Diffstat (limited to 'archivemodel.cpp')
-rw-r--r-- | archivemodel.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/archivemodel.cpp b/archivemodel.cpp index cace26b..549eef5 100644 --- a/archivemodel.cpp +++ b/archivemodel.cpp @@ -511,6 +511,7 @@ void ArchiveModel::addFiles(int partId, const QStringList files){ } } + void ArchiveModel::removeFiles(const QList<int> fileIds){ QSqlQuery removeQ(mDb); removeQ.prepare("DELETE FROM files WHERE ifiles_id = :id"); @@ -880,7 +881,7 @@ QVariant ArchiveFilesModel::data(const QModelIndex &index, int role) const { } if(role == Qt::DecorationRole){ if(index.column() == 0){ - if(item->parent() == root()){ + if(item->parent() == root() || item->data(FileType) == FT_ORIGIN){ return QVariant(); }else{ return decorationIcon(); @@ -964,6 +965,8 @@ void ArchiveFilesModel::populate(const QSet<int> &seriesPartIds){ } 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); + QSqlQuery originq(mDb); + originq.prepare("SELECT ifiles_id, tname, cmd5sum, bisize, ibitrate FROM files_origin where ifiles_id = :fid"); while(q.next()){ QList<QVariant> data; data << QVariant(); //expansion (empty) @@ -1003,6 +1006,14 @@ void ArchiveFilesModel::populate(const QSet<int> &seriesPartIds){ data[SizeDur] = dur; } } + originq.bindValue(":fid", data.at(FileId)); + originq.exec(); + while(originq.next()){ + QList<QVariant> oData; + oData << QVariant() << data.at(SeriesPartId) << originq.value(1) << originq.value(2) << originq.value(3) << -2 << FT_ORIGIN << data.at(FileNumber) << data.at(Quality) << data.at(FileId) << data.at(SizeDur) << tr("n/a") << data.at(SeriesName) << data.at(SeriesPart) << data.at(Subtitle); + SmTreeItem *oItem = new SmTreeItem(oData, newItem); + newItem->appendChild(oItem); + } }else{ ++mTotalOthers; SmTreeItem *newItem = new SmTreeItem(data, pictures); |