From d9d32f44d64834754650fc4fe70a4d7aae449e0c Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 9 Jul 2010 21:07:10 +0200 Subject: Final version of NewMovieWizard::accept() (hopefully) Actually made this function work. Forgot to handle actors and genres. Also several bugfixes in other parts: -fix typo in FilesTreeModel query -commit changes ind MappingTableModel::addItem, making the genre and actor widgets work as intended -remove redundant MappingTableModel::find(), already implemented in SmTreeModel -call next() instead of exec() in SeriesTreeModel::addSeriesPart. Query is already executing if it's a select -use QModelIndex::row() instead of column() in MappingTableWidget::removeItem() -add partNo to layout in MovieInfopage::MovieInfoPage() -add convenience function setMappings() to MappingTableModel --- newmoviewizard.cpp | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'newmoviewizard.cpp') diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp index 8a4cdd8..a38c6e9 100644 --- a/newmoviewizard.cpp +++ b/newmoviewizard.cpp @@ -87,10 +87,25 @@ void NewMovieWizard::accept(){ int type = it.value(); if(filesModel->addFile(path, type, quality, partNo, seriesPartId, dvdNo)){ QString md5sum = Helper::md5Sum(path); - //Helper::moveToArchive(path, md5sum); + Helper::moveToArchive(path, md5sum); } + ++it; } + //handle actors + MovieMappingPage *actorPage = static_cast(page(1)); + MappingTableItemModel *actorItemModel = actorPage->model(); + QStringList actors = actorItemModel->stringList(); + MappingTableModel *actorModel = static_cast(SmModelSingleton::instance()->model("actors")); + actorModel->setMappings(actors, seriesPartId); + + //handle genres + MovieMappingPage *genrePage = static_cast(page(2)); + MappingTableItemModel *genreItemModel = genrePage->model(); + QStringList genres = genreItemModel->stringList(); + MappingTableModel *genreModel = static_cast(SmModelSingleton::instance()->model("genres")); + genreModel->setMappings(genres, seriesPartId); + //done emit seriesAdded(series, seriesno); QDialog::accept(); @@ -159,6 +174,8 @@ MovieInfoPage::MovieInfoPage(QWidget *parent) : QWizardPage(parent){ mPartno = new QSpinBox; l4->setBuddy(mPartno); mPartno->setMinimum(1); + numberLayout->addWidget(l4); + numberLayout->addWidget(mPartno); QLabel *l5 = new QLabel(tr("&Quality")); mQuality = new QSpinBox; l5->setBuddy(mQuality); @@ -196,9 +213,9 @@ MovieInfoPage::MovieInfoPage(QWidget *parent) : QWizardPage(parent){ //expose data registerField("title*", mTitle); - registerField("seriesNo*", mSeriesNo); - registerField("partNo*", mPartno); - registerField("quality*", mQuality); + registerField("seriesNo", mSeriesNo); + registerField("partNo", mPartno); + registerField("quality", mQuality); registerField("dvdNo", mDvdNo); registerField("onDvd", mOnDvd); } -- cgit v1.2.3-70-g09d2