diff options
-rw-r--r-- | filestreemodel.cpp | 28 | ||||
-rw-r--r-- | filestreewidget.cpp | 5 |
2 files changed, 19 insertions, 14 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){ diff --git a/filestreewidget.cpp b/filestreewidget.cpp index ffe1343..e872d21 100644 --- a/filestreewidget.cpp +++ b/filestreewidget.cpp @@ -248,7 +248,10 @@ void FilesTreeWidget::edit(int column){ } } } - mModel->setData(curIdx, value, Qt::EditRole); + if(mModel->setData(curIdx, value, Qt::EditRole)){ + //model has been refreshed + mView->expandAll(); + } } } } |