#include "taskstateservice.h" TaskStateService *TaskStateService::instance = nullptr; TaskStateService *TaskStateService::getInstance() { if (instance == nullptr) { instance = new TaskStateService(); } return instance; } void TaskStateService::updateStatuses(QVector statuses) { this->statuses = statuses; } void TaskStateService::updatePriorities(QVector priorities) { this->priorities = priorities; } QVector TaskStateService::getStatuses() { return statuses; } QVector TaskStateService::getPriorities() { return priorities; } std::optional TaskStateService::getStatusByUUID(QString uuid) { foreach (Status s, statuses) { if (s.getUUID() == uuid) { return std::optional{s}; } } return std::nullopt; } std::optional TaskStateService::getPriorityByUUID(QString uuid) { foreach (Priority p, priorities) { if (p.getUUID() == uuid) { return std::optional{p}; } } return std::nullopt; } int16_t TaskStateService::getStatusWeight(QString uuid) { int16_t weight = -1; for (uint16_t i = 0; i < statuses.count(); i++) { if (statuses[i].getUUID() == uuid) { weight = i; break; } } return weight; } TaskStateService::TaskStateService() { priorities.append(Priority(QUuid::createUuid().toString(QUuid::WithoutBraces), "None", QColor(217, 217, 217))); priorities.append(Priority(QUuid::createUuid().toString(QUuid::WithoutBraces), "Low", QColor(48, 157, 176))); priorities.append(Priority(QUuid::createUuid().toString(QUuid::WithoutBraces), "Medium", QColor(176, 142, 48))); priorities.append(Priority(QUuid::createUuid().toString(QUuid::WithoutBraces), "High", QColor(176, 67, 48))); statuses.append(Status(QUuid::createUuid().toString(QUuid::WithoutBraces), "To Do", QColor(143, 143, 143))); statuses.append(Status(QUuid::createUuid().toString(QUuid::WithoutBraces), "Working on", QColor(95, 48, 176))); statuses.append(Status(QUuid::createUuid().toString(QUuid::WithoutBraces), "Completed", QColor(48, 176, 73))); }