summaryrefslogtreecommitdiffstats
path: root/archivemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'archivemodel.cpp')
-rw-r--r--archivemodel.cpp13
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);