diff options
-rw-r--r-- | archiveview.cpp | 15 | ||||
-rw-r--r-- | archiveview.h | 4 | ||||
-rw-r--r-- | newmoviewizard.cpp | 22 | ||||
-rw-r--r-- | newmoviewizard.h | 7 |
4 files changed, 33 insertions, 15 deletions
diff --git a/archiveview.cpp b/archiveview.cpp index 1d0502a..2521113 100644 --- a/archiveview.cpp +++ b/archiveview.cpp @@ -395,10 +395,10 @@ QWidget *FileTypeDelegate::createEditor(QWidget *parent, const QStyleOptionViewI /* Mapping Editor Widget */ -MappingEditorWidget::MappingEditorWidget(const QString &caption, QWidget *parent) : QWidget(parent){ +MappingEditorWidget::MappingEditorWidget(const QString &caption, QWidget *parent) : QWidget(parent), mCaption(caption){ // the view mModel = new QStandardItemModel(this); - mModel->setHorizontalHeaderLabels(QStringList() << caption); + mModel->setHorizontalHeaderItem(0, new QStandardItem(mCaption)); mProxy = new QSortFilterProxyModel(this); mProxy->setSourceModel(mModel); QVBoxLayout *viewLayout = new QVBoxLayout; @@ -420,10 +420,11 @@ MappingEditorWidget::MappingEditorWidget(const QString &caption, QWidget *parent // edit buttons QHBoxLayout *editButtonLayout = new QHBoxLayout; - mRemove = new QPushButton(tr("Remove")); + editButtonLayout->addStretch(); + mRemove = new QPushButton(tr("&Remove")); connect(mRemove, SIGNAL(clicked()), this, SLOT(removeItem())); editButtonLayout->addWidget(mRemove); - mAdd = new QPushButton(tr("Add")); + mAdd = new QPushButton(tr("&Add")); connect(mAdd, SIGNAL(clicked()), this, SLOT(addItem())); editButtonLayout->addWidget(mAdd); @@ -456,6 +457,12 @@ QStringList MappingEditorWidget::items() const{ return retval; } +void MappingEditorWidget::clear(){ + mModel->clear(); + mModel->setHorizontalHeaderItem(0, new QStandardItem(mCaption)); + mEditor->clear(); +} + void MappingEditorWidget::addItem(){ QString itemName = mEditor->text(); if(itemName.isEmpty()){ diff --git a/archiveview.h b/archiveview.h index 36c3eb4..ed19e4e 100644 --- a/archiveview.h +++ b/archiveview.h @@ -144,6 +144,9 @@ class MappingEditorWidget : public QWidget { void setCurrentItems(const QStringList &items); QStringList items() const; + public slots: + void clear(); + private slots: void addItem(); void removeItem(); @@ -157,6 +160,7 @@ class MappingEditorWidget : public QWidget { QLineEdit *mEditor; QCompleter *mCompleter; QStringListModel *mCompleterModel; + QString mCaption; }; /* dialog putting MappingEditorWidget and diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp index 8e4e684..e8b3712 100644 --- a/newmoviewizard.cpp +++ b/newmoviewizard.cpp @@ -40,8 +40,8 @@ NewMovieWizard::NewMovieWizard(QWidget *parent) : QWizard(parent){ mInfoPage = new MovieInfoPage; - mActorPage = new MovieMappingPage("actors"); - mGenrePage = new MovieMappingPage("genres"); + mActorPage = new MovieMappingPage("Actors"); + mGenrePage = new MovieMappingPage("Genres"); mMetadataPage = new MovieMetadataPage; addPage(mInfoPage); addPage(mActorPage); @@ -152,8 +152,7 @@ void NewMovieWizard::accept(){ //files have landed //handle actors MovieMappingPage *actorPage = static_cast<MovieMappingPage*>(page(1)); - MappingTableItemModel *actorItemModel = actorPage->model(); - QStringList actors = actorItemModel->stringList(); + QStringList actors = actorPage->widget()->items(); QSqlQuery actorIdQ(db); actorIdQ.prepare("SELECT iactors_id FROM actors WHERE tactorname = :name"); QSqlQuery insertActorQ(db); @@ -187,8 +186,7 @@ void NewMovieWizard::accept(){ //actors are in place! //handle genres MovieMappingPage *genrePage = static_cast<MovieMappingPage*>(page(2)); - MappingTableItemModel *genreItemModel = genrePage->model(); - QStringList genres = genreItemModel->stringList(); + QStringList genres = genrePage->widget()->items(); QSqlQuery genreIdQ(db); genreIdQ.prepare("SELECT igenres_id FROM genres WHERE tgenrename = :name"); QSqlQuery insertGenreQ(db); @@ -402,13 +400,13 @@ void MovieInfoPage::removeFile(){ mFileModel->removeRows(selected.at(0).row(), 1, selected.at(0).parent()); } -MovieMappingPage::MovieMappingPage(const QString &table, QWidget *parent) : QWizardPage(parent){ +MovieMappingPage::MovieMappingPage(const QString &table, QWidget *parent) : QWizardPage(parent), mTable(table){ QString title = QString(tr("Edit %1")).arg(table); QString subTitle = QString(tr("Edit %1 by adding them from the text field below")).arg(table); setTitle(title); setSubTitle(subTitle); - mWidget = new MappingTableWidget(table); + mWidget = new MappingEditorWidget(table); QHBoxLayout *mainLayout = new QHBoxLayout; mainLayout->addWidget(mWidget); @@ -416,7 +414,13 @@ MovieMappingPage::MovieMappingPage(const QString &table, QWidget *parent) : QWiz } void MovieMappingPage::initializePage(){ - model()->setStringList(QStringList()); + ArchiveController *c = SmGlobals::instance()->archiveController(); + if(mTable.toLower() == "actors"){ + mWidget->fillCompleter(c->archiveTreeModel()->allActors()); + }else if(mTable.toLower() == "genres"){ + mWidget->fillCompleter(c->archiveTreeModel()->allGenres()); + } + mWidget->clear(); } MovieMetadataPage::MovieMetadataPage(QWidget *parent) : QWizardPage(parent){ diff --git a/newmoviewizard.h b/newmoviewizard.h index dbba1c6..99646ca 100644 --- a/newmoviewizard.h +++ b/newmoviewizard.h @@ -26,6 +26,7 @@ class MovieMetadataPage; class PictureViewer2; class QCompleter; class QStringListModel; +class MappingEditorWidget; class NewMovieWizard : public QWizard { Q_OBJECT @@ -82,11 +83,13 @@ class MovieMappingPage : public QWizardPage { Q_OBJECT public: explicit MovieMappingPage(const QString &table, QWidget *parent = 0); - MappingTableItemModel *model() { return mWidget->model(); } + MappingEditorWidget *widget() { return mWidget; } virtual void initializePage(); private: - MappingTableWidget *mWidget; + /* defined in archiveview.h */ + MappingEditorWidget *mWidget; + QString mTable; }; class MovieMetadataPage : public QWizardPage { |