summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--filestreemodel.cpp28
-rw-r--r--filestreewidget.cpp5
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();
+ }
}
}
}