#ifndef ANIMELIST_H #define ANIMELIST_H #include #include "Anime.h" class AnimeList { Q_GADGET Q_PROPERTY(QString name MEMBER name CONSTANT); Q_PROPERTY(QList animes MEMBER animes CONSTANT); public: explicit AnimeList(); AnimeList(QString name): name(name) {}; AnimeList(QString name, QList animes): name(name), animes(animes) {}; void add(const Anime& anime) { animes.push_back(anime); }; void removeByName(const QString& name) { animes.removeIf([=](Anime anime) { return anime.getTitle() == name; }); } Q_INVOKABLE void setName(QString name) { this->name = name; } Q_INVOKABLE const QString getName() const { return name; } Q_INVOKABLE const QList getAnimes() const { return animes; } QString name; QList animes; }; Q_DECLARE_METATYPE(AnimeList) #endif // ANIMELIST_H