diff options
Diffstat (limited to 'archivemodel.cpp')
-rw-r--r-- | archivemodel.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/archivemodel.cpp b/archivemodel.cpp index 0a2c645..fe0ffff 100644 --- a/archivemodel.cpp +++ b/archivemodel.cpp @@ -95,6 +95,12 @@ QVariant ArchiveModel::data(const QModelIndex &index, int role) const{ if(role == SeriesPartIdRole){ return item->data(SeriesPartId); } + if(role == SeriesPartRole){ + return item->data(SeriesPart); + } + if(role == SubtitleRole){ + return item->data(Subtitle); + } return SmTreeModel::data(index, role); } @@ -448,6 +454,21 @@ void ArchiveModel::setMetadata(int partId, const QList<QVariant> &data){ mDb.commit(); } +bool ArchiveModel::setPartNo(int partId, int newPartId, const QString &subtitle){ + mDb.transaction(); + QSqlQuery updatePartNoQ(mDb); + updatePartNoQ.prepare("UPDATE seriesparts SET iseriespart = :npid, tsubtitle = :tsub WHERE iseriesparts_id = :pid"); + updatePartNoQ.bindValue(":pid", partId); + updatePartNoQ.bindValue(":npid", newPartId); + updatePartNoQ.bindValue(":tsub", subtitle); + if(!updatePartNoQ.exec()){ + mDb.rollback(); + return false; + } + mDb.commit(); + return true; +} + QStringList ArchiveModel::allSources() const{ QSqlQuery sQ("SELECT DISTINCT(tsourcemedium) FROM metadata ORDER BY tsourcemedium ASC", mDb); QStringList retval; |