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