Add hint to show how many days left relative to today

This commit is contained in:
Vyn 2024-10-08 17:05:52 +02:00
parent 53b1280115
commit 534da46a26
4 changed files with 33 additions and 13 deletions

View file

@ -223,7 +223,7 @@ void UiState::setupUtilsCallbacks()
std::chrono::month(date.month),
std::chrono::day(date.day),
};
return std::format("{:%d %B}", chronoDate);
return std::format("{:%B %d}", chronoDate);
});
}
@ -361,15 +361,21 @@ void UiState::reloadTasks()
auto &currentDay = view_[dayIndex];
auto slintEvents = std::make_shared<slint::VectorModel<Event>>();
auto slintDayTasks = std::make_shared<slint::VectorModel<TaskData>>();
slintDays->push_back(Day{
.sourceId = currentDay.day->source()->id(),
.id = dayIndex,
.date = MiraiDateToSlintDate(currentDay.day->getDate()),
.events = slintEvents,
.tasks = slintDayTasks,
.isLate = currentDay.day->getDate() < todayDate,
.isToday = currentDay.day->getDate() == todayDate,
});
auto relativeDaysDiff = std::chrono::duration_cast<std::chrono::days>(
std::chrono::sys_days(currentDay.day->getDate().toStdChrono()) -
std::chrono::sys_days(todayDate.toStdChrono())
)
.count();
slintDays->push_back(
Day{.sourceId = currentDay.day->source()->id(),
.id = dayIndex,
.date = MiraiDateToSlintDate(currentDay.day->getDate()),
.events = slintEvents,
.tasks = slintDayTasks,
.isLate = currentDay.day->getDate() < todayDate,
.isToday = currentDay.day->getDate() == todayDate,
.relativeDaysDiff = static_cast<int>(relativeDaysDiff)}
);
for (int taskIndex = 0; taskIndex < currentDay.filteredTasks.size(); ++taskIndex) {
auto &task = currentDay.filteredTasks.at(taskIndex);
std::vector<slint::SharedString> tags;