redai/ArtModel.h
2023-04-15 16:29:10 -04:00

30 lines
750 B
C++

#pragma once
#include <QAbstractTableModel>
#include <QJsonObject>
struct ArtPiece {
QString filename, jsonFilename;
QString title;
QJsonObject object;
QDate date;
bool hasAltText = false;
};
class ArtModel : public QAbstractTableModel {
public:
explicit ArtModel(const QString& definitionDirectory, const QString& assetDirectory);
int rowCount(const QModelIndex &parent) const override;
int columnCount(const QModelIndex &parent) const override;
QVariant data(const QModelIndex &index, int role) const override;
QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
private:
void loadData(ArtPiece& piece, const QString& filename, const QString& assetFilename);
QList<ArtPiece> m_artPieces;
};