81 lines
2.2 KiB
C++
81 lines
2.2 KiB
C++
#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;
|
|
}
|
|
|
|
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)));
|
|
}
|