diff options
author | Arno <am@disconnect.de> | 2010-07-23 21:25:34 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2010-07-23 21:25:34 +0200 |
commit | d617e0679b42680d5068513a951b6f6db10b0565 (patch) | |
tree | ce368fd13628e75406191b1c8118664136a4207e /archiveitemeditdialog.cpp | |
parent | a59ac6eb3cebdd4e3f41552c21f14165203c1ab2 (diff) | |
download | SheMov-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.cpp | 180 |
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; -} |