summaryrefslogtreecommitdiffstats
path: root/filestreewidget.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2011-05-22 05:54:07 +0200
committerArno <am@disconnect.de>2011-05-22 05:54:07 +0200
commit47d30d5f4838a1980545c36308858efc7d5bde0d (patch)
treeb1137fa0db924409df7eda40f8ed08e5fa30ae1e /filestreewidget.cpp
parent9b2f7da813faea42587c0a78435a41aa338471fe (diff)
downloadSheMov-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.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);
+ }
+ }
+ }
}
}
}