summaryrefslogtreecommitdiffstats
path: root/archiveitemeditdialog.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-07-23 21:25:34 +0200
committerArno <am@disconnect.de>2010-07-23 21:25:34 +0200
commitd617e0679b42680d5068513a951b6f6db10b0565 (patch)
treece368fd13628e75406191b1c8118664136a4207e /archiveitemeditdialog.cpp
parenta59ac6eb3cebdd4e3f41552c21f14165203c1ab2 (diff)
downloadSheMov-d617e0679b42680d5068513a951b6f6db10b0565.tar.gz
SheMov-d617e0679b42680d5068513a951b6f6db10b0565.tar.bz2
SheMov-d617e0679b42680d5068513a951b6f6db10b0565.zip
Big code cleanup
hopefully removed all code connected to ArchiveViewWidget in this tree. Files removed ({h,cpp}): *archiveeditdialog *listeditor *covereditor *archivefilewidget *addmoviewizard *archivefileview *archiveproxy *sizedelegate *archivedidelegate *archiveitemeditdialog *coveritem *movieitem *moviemodel *moviemodelsingleton *listmodel *listmodelsingleton *archiveviewwidget *archiveiteminfoedit *archiveitemcoveredit *fileinfoitem *fileinfomodel See added file TODOS for stuff that needs fixes.
Diffstat (limited to 'archiveitemeditdialog.cpp')
-rw-r--r--archiveitemeditdialog.cpp180
1 files changed, 0 insertions, 180 deletions
diff --git a/archiveitemeditdialog.cpp b/archiveitemeditdialog.cpp
deleted file mode 100644
index 90aa1df..0000000
--- a/archiveitemeditdialog.cpp
+++ /dev/null
@@ -1,180 +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 <QVBoxLayout>
-#include <QHBoxLayout>
-#include <QPushButton>
-#include <QTabWidget>
-
-#include <algorithm>
-
-#include "archiveitemeditdialog.h"
-#include "archiveiteminfoedit.h"
-#include "archiveitemcoveredit.h"
-#include "moviemodelsingleton.h"
-#include "moviemodel.h"
-#include "movieitem.h"
-#include "fileinfomodel.h"
-#include "listmodelsingleton.h"
-#include "listmodel.h"
-#include "coveritem.h"
-#include "helper.h"
-
-ArchiveItemEditDialog::ArchiveItemEditDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f), mMovieId(-1){
- //Init dialog
- QVBoxLayout *mainLayout = new QVBoxLayout;
-
- //Tab widget
- mTab = new QTabWidget;
- mInfoEdit = new ArchiveItemInfoEdit;
- mTab->addTab(mInfoEdit, tr("General"));
- mCoverEdit = new ArchiveItemCoverEdit;
- mTab->addTab(mCoverEdit, tr("Covers"));
- mainLayout->addWidget(mTab);
-
- //Button layout
- QHBoxLayout *buttonLayout = new QHBoxLayout;
- mCancel = new QPushButton(tr("Cancel"));
- connect(mCancel, SIGNAL(clicked()), this, SLOT(reject()));
- mUpdate = new QPushButton(tr("Update"));
- connect(mUpdate, SIGNAL(clicked()), this, SLOT(accept()));
- buttonLayout->addStretch();
- buttonLayout->addWidget(mCancel);
- buttonLayout->addWidget(mUpdate);
- mainLayout->addLayout(buttonLayout);
-
- setLayout(mainLayout);
-}
-
-void ArchiveItemEditDialog::setMovie(const QModelIndex &idx){
- if(!idx.isValid()){
- return;
- }
-
- //Numbers and title setup
- mInfoEdit->setTitle(idx.data(MovieModel::TitleBaseRole).toString());
- mInfoEdit->setDvd(idx.data(MovieModel::DvdRole).toInt());
- mInfoEdit->setSeries(idx.data(MovieModel::SeriesNoRole).toInt());
- mInfoEdit->setPart(idx.data(MovieModel::PartNoRole).toInt());
- mInfoEdit->setGenre(idx.data(MovieModel::GenreRole).toString());
- mInfoEdit->setQuality(idx.data(MovieModel::QualityRole).toInt());
-
- //File and actor info
- mInfoEdit->setup(idx);
-
- //Set covers
- mCoverEdit->setCovers(idx.data(MovieModel::CoverRole).toList());
-
- //Store ID
- mMovieId = idx.data(MovieModel::IdRole).toInt();
-
- //Window Title
- QString title = QString(tr("Edit %1")).arg(idx.data().toString());
- setWindowTitle(title);
-}
-
-void ArchiveItemEditDialog::accept(){
- //Get Models
- ListModel *actorModel = ListModelSingleton::instance()->model("actor");
- ListModel *genreModel = ListModelSingleton::instance()->model("genre");
- MovieModel *movieModel = MovieModelSingleton::instance();
-
- //Update actors
- QStringList actors = mInfoEdit->actors();
- QList<QVariant> actorIds;
- foreach(QString a, actors){
- QModelIndex idx = actorModel->index(a);
- if(idx.isValid()){
- actorIds << idx.data(ListModel::IdRole);
- }
- }
- movieModel->setActors(mMovieId, actorIds);
-
- //Update genre
- QString genre = mInfoEdit->genre();
- QVariant genreId = genreModel->index(genre).data(ListModel::IdRole);
- QModelIndex movieModelIndex = movieModel->index(mMovieId, MovieItem::Genre);
- movieModel->setDataAt(movieModelIndex, genreId);
-
- //Update quality
- movieModelIndex = movieModel->index(mMovieId, MovieItem::Quality);
- movieModel->setDataAt(movieModelIndex, mInfoEdit->quality());
-
- //Update dvdno
- movieModelIndex = movieModel->index(mMovieId, MovieItem::Dvd);
- movieModel->setDataAt(movieModelIndex, mInfoEdit->dvd());
-
- //Update seriesno
- movieModelIndex = movieModel->index(mMovieId, MovieItem::SeriesNo);
- movieModel->setDataAt(movieModelIndex, mInfoEdit->series());
-
- //Update partno
- movieModelIndex = movieModel->index(mMovieId, MovieItem::PartNo);
- movieModel->setDataAt(movieModelIndex, mInfoEdit->part());
-
- //Update title
- movieModelIndex = movieModel->index(mMovieId, MovieItem::Title);
- if(!mInfoEdit->title().isEmpty()){
- movieModel->setDataAt(movieModelIndex, mInfoEdit->title());
- }
-
- //Update covers
- updateCovers();
-
- QDialog::accept();
-}
-
-void ArchiveItemEditDialog::updateCovers(){
- //Get model and covers
- MovieModel *movieModel = MovieModelSingleton::instance();
- QModelIndex movieIdx = movieModel->index(mMovieId);
- QList<QVariant> currentCovers = movieIdx.data(MovieModel::CoverRole).toList();
- QList<QVariant> newCovers = mCoverEdit->covers();
-
- //Front
- CoverItem curFront = cover(currentCovers, "front");
- CoverItem newFront = cover(newCovers, "front");
- updateCover(curFront, newFront);
-
- //Back
- CoverItem curBack = cover(currentCovers, "back");
- CoverItem newBack = cover(newCovers, "back");
- updateCover(curBack, newBack);
-
- //General
- CoverItem curGeneral = cover(currentCovers, "general");
- CoverItem newGeneral = cover(newCovers, "general");
- updateCover(curGeneral, newGeneral);
-
- //Update database
- QList<CoverItem> coverList;
- foreach(QVariant c, newCovers){
- coverList << c.value<CoverItem>();
- }
- movieModel->setCovers(mMovieId, coverList);
-}
-
-void ArchiveItemEditDialog::updateCover(const CoverItem &oldCover, const CoverItem &newCover){
- if(oldCover == newCover){
- return;
- }
- if(oldCover != CoverItem()){
- Helper::removeFromArchive(oldCover.fileName(), oldCover.md5());
- }
- if(newCover != CoverItem()){
- Helper::moveToArchive(newCover.fullPath(), newCover.md5());
- }
-}
-
-CoverItem ArchiveItemEditDialog::cover(const QList<QVariant> &coverList, const QString &type) const{
- QList<QVariant>::const_iterator it = std::find_if(coverList.constBegin(), coverList.constEnd(), std::bind2nd(CoverItem::findType(), type));
- CoverItem retval = CoverItem();
- if(it != coverList.constEnd()){
- retval = it->value<CoverItem>();
- }
- return retval;
-}