Status and Priority service singleton

This commit is contained in:
Aurelie Delhaie
2023-02-12 22:33:22 +01:00
parent d0186d0759
commit 35dee6684f
13 changed files with 191 additions and 85 deletions

View File

@@ -0,0 +1,66 @@
#include "taskstateservice.h"
TaskStateService *TaskStateService::instance = nullptr;
TaskStateService *TaskStateService::getInstance()
{
if (instance == nullptr)
{
instance = new TaskStateService();
}
return instance;
}
void TaskStateService::updateStatuses(QVector<Status> statuses)
{
this->statuses = statuses;
}
void TaskStateService::updatePriorities(QVector<Priority> priorities)
{
this->priorities = priorities;
}
QVector<Status> TaskStateService::getStatuses()
{
return statuses;
}
QVector<Priority> TaskStateService::getPriorities()
{
return priorities;
}
std::optional<Status> TaskStateService::getStatusByUUID(QString uuid)
{
foreach (Status s, statuses) {
if (s.getUUID() == uuid)
{
return std::optional{s};
}
}
return std::nullopt;
}
std::optional<Priority> TaskStateService::getPriorityByUUID(QString uuid)
{
foreach (Priority p, priorities) {
if (p.getUUID() == uuid)
{
return std::optional{p};
}
}
return std::nullopt;
}
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)));
}