diff options
Diffstat (limited to 'filestreewidget.cpp')
-rw-r--r-- | filestreewidget.cpp | 17 |
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); + } + } + } } } } |