#include "headers/brleague.h" #include "headers/brprovider.h" BRLeague::BRLeague(BRProvider* provider, BRWidget::BRFederation federation, int id, BRLeagueData initialData) : BRWidget(provider, federation), id(id) { this->competitions = {}; this->competitions = {}; this->setData(initialData); } int BRLeague::getId() const { return this->id; } QString BRLeague::getName() { return this->name; } QColor BRLeague::getColor() { return this->color; } QList BRLeague::getCompetitions() { return this->competitions; } QList BRLeague::getCompetitionsQML() { return this->listToQmlList(this->competitions); } QList BRLeague::getCupsQML() { return this->listToQmlList(this->cups); } void BRLeague::setData(BRLeagueData data) { this->name = data.name; this->color = data.color; emit this->metadataChanged(); if(this->competitions != data.competitions) { this->competitions.clear(); this->competitions = data.competitions; for(BRCompetition* competition : this->competitions) competition->setLeague(this); emit this->competitionsChanged(); } if(this->cups != data.cups) { this->cups.clear(); this->cups = data.cups; emit this->cupsChanged(); } } BRWidget::BRWidgetStatusCode BRLeague::load() { if(this->getProvider() == nullptr) return BRWidget::NoProviderError; // reload all comp data using our providers BRLeagueData newData { this, this->name, this->color, this->competitions, this->cups }; BRWidget::BRWidgetStatusCode statusCode = this->getProvider()->getWidgetData(&newData); if(statusCode != BRWidget::Success) return statusCode; qDebug() << "new Data: " << newData.competitions; this->setData(newData); return statusCode; }