summaryrefslogtreecommitdiffstats
path: root/seriesmetadatamodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'seriesmetadatamodel.h')
-rw-r--r--seriesmetadatamodel.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/seriesmetadatamodel.h b/seriesmetadatamodel.h
index a6c74c3..b96ef90 100644
--- a/seriesmetadatamodel.h
+++ b/seriesmetadatamodel.h
@@ -19,42 +19,48 @@ class QLineEdit;
class QPlainTextEdit;
class QDateEdit;
class QLabel;
+class QTreeView;
#include "smtreemodel.h"
class SeriesMetadataModel : public SmTreeModel {
Q_OBJECT
public:
- enum CumstomRoles { SeriesPartIdRole = Qt::UserRole + 1, ReleaseYearRole = Qt::UserRole + 2, SourceMediumRole = Qt::UserRole + 3, SubjectRole = Qt::UserRole + 4, ReleaseGroupRole = Qt::UserRole + 5, EncoderOptsRole = Qt::UserRole + 6, CommentRole = Qt::UserRole + 7, PassesRole = Qt::UserRole + 8, AddedRole = Qt::UserRole + 9 };
- enum Fields { SeriesPartId = 0, ReleaseYear = 1, SourceMedium = 2, Subject = 3, ReleaseGroup = 4, EncoderOpts = 5, Comment = 6, Passes = 7, Added = 8 };
+ 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);
virtual ~SeriesMetadataModel();
//data
int currentId() const { return mCurrentId; }
- virtual QVariant data(const QModelIndex &index, int role) const;
+ 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);
- virtual bool setData(const QModelIndex &parent, const QVariant &value, int row, int column, int role = Qt::EditRole);
+ 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;
- bool mDataChanged;
+ const int mDataFields;
int mCurrentId;
QSqlDatabase mDb;
QSqlQuery *mPopulateQuery;
QSqlQuery *mPresentQuery;
- QSqlQuery *mUpdateQuery;
+ QSqlQuery *mUpdateAllQuery;
QSqlQuery *mInsertQuery;
- QHash<int, QString> mColumnNames;
+ QHash<int, QString> mDbColumnNames;
+ QHash<int, QString> mDisplayColumnNames;
+ QList<QVariant> mData;
};
class MetadataWidget : public QWidget {
@@ -90,7 +96,7 @@ class MetadataDisplay : public QWidget {
private:
SeriesMetadataModel *mModel;
- QLabel *mDisplay;
+ QTreeView *mDisplay;
};