diff options
author | Arno <am@disconnect.de> | 2011-05-22 05:54:07 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2011-05-22 05:54:07 +0200 |
commit | 47d30d5f4838a1980545c36308858efc7d5bde0d (patch) | |
tree | b1137fa0db924409df7eda40f8ed08e5fa30ae1e /filestreewidget.cpp | |
parent | 9b2f7da813faea42587c0a78435a41aa338471fe (diff) | |
download | SheMov-47d30d5f4838a1980545c36308858efc7d5bde0d.tar.gz SheMov-47d30d5f4838a1980545c36308858efc7d5bde0d.tar.bz2 SheMov-47d30d5f4838a1980545c36308858efc7d5bde0d.zip |
Update IsLocal when setting DVD no.
The field IsLocal in the SeriesTreeModel is now properly updated
when the DVD no. changes. It still doesn't propagate to the file
view, though.
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); + } + } + } } } } |