mirror of
https://codeberg.org/vyn/mirai.git
synced 2025-07-04 10:43:19 +00:00
[WIP] full views rework
This commit is contained in:
parent
9de3972630
commit
15bd0f58a7
30 changed files with 812 additions and 1175 deletions
40
external/mirai-core/src/Task.cpp
vendored
40
external/mirai-core/src/Task.cpp
vendored
|
@ -6,7 +6,6 @@
|
|||
|
||||
#include "Task.h"
|
||||
#include "DataProvider.h"
|
||||
#include "Day.h"
|
||||
#include "utils.h"
|
||||
#include <optional>
|
||||
#include <string>
|
||||
|
@ -19,7 +18,7 @@ int Task::id() const
|
|||
return task_.id;
|
||||
}
|
||||
|
||||
int Task::sourceId() const
|
||||
int Task::source_id() const
|
||||
{
|
||||
return data_->id;
|
||||
}
|
||||
|
@ -39,50 +38,37 @@ bool Task::checked() const
|
|||
return task_.state == mirai::DONE;
|
||||
}
|
||||
|
||||
bool Task::hasEvent() const
|
||||
bool Task::has_due_date() const
|
||||
{
|
||||
return task_.eventId.has_value();
|
||||
return task_.due_date.has_value();
|
||||
}
|
||||
|
||||
bool Task::hasDate() const
|
||||
std::optional<Date> Task::due_date() const
|
||||
{
|
||||
return task_.dayId.has_value();
|
||||
if (!task_.due_date.has_value()) {
|
||||
return std::nullopt;
|
||||
}
|
||||
return task_.due_date.value();
|
||||
}
|
||||
|
||||
void Task::setTitle(const std::string &newTitle)
|
||||
void Task::set_title(const std::string &newTitle)
|
||||
{
|
||||
data_->update_task(id(), {.title = newTitle});
|
||||
}
|
||||
|
||||
void Task::setDay(const Day &day)
|
||||
void Task::set_date(const Date &date)
|
||||
{
|
||||
auto emptyEventId = std::optional<std::optional<int>>(std::optional<int>(std::nullopt));
|
||||
data_->update_task(id(), {.dayId = day.id(), .eventId = emptyEventId});
|
||||
}
|
||||
|
||||
void Task::setDate(const Date &date)
|
||||
{
|
||||
auto day = data_->get_day_by_date(date);
|
||||
if (!day.has_value()) {
|
||||
day = data_->insert_day({.id = generateUniqueId(), .date = date});
|
||||
}
|
||||
auto emptyEventId = std::optional<std::optional<int>>(std::optional<int>(std::nullopt));
|
||||
data_->update_task(id(), {.dayId = day.value().id, .eventId = emptyEventId});
|
||||
data_->update_task(id(), {.due_date = date});
|
||||
}
|
||||
|
||||
void Task::unschedule()
|
||||
{
|
||||
auto emptyId = std::optional<std::optional<int>>(std::optional<int>(std::nullopt));
|
||||
data_->update_task(id(), {.dayId = emptyId, .eventId = emptyId});
|
||||
data_->update_task(id(), {.due_date = std::nullopt});
|
||||
}
|
||||
|
||||
void Task::setEvent(const Event &event)
|
||||
{
|
||||
auto emptyDayId = std::optional<std::optional<int>>(std::optional<int>(std::nullopt));
|
||||
data_->update_task(id(), {.dayId = emptyDayId, .eventId = event.id()});
|
||||
}
|
||||
|
||||
void Task::setChecked(bool checked)
|
||||
void Task::set_checked(bool checked)
|
||||
{
|
||||
data_->update_task(id(), {.state = checked ? DONE : TODO});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue