diff --git a/src/frames/aboutdialog.cpp b/src/frames/aboutdialog.cpp index 363eaf1..904edef 100644 --- a/src/frames/aboutdialog.cpp +++ b/src/frames/aboutdialog.cpp @@ -28,8 +28,10 @@ QString AboutDialog::getCompilerInfo() #elif __GNUC__ #ifdef __MINGW32__ return QString("MinGW_%1.%2").arg(QString::number(__MINGW32_MAJOR_VERSION), QString::number(__MINGW32_MINOR_VERSION)); - #else + #elif __linux__ return QString("GLIBC_%1.%2").arg(QString::number(__GLIBC__), QString::number(__GLIBC_MINOR__)); + #else + return "unknown"; #endif #elif _MSC_VER return QString("MSVC_%1").arg(_MSC_VER); diff --git a/src/frames/mainwindow.cpp b/src/frames/mainwindow.cpp index 58bd27b..da56824 100644 --- a/src/frames/mainwindow.cpp +++ b/src/frames/mainwindow.cpp @@ -5,6 +5,7 @@ #define STATUS_KEY "status" #define BOARDS_KEY "boards" #define FILTERS_KEY "filters" +#define DEFAULT_STATUS "default_status" #include #include @@ -486,6 +487,14 @@ void MainWindow::init() } TaskStateService::getInstance()->updatePriorities(priorities); TaskStateService::getInstance()->updateStatuses(statuses); + QString defaultStatusUUID = save[DEFAULT_STATUS].toString(""); + for (Status s : TaskStateService::getInstance()->getStatuses()) + { + if (s.getUUID() == defaultStatusUUID) + { + TaskStateService::getInstance()->setDefaultStatus(s); + } + } redrawFilterList(); redrawBoardList(); return; @@ -571,6 +580,7 @@ const QJsonDocument MainWindow::getJsonSave() obj[STATUS_KEY] = jsonStatus; obj[BOARDS_KEY] = jsonBoards; obj[FILTERS_KEY] = jsonFilters; + obj[DEFAULT_STATUS] = TaskStateService::getInstance()->getDefaultStatus().getUUID(); doc.setObject(obj); return doc; } diff --git a/src/frames/mainwindow.h b/src/frames/mainwindow.h index 7aaf725..cb449db 100644 --- a/src/frames/mainwindow.h +++ b/src/frames/mainwindow.h @@ -48,6 +48,8 @@ private: void init(); + // properties + int16_t selectedBoardIndex; int16_t selectedFilterIndex; @@ -60,6 +62,8 @@ private: QVector boards; QVector filters; + // functions + QVector defaultPriorities(); QVector defaultStatus(); QVector defaultFilters(); diff --git a/src/frames/prefdialog.ui b/src/frames/prefdialog.ui index 1459806..a3a9975 100644 --- a/src/frames/prefdialog.ui +++ b/src/frames/prefdialog.ui @@ -67,9 +67,9 @@ 40 - 50 + 64 571 - 251 + 161 @@ -80,7 +80,7 @@ 90 - 350 + 290 521 21 @@ -90,7 +90,7 @@ 10 - 352 + 292 58 16 @@ -103,7 +103,7 @@ 10 - 390 + 330 58 16 @@ -119,7 +119,7 @@ 90 - 390 + 330 113 21 @@ -135,7 +135,7 @@ 210 - 390 + 330 26 22 @@ -148,7 +148,7 @@ 570 - 310 + 240 41 31 @@ -164,7 +164,7 @@ 520 - 310 + 240 41 31 @@ -180,7 +180,7 @@ 10 - 310 + 240 51 31 @@ -196,7 +196,7 @@ 70 - 310 + 240 51 31 @@ -227,10 +227,10 @@ - 7 - 65 + 10 + 79 20 - 221 + 121 @@ -240,8 +240,8 @@ - -4 - 46 + 0 + 60 41 16 @@ -256,8 +256,8 @@ - -3 - 290 + 0 + 204 41 16 @@ -269,6 +269,42 @@ Qt::AlignmentFlag::AlignCenter + + + + 20 + 360 + 591 + 16 + + + + Qt::Orientation::Horizontal + + + + + + 10 + 390 + 141 + 18 + + + + Default (for new task) + + + + + + 440 + 384 + 171 + 26 + + + diff --git a/src/services/taskstateservice.cpp b/src/services/taskstateservice.cpp index a17d8ee..da5a9e8 100644 --- a/src/services/taskstateservice.cpp +++ b/src/services/taskstateservice.cpp @@ -21,6 +21,11 @@ void TaskStateService::updatePriorities(QVector priorities) this->priorities = priorities; } +void TaskStateService::setDefaultStatus(Status s) +{ + this->defaultStatus = s; +} + QVector TaskStateService::getStatuses() { return statuses; @@ -31,6 +36,11 @@ QVector TaskStateService::getPriorities() return priorities; } +Status TaskStateService::getDefaultStatus() +{ + return this->defaultStatus; +} + std::optional TaskStateService::getStatusByUUID(QString uuid) { foreach (Status s, statuses) { @@ -74,7 +84,9 @@ TaskStateService::TaskStateService() 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))); + Status defaultStatus = Status(QUuid::createUuid().toString(QUuid::WithoutBraces), "To Do", QColor(143, 143, 143)); statuses.append(Status(QUuid::createUuid().toString(QUuid::WithoutBraces), "Completed", QColor(48, 176, 73))); + statuses.append(defaultStatus); + statuses.append(Status(QUuid::createUuid().toString(QUuid::WithoutBraces), "Working on", QColor(95, 48, 176))); + this->defaultStatus = defaultStatus; } diff --git a/src/services/taskstateservice.h b/src/services/taskstateservice.h index 8e4863b..509ad6c 100644 --- a/src/services/taskstateservice.h +++ b/src/services/taskstateservice.h @@ -13,9 +13,11 @@ public: void updateStatuses(QVector); void updatePriorities(QVector); + void setDefaultStatus(Status s); QVector getStatuses(); QVector getPriorities(); + Status getDefaultStatus(); std::optional getStatusByUUID(QString); std::optional getPriorityByUUID(QString); @@ -26,6 +28,8 @@ private: TaskStateService(); static TaskStateService *instance; + Status defaultStatus = Status("", "", QColor::fromRgb(0,0,0)); + QVector priorities; QVector statuses; };