diff options
Diffstat (limited to 'newmoviewizard.cpp')
-rw-r--r-- | newmoviewizard.cpp | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp index 81e0312..5325c1c 100644 --- a/newmoviewizard.cpp +++ b/newmoviewizard.cpp @@ -130,6 +130,7 @@ MovieInfoPage::MovieInfoPage(QWidget *parent) : QWizardPage(parent){ //files view mFileView = new QTreeView; mFileView->setModel(mFileModel); + connect(mFileView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex,QModelIndex)), this, SLOT(fileSelectionChanged(QModelIndex,QModelIndex))); //add + remove files QHBoxLayout *fileButtonLayout = new QHBoxLayout; @@ -306,11 +307,11 @@ void MovieInfoPage::seriesPartChanged(int partNo){ if(selected.isEmpty()){ return; } - //int partNo = mPartno->value(); QModelIndex item = selected.at(0); if(item.data(WizardTreeModel::FileTypeRole).toInt() == WizardTreeModel::Movie){ QModelIndex seriesPartIdx = mFileModel->index(item.row(), WizardTreeModel::FilePart, item.parent()); - mFileModel->setData(seriesPartIdx, partNo, Qt::EditRole); + QVariant data = (partNo == 0) ? QVariant() : QVariant(partNo); + mFileModel->setData(seriesPartIdx, data, Qt::EditRole); } } @@ -329,6 +330,28 @@ void MovieInfoPage::initModel(){ mFileModel->setRoot(root); } +void MovieInfoPage::fileSelectionChanged(const QModelIndex ¤t, const QModelIndex &previous){ + Q_UNUSED(previous); + int type = current.data(WizardTreeModel::FileTypeRole).toInt(); + if(type == WizardTreeModel::Movie){ + int part = 1; + QVariant filePart= current.data(WizardTreeModel::FilePartRole); + if(filePart.isValid()){ + part = filePart.toInt(); + } + mPartno->blockSignals(true); + mPartno->setValue(part); + mPartno->blockSignals(false); + } + QString typeString = mFileModel->typeName(type); + int comboIdx = mFileType->findText(typeString); + if(comboIdx != -1){ + mFileType->blockSignals(true); + mFileType->setCurrentIndex(comboIdx); + mFileType->blockSignals(false); + } +} + MovieMappingPage::MovieMappingPage(const QString &table, QWidget *parent) : QWizardPage(parent){ QString title = QString(tr("Edit %1")).arg(table); QString subTitle = QString(tr("Edit %1 by adding them from the text field below")).arg(table); @@ -438,3 +461,7 @@ int WizardTreeModel::typeId(const QString &value) const{ } return -1; } + +QString WizardTreeModel::typeName(int typeId) const{ + return mFileTypeMap.value(typeId); +} |