diff options
Diffstat (limited to 'seriesmetadatamodel.h')
-rw-r--r-- | seriesmetadatamodel.h | 102 |
1 files changed, 0 insertions, 102 deletions
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 |