Implemented logic for comic info interactive items (read, fav, rating)

This commit is contained in:
Luis Ángel San Martín
2016-04-18 23:21:54 +02:00
parent 6b9041c095
commit 64b77586fc
13 changed files with 150 additions and 10 deletions

View File

@ -0,0 +1,45 @@
#include "yacreader_comic_info_helper.h"
#include "comic_model.h"
YACReaderComicInfoHelper::YACReaderComicInfoHelper(QObject *parent)
: QObject(parent), model(nullptr)
{
}
void YACReaderComicInfoHelper::setModel(ComicModel *model)
{
this->model = model;
}
void YACReaderComicInfoHelper::rate(int index, int rating)
{
if(model != nullptr)
model->updateRating(rating,model->index(index,0));
}
void YACReaderComicInfoHelper::setRead(int index, bool read)
{
YACReaderComicReadStatus status;
read ? (status = YACReaderComicReadStatus::Read) : (status = YACReaderComicReadStatus::Unread);
if(model != nullptr)
model->setComicsRead(QModelIndexList() << model->index(index, 0), status);
}
void YACReaderComicInfoHelper::addToFavorites(int index)
{
if(model != nullptr)
model->addComicsToFavorites(QModelIndexList() << model->index(index, 0));
}
void YACReaderComicInfoHelper::removeFromFavorites(int index)
{
if(model != nullptr)
model->deleteComicsFromFavorites(QModelIndexList() << model->index(index, 0));
}