summaryrefslogtreecommitdiffstats
path: root/filestreewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filestreewidget.cpp')
-rw-r--r--filestreewidget.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/filestreewidget.cpp b/filestreewidget.cpp
index 6999c06..678abb1 100644
--- a/filestreewidget.cpp
+++ b/filestreewidget.cpp
@@ -230,17 +230,22 @@ void FilesTreeWidget::edit(int column){
value = QInputDialog::getInt(this, msg, msg, sIdxes.first().data().toInt(), -1, 10, 1, &dialogOk);
}
if(column == FilesTreeModel::DvdNo){
- SeriesTreeModel *seriesModel = static_cast<SeriesTreeModel*>(SmGlobals::instance()->model("SeriesModel"));
- int nextDvdNo = seriesModel->findNextDvdNo();
+ int nextDvdNo = mSeriesModel->findNextDvdNo();
value = QInputDialog::getInt(this, msg, msg, nextDvdNo, -1, 2147483647, 1, &dialogOk);
}
if(dialogOk){
foreach(QModelIndex curIdx, sIdxes){
mModel->setData(curIdx, value, Qt::EditRole);
- }
- // reload the view
- if((column == FilesTreeModel::DvdNo) && (mModel->mode() != FilesTreeModel::Normal)){
- mModel->setMode(mModel->mode());
+ if(column == FilesTreeModel::DvdNo){
+ if(curIdx.data(FilesTreeModel::FileTypeRole).toInt() == FilesTreeModel::Movie){
+ QModelIndex seriesIdx = mSeriesModel->findRecursive(curIdx.data(FilesTreeModel::SeriesPartIdRole), SeriesTreeModel::SeriesPartId, mSeriesModel->index(0, 0, QModelIndex()));
+ if(seriesIdx.isValid()){
+ QModelIndex isLocalIdx = mSeriesModel->index(seriesIdx.row(), SeriesTreeModel::IsLocal, seriesIdx.parent());
+ bool isLocal = (value > -1) ? false : true;
+ mSeriesModel->setData(isLocalIdx, isLocal, Qt::EditRole);
+ }
+ }
+ }
}
}
}