Add 'Time' and 'Tags' as proper task's properties, also add raw format handling

This commit is contained in:
Vyn 2024-04-11 11:42:13 +02:00
parent 3e7d8b4b70
commit bae67e6851
15 changed files with 142 additions and 49 deletions

View file

@ -5,6 +5,7 @@
*/
#include "Backend.h"
#include "core/TodoMd.h"
Backend::Backend() {
std::cout << "Backend created" << std::endl;
@ -43,6 +44,13 @@ void Backend::addTodo(QString newTodo, QString date) {
emit tasksChanged();
}
void Backend::addTodoFromRawFormat(QString text, QString date) {
mirai.addTask(mirai::TodoMdFormat::StringToTask(text.toStdString(), date.toStdString()));
mirai.save();
rebuildQMLTasksList();
emit tasksChanged();
}
void Backend::addTagFilter(QString tag) {
view.lock()->addTagFilter(tag.toStdString());
rebuildQMLTasksList();
@ -61,6 +69,14 @@ void Backend::removeFilters() {
emit tasksChanged();
}
void Backend::updateTodoFromRawFormat(int todoIndex, QString text, QString date) {
QMLTaskItem& taskItem = QMLTasks[todoIndex];
*(taskItem.taskItem) = mirai::TodoMdFormat::StringToTask(text.toStdString(), date.toStdString());
mirai.save();
rebuildQMLTasksList();
emit tasksChanged();
}
void Backend::updateTodo(int todoIndex, QString state, QString text, QString date) {
QMLTaskItem& taskItem = QMLTasks[todoIndex];
taskItem.taskItem->state = state == "TODO" ? mirai::TODO : mirai::DONE;