summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2014-12-10 07:26:27 +0100
committerArno <am@disconnect.de>2014-12-10 07:26:27 +0100
commit175d243e0c0021e9f303474aa3088045a516a62c (patch)
tree1f74b9ba413242cc298edd167fd749dcecac07c0
parent0e27f8f8aaf1a0dbff9aed960e78f109517a387a (diff)
downloadSheMov-175d243e0c0021e9f303474aa3088045a516a62c.tar.gz
SheMov-175d243e0c0021e9f303474aa3088045a516a62c.tar.bz2
SheMov-175d243e0c0021e9f303474aa3088045a516a62c.zip
Weed out SeriesMetadataModel
Delete last remnants of this class (includes and files). It's not needed any more.
-rw-r--r--newmoviewizard.cpp1
-rw-r--r--newmoviewizard.h1
-rw-r--r--seriesmetadatamodel.cpp294
-rw-r--r--seriesmetadatamodel.h102
-rw-r--r--shemov.pro2
-rw-r--r--smglobals.cpp7
6 files changed, 0 insertions, 407 deletions
diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp
index 9f350e0..f6f5cc0 100644
--- a/newmoviewizard.cpp
+++ b/newmoviewizard.cpp
@@ -29,7 +29,6 @@
#include "smtreeitem.h"
#include "smglobals.h"
#include "mappingtablemodel.h"
-#include "seriesmetadatamodel.h"
#include "delegates.h"
#include "helper.h"
#include "pictureviewer2.h"
diff --git a/newmoviewizard.h b/newmoviewizard.h
index b198267..af185ae 100644
--- a/newmoviewizard.h
+++ b/newmoviewizard.h
@@ -19,7 +19,6 @@ class QComboBox;
class QCheckBox;
class QPlainTextEdit;
class QSortFilterProxyModel;
-class SeriesMetadataModel;
class WizardTreeModel;
class MovieInfoPage;
class MovieMappingPage;
diff --git a/seriesmetadatamodel.cpp b/seriesmetadatamodel.cpp
deleted file mode 100644
index 383c77b..0000000
--- a/seriesmetadatamodel.cpp
+++ /dev/null
@@ -1,294 +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 <QSqlQuery>
-#include <QtWidgets/QSpinBox>
-#include <QtWidgets/QLineEdit>
-#include <QtWidgets/QComboBox>
-#include <QtWidgets/QPlainTextEdit>
-#include <QtWidgets/QDateEdit>
-#include <QtWidgets/QFormLayout>
-#include <QtWidgets/QLabel>
-#include <QtWidgets/QGroupBox>
-
-#include "seriesmetadatamodel.h"
-#include "smtreeitem.h"
-#include "smtreeview.h"
-#include "smglobals.h"
-#include "helper.h"
-
-SeriesMetadataModel::SeriesMetadataModel(const QStringList &headers, QObject *parent) : SmTreeModel(headers, parent), mColumns(3), mDataFields(8), mCurrentId(-1){
- //setup database
- mDb = QSqlDatabase::database("treedb");
- mPopulateQuery = new QSqlQuery(mDb);
- mPopulateQuery->prepare("SELECT sireleaseyear, tsourcemedium, tsubject, treleasegroup, tencoderopts, tcomment, sipasses, dadded FROM metadata WHERE iseriespart_id = :id");
- mPresentQuery = new QSqlQuery(mDb);
- mPresentQuery->prepare("SELECT COUNT(*) FROM metadata WHERE iseriespart_id = :id");
- mUpdateAllQuery = new QSqlQuery(mDb);
- mUpdateAllQuery->prepare("UPDATE metadata SET sireleaseyear = :year, tsourcemedium = :source, tsubject = :subject, treleasegroup = :group, tencoderopts = :encopts, tcomment = :comment, sipasses = :passes, dadded = :added WHERE iseriespart_id = :id");
- mInsertQuery = new QSqlQuery(mDb);
- mInsertQuery->prepare("INSERT INTO metadata (iseriespart_id, sireleaseyear, tsourcemedium, tsubject, treleasegroup, tencoderopts, tcomment, sipasses, dadded) VALUES(:id, :year, :source, :subject, :group, :encopts, :comment, :passes, :added)");
-
- //misc
- mDbColumnNames.insert(ReleaseYear, "sireleaseyear");
- mDbColumnNames.insert(SourceMedium, "tsourcemedium");
- mDbColumnNames.insert(Subject, "tsubject");
- mDbColumnNames.insert(ReleaseGroup, "treleasegroup");
- mDbColumnNames.insert(EncoderOpts, "tencoderopts");
- mDbColumnNames.insert(Comment, "tcomment");
- mDbColumnNames.insert(Passes, "sipasses");
- mDbColumnNames.insert(Added, "dadded");
-
- for(int i = 0; i < mDataFields; ++i){
- mData << QVariant();
- }
- mDisplayColumnNames.insert(ReleaseYear, "Release year");
- mDisplayColumnNames.insert(SourceMedium, "Source medium");
- mDisplayColumnNames.insert(Subject, "Usenet subject");
- mDisplayColumnNames.insert(ReleaseGroup, "Release group");
- mDisplayColumnNames.insert(EncoderOpts, "Encoder options");
- mDisplayColumnNames.insert(Comment, "Comment");
- mDisplayColumnNames.insert(Passes, "Encoding passes");
- mDisplayColumnNames.insert(Added, "Date added");
-}
-
-QVariant SeriesMetadataModel::data(int column) const {
- if((column < 0 ) || (column >= mDataFields)){
- return QVariant();
- }
- return mData.at(column);
-}
-
-const QList<QVariant> SeriesMetadataModel::dataList(const QModelIndex &index) const{
- if(!index.isValid()){
- return QList<QVariant>();
- }
- return mData;
-}
-
-const QList<QVariant> SeriesMetadataModel::fieldList(int field, bool distinct) const{
- if(field >= mDataFields){
- return QList<QVariant>();
- }
- QString queryTempl;
- if(distinct){
- queryTempl = QString("SELECT DISTINCT(%1) FROM metadata ORDER BY %1").arg(mDbColumnNames.value(field));
- }else{
- queryTempl = QString("SELECT %1 FROM metadata ORDER BY %1").arg(mDbColumnNames.value(field));
- }
- QList<QVariant> retval;
- QSqlQuery query(queryTempl, mDb);
- while(query.next()){
- retval << query.value(0);
- }
- return retval;
-}
-
-bool SeriesMetadataModel::setData(const QModelIndex &index, const QVariant &value, int role){
- if(!index.isValid()){
- return false;
- }
- if(index.row() >= mDataFields){
- return false;
- }
- if(role != Qt::EditRole){
- return false;
- }
- SmTreeItem *item = static_cast<SmTreeItem*>(index.internalPointer());
- Q_ASSERT(item);
- item->setData(index.column(), value);
- mData[item->data(2).toInt()] = value;
- update();
- return true;
-}
-
-void SeriesMetadataModel::setAllData(int seriesId, const QList<QVariant> &data){
- if(data.size() != mDataFields){
- return;
- }
- mCurrentId = seriesId;
- mData = data;
- createTree(mData);
- update();
-}
-
-bool SeriesMetadataModel::hasRecord(int seriesPartId) const{
- int count = -1;
- mPresentQuery->bindValue(":id", seriesPartId);
- if(mPresentQuery->exec()){
- while(mPresentQuery->next()){
- count = mPresentQuery->value(0).toInt();
- }
- }
- return (count > 0);
-}
-
-Qt::ItemFlags SeriesMetadataModel::flags(const QModelIndex &index) const{
- Qt::ItemFlags retval;
- retval |= Qt::ItemIsEnabled | Qt::ItemIsSelectable;
- if(index.column() == 1){
- retval |= Qt::ItemIsEditable;
- }
- return retval;
-}
-
-void SeriesMetadataModel::populate(int seriesPartId){
- mCurrentId = seriesPartId;
- if(hasRecord(seriesPartId)){
- mPopulateQuery->bindValue(":id", seriesPartId);
- if(mPopulateQuery->exec()){
- while(mPopulateQuery->next()){
- for(int i = 0; i < mDataFields; ++i){
- mData[i] = mPopulateQuery->value(i);
- }
-
- }
- }
- }else{
- for(int i = 0; i < numFields(); ++i){
- mData[i] = QVariant();
- }
- }
- createTree(mData);
-}
-
-void SeriesMetadataModel::update(){
- QSqlQuery *query;
- if(hasRecord(mCurrentId)){
- query = mUpdateAllQuery;
- }else{
- query = mInsertQuery;
- }
- query->bindValue(":id", mCurrentId);
- query->bindValue(":year", mData.at(ReleaseYear));
- query->bindValue(":source", mData.at(SourceMedium));
- query->bindValue(":subject", mData.at(Subject));
- query->bindValue(":group", mData.at(ReleaseGroup));
- query->bindValue(":encopts", mData.at(EncoderOpts));
- query->bindValue(":comment", mData.at(Comment));
- query->bindValue(":passes", mData.at(Passes));
- query->bindValue(":added", mData.at(Added));
- query->exec();
-}
-
-void SeriesMetadataModel::createTree(const QList<QVariant> &data){
- SmTreeItem *rootItem = new SmTreeItem(mColumns);
- for(int i = 0; i < mDataFields; ++i){
- QList<QVariant> itemData;
- itemData << mDisplayColumnNames.value(i) << data.at(i) << i;
- SmTreeItem *item = new SmTreeItem(itemData, rootItem);
- rootItem->appendChild(item);
- }
- setRoot(rootItem);
-}
-
-MetadataWidget::MetadataWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f){
- //model
- mModel = static_cast<SeriesMetadataModel*>(SmGlobals::instance()->model("SeriesMetadata"));
-
- //layout
- QFormLayout *rowLayout = new QFormLayout;
- mReleaseYear = new QSpinBox;
- mReleaseYear->setMaximum(3000);
- mReleaseYear->setMinimum(1900);
- rowLayout->addRow(mModel->columnName(SeriesMetadataModel::ReleaseYear), mReleaseYear);
- mReleaseGroup = new QComboBox;
- mPasses = new QSpinBox;
- rowLayout->addRow(mModel->columnName(SeriesMetadataModel::Passes), mPasses);
- mReleaseGroup->setEditable(true);
- rowLayout->addRow(mModel->columnName(SeriesMetadataModel::ReleaseGroup), mReleaseGroup);
- mSourceMedium = new QComboBox;
- mSourceMedium->setEditable(true);
- rowLayout->addRow(mModel->columnName(SeriesMetadataModel::SourceMedium), mSourceMedium);
- mSubject = new QLineEdit;
- rowLayout->addRow(mModel->columnName(SeriesMetadataModel::Subject), mSubject);
- mEncoderOpts = new QLineEdit;
- rowLayout->addRow(mModel->columnName(SeriesMetadataModel::EncoderOpts), mEncoderOpts);
- mAdded = new QDateEdit(QDate::currentDate());
- rowLayout->addRow(mModel->columnName(SeriesMetadataModel::Added), mAdded);
- QVBoxLayout *commentLayout = new QVBoxLayout;
- QLabel *commentLabel = new QLabel(mModel->columnName(SeriesMetadataModel::Comment));
- commentLayout->addWidget(commentLabel);
- mComment = new QPlainTextEdit;
- commentLayout->addWidget(mComment);
- QVBoxLayout *mainLayout = new QVBoxLayout;
- mainLayout->addLayout(rowLayout);
- mainLayout->addLayout(commentLayout);
- setLayout(mainLayout);
-
- //init widgets
- QStringList relGroups = Helper::toStringList(mModel->fieldList(SeriesMetadataModel::ReleaseGroup));
- mReleaseGroup->addItems(relGroups);
- QStringList sources = Helper::toStringList(mModel->fieldList(SeriesMetadataModel::SourceMedium));
- mSourceMedium->addItems(sources);
-}
-
-void MetadataWidget::setSeriesPartId(int id){
- if(!mModel->hasRecord(id)){
- return;
- }
- mModel->populate(id);
- mReleaseYear->setValue(mModel->data(SeriesMetadataModel::ReleaseYear).toInt());
- mPasses->setValue(mModel->data(SeriesMetadataModel::Passes).toInt());
- mSubject->setText(mModel->data(SeriesMetadataModel::Subject).toString());
- mEncoderOpts->setText(mModel->data(SeriesMetadataModel::EncoderOpts).toString());
- mComment->setPlainText(mModel->data(SeriesMetadataModel::Comment).toString());
- mAdded->setDate(mModel->data(SeriesMetadataModel::Added).toDate());
- int relGroupIdx = mReleaseGroup->findText(mModel->data(SeriesMetadataModel::ReleaseGroup).toString());
- if(relGroupIdx != -1){
- mReleaseGroup->setCurrentIndex(relGroupIdx);
- }
- int sourceMediumIdx = mSourceMedium->findData(mModel->data(SeriesMetadataModel::SourceMedium).toString());
- if(sourceMediumIdx != -1){
- mSourceMedium->setCurrentIndex(sourceMediumIdx);
- }
-}
-
-void MetadataWidget::accept(){
- QList<QVariant> metaData;
- for(int i = 0; i < mModel->numFields(); ++i){
- metaData << QVariant();
- }
-
- metaData[SeriesMetadataModel::ReleaseYear] = mReleaseYear->value();
- metaData[SeriesMetadataModel::Subject] = mSubject->text();
- metaData[SeriesMetadataModel::EncoderOpts] = mEncoderOpts->text();
- metaData[SeriesMetadataModel::Passes] = mPasses->value();
- metaData[SeriesMetadataModel::SourceMedium] = mSourceMedium->currentText();
- metaData[SeriesMetadataModel::ReleaseGroup] = mReleaseGroup->currentText();
- metaData[SeriesMetadataModel::Comment] = mComment->toPlainText();
- metaData[SeriesMetadataModel::Added] = mAdded->date();
- mModel->setAllData(mModel->currentId(), metaData);
-}
-
-MetadataDisplay::MetadataDisplay(QWidget *parent) : QWidget(parent){
- //model
- mModel = static_cast<SeriesMetadataModel*>(SmGlobals::instance()->model("SeriesMetadata"));
-
- //display
- QGroupBox *gb = new QGroupBox(tr("Metadata"));
- QHBoxLayout *gbLayout = new QHBoxLayout;
- mDisplay = new SmTreeView;
- mDisplay->setModel(mModel);
- mDisplay->setSelectionBehavior(QAbstractItemView::SelectRows);
- mDisplay->setAlternatingRowColors(true);
- mDisplay->setHeaderHidden(true);
- gbLayout->addWidget(mDisplay);
- gb->setLayout(gbLayout);
-
- //laoyut
- QVBoxLayout *mainLayout = new QVBoxLayout;
- mainLayout->addWidget(gb);
- setLayout(mainLayout);
-}
-
-void MetadataDisplay::setSeriesPartId(int seriesPartId){
- mModel->populate(seriesPartId);
- mDisplay->setColumnHidden(2, true);
- mDisplay->resizeColumnToContents(0);
- mDisplay->resizeColumnToContents(1);
-}
diff --git a/seriesmetadatamodel.h b/seriesmetadatamodel.h
deleted file mode 100644
index 8c25c6b..0000000
--- a/seriesmetadatamodel.h
+++ /dev/null
@@ -1,102 +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.
-*/
-
-#ifndef SERIESMETADATAMODEL_H
-#define SERIESMETADATAMODEL_H
-
-#include <QSqlDatabase>
-#include <QHash>
-#include <QtWidgets/QWidget>
-
-class QSqlQuery;
-class QSpinBox;
-class QComboBox;
-class QLineEdit;
-class QPlainTextEdit;
-class QDateEdit;
-class QLabel;
-class SmTreeView;
-
-#include "smtreemodel.h"
-
-class SeriesMetadataModel : public SmTreeModel {
- Q_OBJECT
- public:
- enum Fields { ReleaseYear = 0, SourceMedium = 1, Subject = 2, ReleaseGroup = 3, EncoderOpts = 4, Comment = 5, Passes = 6, Added = 7 };
- explicit SeriesMetadataModel(const QStringList &headers, QObject *parent = 0);
-
- //data
- int currentId() const { return mCurrentId; }
- int numFields() const { return mDataFields; }
- virtual QVariant data(int column) const;
- const QList<QVariant> dataList(const QModelIndex &index) const;
- const QList<QVariant> fieldList(int field, bool distinct = true) const;
- virtual bool setData(const QModelIndex &index, const QVariant &value, int role);
- void setAllData(int seriesId, const QList<QVariant> &data);
- const QString columnName(int column) const { return mDisplayColumnNames.value(column); }
-
- //misc
- bool hasRecord(int seriesPartId) const;
- Qt::ItemFlags flags(const QModelIndex &index) const;
-
- public slots:
- void populate(int seriesPartId);
- void update();
-
- private:
- void createTree(const QList<QVariant> &data);
- const int mColumns;
- const int mDataFields;
- int mCurrentId;
- QSqlDatabase mDb;
- QSqlQuery *mPopulateQuery;
- QSqlQuery *mPresentQuery;
- QSqlQuery *mUpdateAllQuery;
- QSqlQuery *mInsertQuery;
- QHash<int, QString> mDbColumnNames;
- QHash<int, QString> mDisplayColumnNames;
- QList<QVariant> mData;
-};
-
-class MetadataWidget : public QWidget {
- Q_OBJECT
- public:
- explicit MetadataWidget(QWidget *parent = 0, Qt::WindowFlags f = 0);
- virtual ~MetadataWidget() {}
-
- public slots:
- void setSeriesPartId(int id);
- void accept();
-
- private:
- QSpinBox *mReleaseYear;
- QComboBox *mSourceMedium;
- QComboBox *mReleaseGroup;
- QLineEdit *mSubject;
- QLineEdit *mEncoderOpts;
- QSpinBox *mPasses;
- QPlainTextEdit *mComment;
- QDateEdit *mAdded;
- SeriesMetadataModel *mModel;
-};
-
-class MetadataDisplay : public QWidget {
- Q_OBJECT
- public:
- explicit MetadataDisplay(QWidget *parent = 0);
- virtual ~MetadataDisplay() {}
-
- public slots:
- void setSeriesPartId(int seriesId);
-
- private:
- SeriesMetadataModel *mModel;
- SmTreeView *mDisplay;
-
-};
-
-#endif // SERIESMETADATAMODEL_H
diff --git a/shemov.pro b/shemov.pro
index 78d795c..7912847 100644
--- a/shemov.pro
+++ b/shemov.pro
@@ -25,7 +25,6 @@ SOURCES = main.cpp \
filepropertiesdialog.cpp \
hoverwindow.cpp \
consistencycheck.cpp \
- seriesmetadatamodel.cpp \
mappingtableeditor.cpp \
smdialog.cpp \
dbanalyzer.cpp \
@@ -65,7 +64,6 @@ HEADERS = \
filepropertiesdialog.h \
hoverwindow.h \
consistencycheck.h \
- seriesmetadatamodel.h \
mappingtableeditor.h \
smdialog.h \
dbanalyzer.h \
diff --git a/smglobals.cpp b/smglobals.cpp
index 624effc..5c56855 100644
--- a/smglobals.cpp
+++ b/smglobals.cpp
@@ -23,7 +23,6 @@
#include "smglobals.h"
#include "archivemodel.h"
#include "mappingtablemodel.h"
-#include "seriesmetadatamodel.h"
#include "mappingtreemodel.h"
#include "pictureviewer2.h"
#include "picfilesmodel.h"
@@ -74,12 +73,6 @@ QAbstractItemModel *SmGlobals::model(const QString &which){
MappingTableModel *model = new MappingTableModel(headers, "genres");
mModels.insert(which, model);
}
- }else if(which == "SeriesMetadata"){
- if(!mModels.contains(which)){
- QStringList headers = QStringList() << tr("SeriesPartId") << tr("Release Year") << tr("Source Medium") << tr("Subject") << tr("Release Group") << tr("Encoder Options") << tr("Comment") << tr("Encoding Passes") << tr("Added");
- SeriesMetadataModel *model = new SeriesMetadataModel(headers);
- mModels.insert(which, model);
- }
}else if(which == "MappingTree"){
if(!mModels.contains("MappingTree")){
QStringList headers = QStringList() << tr("Name") << tr("Id") << tr("Date") << tr("Parent") << tr("PPID");