diff options
author | Arno <am@disconnect.de> | 2013-02-08 04:22:35 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-02-08 04:22:35 +0100 |
commit | d400c3cd5ce533714832b854bad4c40c25dcd874 (patch) | |
tree | e0b8f2cb41df04941b178064a51c42a99e5c6469 /filestreemodel.cpp | |
parent | 534ca73d64b13c4604e6823e7d3a7f290b225e1d (diff) | |
download | SheMov-d400c3cd5ce533714832b854bad4c40c25dcd874.tar.gz SheMov-d400c3cd5ce533714832b854bad4c40c25dcd874.tar.bz2 SheMov-d400c3cd5ce533714832b854bad4c40c25dcd874.zip |
Refresh view properly after setting DVD no.
Diffstat (limited to 'filestreemodel.cpp')
-rw-r--r-- | filestreemodel.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/filestreemodel.cpp b/filestreemodel.cpp index d290d5c..4f57267 100644 --- a/filestreemodel.cpp +++ b/filestreemodel.cpp @@ -94,6 +94,7 @@ void FilesTreeModel::setIds(const QList<int> &seriesPartIds){ void FilesTreeModel::setForBurn(){ mDisplayMode = Burn; + mCurrentIds.clear(); QString query = QString("SELECT iseriespart_id, tfilename, cmd5sum, bisize, idvd, sifiletype, sifileno, siquality, ifiles_id, series.tseries_name, seriesparts.iseriespart, seriesparts.bfavorite FROM files, seriesparts, series WHERE iseriespart_id IN (SELECT iseriesparts_id from seriesparts where bfavorite = false) AND files.iseriespart_id = seriesparts.iseriesparts_id AND seriesparts.iseries_id = series.iseries_id AND sifiletype = 1 AND idvd < 0 ORDER BY iseriespart_id, sifileno ASC"); QSqlQuery filesQuery(mDb); filesQuery.prepare(query); @@ -256,19 +257,11 @@ bool FilesTreeModel::setData(const QModelIndex &index, const QVariant &value, in mUpdateDvdQuery->bindValue(":id", index.data(FilesIdRole)); mUpdateDvdQuery->bindValue(":dvd", value); if(mUpdateDvdQuery->exec()){ - item->setData(DvdNo, value); - bool isLocal = (value.toInt() == -1) ? true : false; - if(mode() == SeriesTreeModel::Local){ - if(!isLocal){ - removeRow(index.row(), index.parent()); - } - }else if(mode() == SeriesTreeModel::Archived){ - if(isLocal){ - removeRow(index.row(), index.parent()); - } - } + refresh(); return true; - } + }else{ + return false; + } } if(index.column() == Quality){ if(value.toInt() > 10 || value.toInt() < 0){ @@ -578,7 +571,16 @@ void FilesTreeModel::readSettings(){ } void FilesTreeModel::refresh(){ - setIds(mCurrentIds); + switch(mDisplayMode){ + case Ids: + setIds(mCurrentIds); + break; + case Burn: + setForBurn(); + break; + default: + ; + } } void FilesTreeModel::populate(QSqlQuery &filesQuery){ |