summaryrefslogtreecommitdiffstats
path: root/editarchiveitemdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editarchiveitemdialog.cpp')
-rw-r--r--editarchiveitemdialog.cpp205
1 files changed, 0 insertions, 205 deletions
diff --git a/editarchiveitemdialog.cpp b/editarchiveitemdialog.cpp
deleted file mode 100644
index b10dbb0..0000000
--- a/editarchiveitemdialog.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version
- 2 of the License, or (at your option) any later version.
-*/
-
-#include <QLineEdit>
-#include <QLabel>
-#include <QSplitter>
-#include <QHBoxLayout>
-#include <QVBoxLayout>
-#include <QSpinBox>
-#include <QTextEdit>
-#include <QPushButton>
-#include <QFont>
-#include <QComboBox>
-#include <QSplitter>
-#include <QApplication>
-#include <QModelIndex>
-#include <QTreeView>
-
-#include "editarchiveitemdialog.h"
-#include "listmodel.h"
-#include "moviemodel.h"
-#include "listeditor.h"
-#include "covereditor.h"
-#include "coveritem.h"
-#include "fileinfomodel.h"
-#include "actorwidget.h"
-#include "actormodel.h"
-
-EditArchiveItemDialog::EditArchiveItemDialog(ListModel *genre, ListModel *actors, MovieModel *movies, QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f), mGenreModel(genre), mActorsModel(actors), mMovieModel(movies){
- QWidget *w1 = new QWidget;
- QVBoxLayout *w1Layout = new QVBoxLayout;
-
- //movie information
- QLabel *l1 = new QLabel(tr("Movie information"));
- w1Layout->addWidget(l1);
- mMovieInfo = new QTreeView;
- mFileInfoModel = new FileInfoModel;
- mMovieInfo->setModel(mFileInfoModel);
- w1Layout->addWidget(mMovieInfo);
-
- //actors
- QLabel *l2 = new QLabel(tr("Select actors"));
- QHBoxLayout *actorsLayout = new QHBoxLayout;
- mActorsDisplay = new ActorWidget;
- mCurrentActors = new ActorModel;
- actorsLayout->addWidget(l2);
- w1Layout->addWidget(mActorsDisplay);
-
- //genre
- QLabel *l3 = new QLabel(tr("Select genre"));
- mGenre = new QComboBox;
- mGenre->setModel(mGenreModel);
- QHBoxLayout *genreLayout = new QHBoxLayout;
- genreLayout->addWidget(l3);
- genreLayout->addWidget(mGenre);
- w1Layout->addLayout(genreLayout);
-
- //quality + dvd
- QLabel *l4 = new QLabel(tr("Set quality"));
- mQuality = new QSpinBox;
- mQuality->setMinimum(0);
- mQuality->setMaximum(10);
- QHBoxLayout *qualityDvdLayout = new QHBoxLayout;
- qualityDvdLayout->addWidget(l4);
- qualityDvdLayout->addWidget(mQuality);
- qualityDvdLayout->addStretch();
- QLabel*l5 = new QLabel(tr("Set DVD No."));
- mDvd = new QSpinBox;
- mDvd->setMinimum(-1);
- mDvd->setMaximum(1000);
- qualityDvdLayout->addWidget(l5);
- qualityDvdLayout->addWidget(mDvd);
- w1Layout->addLayout(qualityDvdLayout);
- QLabel *l6 = new QLabel(tr("Set series No."));
- mSeriesNo = new QSpinBox;
- mSeriesNo->setMinimum(-1);
- mSeriesNo->setMaximum(1000);
- qualityDvdLayout->addWidget(l6);
- qualityDvdLayout->addWidget(mSeriesNo);
- QLabel *l7 = new QLabel(tr("Set part No."));
- mPartNo = new QSpinBox;
- mPartNo->setMinimum(-1);
- mPartNo->setMaximum(100);
- qualityDvdLayout->addWidget(l7);
- qualityDvdLayout->addWidget(mPartNo);
-
- //movie title
- QLabel *l8 = new QLabel(tr("Set movie title"));
- mTitle = new QLineEdit;
- QHBoxLayout *titleLayout = new QHBoxLayout;
- titleLayout->addWidget(l8);
- titleLayout->addWidget(mTitle);
- w1Layout->addLayout(titleLayout);
- w1->setLayout(w1Layout);
- w1->setMinimumWidth(500);
-
- //list editors
- QWidget *w2 = new QWidget;
- QVBoxLayout *w2Layout = new QVBoxLayout;
- ListEditor *genreEditor = new ListEditor(mGenreModel);
- w2Layout->addWidget(genreEditor);
- ListEditor *actorsEditor = new ListEditor(mActorsModel);
- connect(actorsEditor, SIGNAL(itemAdded(const QString &)), this, SLOT(addActor(const QString &)));
- w2Layout->addWidget(actorsEditor);
- w2Layout->addStretch();
- w2->setLayout(w2Layout);
-
- //splitter
- QSplitter *splitter = new QSplitter;
- splitter->addWidget(w1);
- splitter->addWidget(w2);
-
- //dialog buttons
- QHBoxLayout *buttonLayout = new QHBoxLayout;
- buttonLayout->addStretch();
- mUpdate = new QPushButton(tr("Update"));
- connect(mUpdate, SIGNAL(clicked()), this, SLOT(updateMovie()));
- mClose = new QPushButton(tr("Close"));
- connect(mClose, SIGNAL(clicked()), this, SLOT(reject()));
- buttonLayout->addWidget(mUpdate);
- buttonLayout->addWidget(mClose);
-
- //now put it all together
- QVBoxLayout *mainLayout = new QVBoxLayout;
- mainLayout->addWidget(splitter);
- mainLayout->addLayout(buttonLayout);
-
- setLayout(mainLayout);
- QString title = QString(tr("%1 - Edit archive")).arg(qApp->applicationName());
- setWindowTitle(title);
-}
-
-void EditArchiveItemDialog::setMovie(const QModelIndex &movie){
- if(!movie.isValid()){
- return;
- }
- mMovieId = movie.data(MovieModel::IdRole).toInt();
- QHash<QString, QVariant> actorMap = movie.data(MovieModel::ActorsMap).value<QHash<QString, QVariant> >();
- for(QHash<QString, QVariant>::const_iterator it = actorMap.constBegin(); it != actorMap.constEnd(); ++it){
- mActorsDisplay->addActor(it.key());
- }
- mCovers = movie.data(MovieModel::CoverRole).toList();
- setMovieInfo(movie);
-}
-
-void EditArchiveItemDialog::setMovieInfo(const QModelIndex &movie){
- QModelIndex idx = mMovieModel->index(movie.row(), MovieItem::Title, QModelIndex());
- mTitle->setText(idx.data(MovieModel::TitleBaseRole).toString());
- int genreIndex = mGenre->findText(idx.data().toString());
- if(genreIndex != -1){
- mGenre->setCurrentIndex(genreIndex);
- }
- mQuality->setValue(idx.data(MovieModel::QualityRole).toInt());
- int dvd = idx.data(MovieModel::DvdRole).toInt();
- mDvd->setValue(dvd);
- int seriesno = idx.data(MovieModel::SeriesNoRole).toInt();
- mSeriesNo->setValue(seriesno);
- int partno = idx.data(MovieModel::PartNoRole).toInt();
- mPartNo->setValue(partno);
- mFileInfoModel->clear();
- mFileInfoModel->addIndex(idx.data().toString(), movie);
- mMovieInfo->setHeaderHidden(true);
- mMovieInfo->resizeColumnToContents(0);
- mMovieInfo->expandAll();
-}
-
-void EditArchiveItemDialog::addActor(const QString &actor){
- mActorsDisplay->addActor(actor);
-}
-
-void EditArchiveItemDialog::updateMovie(){
- QStringList actors = mActorsDisplay->actors();
- QList<QVariant> actorIds;
- foreach(QString a, actors){
- QModelIndex idx = mActorsModel->index(a);
- if(idx.isValid()){
- actorIds << idx.data(ListModel::IdRole);
- }
- }
- mMovieModel->setActors(mMovieId, actorIds);
- QString genreName = mGenre->currentText();
- QModelIndex genreIdx = mGenreModel->index(genreName);
- QModelIndex genreMovieIndex = mMovieModel->index(mMovieId, MovieItem::Genre);
- QVariant genreId = genreIdx.data(ListModel::IdRole);
- mMovieModel->setDataAt(genreMovieIndex, genreId);
- QModelIndex dvdIdx = mMovieModel->index(mMovieId, MovieItem::Dvd);
- mMovieModel->setDataAt(dvdIdx, mDvd->value());
- QModelIndex qualityIdx = mMovieModel->index(mMovieId, MovieItem::Quality);
- mMovieModel->setDataAt(qualityIdx, mQuality->value());
- QModelIndex seriesnoIdx = mMovieModel->index(mMovieId, MovieItem::SeriesNo);
- mMovieModel->setDataAt(seriesnoIdx, mSeriesNo->value());
- QModelIndex partnoIdx = mMovieModel->index(mMovieId, MovieItem::PartNo);
- mMovieModel->setDataAt(partnoIdx, mPartNo->value());
- QString title = mTitle->text().trimmed().toLower();
- QModelIndex titleIdx = mMovieModel->index(mMovieId, MovieItem::Title);
- if(!title.isEmpty()){
- mMovieModel->setDataAt(titleIdx, title);
- }
- setMovieInfo(titleIdx);
-}
-