yacreader/YACReaderLibrary/comic_vine/model/volumes_model.h
2019-06-01 16:04:48 +02:00

54 lines
1.4 KiB
C++

#ifndef VOLUMES_MODEL_H
#define VOLUMES_MODEL_H
#include "json_model.h"
class VolumesModel : public JSONModel
{
Q_OBJECT
public:
explicit VolumesModel(QObject *parent = nullptr);
virtual ~VolumesModel();
//receive a valid json with a list of volumes
void load(const QString &json) override;
//QAbstractItemModel methods
QModelIndex parent(const QModelIndex &index) const override;
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
int columnCount(const QModelIndex &parent) const override;
QVariant data(const QModelIndex &index, int role) const override;
Qt::ItemFlags flags(const QModelIndex &index) const;
QVariant headerData(int section, Qt::Orientation orientation,
int role = Qt::DisplayRole) const;
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
QString getVolumeId(const QModelIndex &index) const;
int getNumIssues(const QModelIndex &index) const;
QString getPublisher(const QModelIndex &index) const;
QString getCoverURL(const QModelIndex &index) const;
signals:
public slots:
private:
QList<QList<QString>> _data;
public:
enum Column {
SERIES = 0,
YEAR,
ISSUES,
PUBLISHER,
COVER_URL,
DECK,
ID
};
enum Role {
SORT_ROLE = Qt::UserRole
};
};
#endif // VOLUMES_MODEL_H