Do not hide completed tasks in Calendar view

This commit is contained in:
Vyn 2024-04-30 18:43:53 +02:00
parent 597ea0ac2d
commit 1416b5db58
3 changed files with 28 additions and 21 deletions

View file

@ -18,7 +18,7 @@
#include <qlogging.h> #include <qlogging.h>
#include <qvariant.h> #include <qvariant.h>
Backend::Backend() : view(&mirai) Backend::Backend() : todoView(&mirai)
{ {
cpputils::debug::Timer startDuration; cpputils::debug::Timer startDuration;
std::cout << "Backend created" << std::endl; std::cout << "Backend created" << std::endl;
@ -64,7 +64,7 @@ Backend::Backend() : view(&mirai)
} }
cpputils::debug::Timer updatingViewDuration; cpputils::debug::Timer updatingViewDuration;
view.update(); todoView.update();
updatingViewDuration.printTimeElapsed("Updating view duration"); updatingViewDuration.printTimeElapsed("Updating view duration");
cpputils::debug::Timer rebuildQMLTasksListDuration; cpputils::debug::Timer rebuildQMLTasksListDuration;
rebuildQMLTasksList(); rebuildQMLTasksList();
@ -76,7 +76,7 @@ void Backend::addTodo(QString newTodo, QString date)
{ {
mirai.addTask(newTodo.toStdString(), date.toStdString()); mirai.addTask(newTodo.toStdString(), date.toStdString());
mirai.save(); mirai.save();
view.update(); todoView.update();
rebuildQMLTasksList(); rebuildQMLTasksList();
emit tasksChanged(); emit tasksChanged();
} }
@ -92,42 +92,42 @@ void Backend::addTodoFromRawFormat(QString filePath, QString text, QString date)
mirai::TodoMdFormat::stringToTask(text.toStdString(), date.toStdString()) mirai::TodoMdFormat::stringToTask(text.toStdString(), date.toStdString())
); );
mirai.save(); mirai.save();
view.update(); todoView.update();
rebuildQMLTasksList(); rebuildQMLTasksList();
emit tasksChanged(); emit tasksChanged();
} }
void Backend::addTagFilter(QString tag) void Backend::addTagFilter(QString tag)
{ {
view.addTagFilter(tag.toStdString()); todoView.addTagFilter(tag.toStdString());
rebuildQMLTasksList(); rebuildQMLTasksList();
emit tasksChanged(); emit tasksChanged();
} }
void Backend::removeTagFilter(QString tag) void Backend::removeTagFilter(QString tag)
{ {
view.removeTagFilter(tag.toStdString()); todoView.removeTagFilter(tag.toStdString());
rebuildQMLTasksList(); rebuildQMLTasksList();
emit tasksChanged(); emit tasksChanged();
} }
void Backend::addFileFilter(QString fileName) void Backend::addFileFilter(QString fileName)
{ {
view.addFileFilter(fileName.toStdString()); todoView.addFileFilter(fileName.toStdString());
rebuildQMLTasksList(); rebuildQMLTasksList();
emit tasksChanged(); emit tasksChanged();
} }
void Backend::removeFileFilter(QString fileName) void Backend::removeFileFilter(QString fileName)
{ {
view.removeFileFilter(fileName.toStdString()); todoView.removeFileFilter(fileName.toStdString());
rebuildQMLTasksList(); rebuildQMLTasksList();
emit tasksChanged(); emit tasksChanged();
} }
void Backend::removeFilters() void Backend::removeFilters()
{ {
view.removeFilters(); todoView.removeFilters();
rebuildQMLTasksList(); rebuildQMLTasksList();
emit tasksChanged(); emit tasksChanged();
} }
@ -139,7 +139,7 @@ void Backend::updateTodoFromRawFormat(int todoIndex, QString text, QString date)
*(taskItem.taskItem) = *(taskItem.taskItem) =
mirai::TodoMdFormat::stringToTask(text.toStdString(), date.toStdString()); mirai::TodoMdFormat::stringToTask(text.toStdString(), date.toStdString());
mirai.save(); mirai.save();
view.update(); todoView.update();
rebuildQMLTasksList(); rebuildQMLTasksList();
emit tasksChanged(); emit tasksChanged();
} }
@ -155,7 +155,7 @@ void Backend::updateTodo(int todoIndex, QString state, QString text, QString dat
taskItem.taskItem->setText(text.toStdString()); taskItem.taskItem->setText(text.toStdString());
taskItem.taskItem->setDate(date.toStdString()); taskItem.taskItem->setDate(date.toStdString());
mirai.save(); mirai.save();
view.update(); todoView.update();
rebuildQMLTasksList(); rebuildQMLTasksList();
emit tasksChanged(); emit tasksChanged();
} }
@ -165,7 +165,7 @@ void Backend::removeTodo(int todoIndex)
QMLTaskItem &taskItem = QMLTasks[todoIndex]; QMLTaskItem &taskItem = QMLTasks[todoIndex];
mirai.removeTask(taskItem.taskItem); mirai.removeTask(taskItem.taskItem);
mirai.save(); mirai.save();
view.update(); todoView.update();
rebuildQMLTasksList(); rebuildQMLTasksList();
emit tasksChanged(); emit tasksChanged();
} }
@ -191,8 +191,8 @@ void Backend::rebuildQMLTasksList()
std::tm tm = *std::localtime(&t); std::tm tm = *std::localtime(&t);
std::stringstream currentDate; std::stringstream currentDate;
currentDate << std::put_time(&tm, "%Y-%m-%d"); currentDate << std::put_time(&tm, "%Y-%m-%d");
for (int i = 0; i < view.count(); ++i) { for (int i = 0; i < todoView.count(); ++i) {
mirai::TaskItem &task = view[i]; mirai::TaskItem &task = todoView[i];
if (shouldHideCompletedTasks_ && task.getState() == mirai::DONE && task.hasDate() && if (shouldHideCompletedTasks_ && task.getState() == mirai::DONE && task.hasDate() &&
task.getDate() < currentDate.str()) { task.getDate() < currentDate.str()) {
continue; continue;
@ -220,12 +220,12 @@ void Backend::rebuildQMLTasksList()
} }
QMLActiveTagsFilter.clear(); QMLActiveTagsFilter.clear();
for (auto &activeTagFilter : view.getActiveTagsFilter()) { for (auto &activeTagFilter : todoView.getActiveTagsFilter()) {
QMLActiveTagsFilter.push_back(QString::fromStdString(activeTagFilter)); QMLActiveTagsFilter.push_back(QString::fromStdString(activeTagFilter));
} }
QMLActiveFilesFilter.clear(); QMLActiveFilesFilter.clear();
for (auto &activeFileFilter : view.getActiveFilesFilter()) { for (auto &activeFileFilter : todoView.getActiveFilesFilter()) {
QMLActiveFilesFilter.push_back(QString::fromStdString(activeFileFilter)); QMLActiveFilesFilter.push_back(QString::fromStdString(activeFileFilter));
} }
} }
@ -297,7 +297,7 @@ void Backend::saveFilesPath(QVariant modifiedFilesPath)
for (auto path : paths) { for (auto path : paths) {
mirai.loadFile(path.toStdString()); mirai.loadFile(path.toStdString());
} }
view.update(); todoView.update();
rebuildQMLTasksList(); rebuildQMLTasksList();
emit tagsChanged(); emit tagsChanged();
emit tasksChanged(); emit tasksChanged();

View file

@ -70,7 +70,8 @@ class Backend : public QObject
void saveConfig(); void saveConfig();
mirai::Mirai mirai; mirai::Mirai mirai;
mirai::TasksView view; // Both Todo and Calendar view use the todoView for now.
mirai::TasksView todoView;
QList<QMLTaskItem> QMLTasks; QList<QMLTaskItem> QMLTasks;
QList<QMLTasksFile> QMLTasksFiles; QList<QMLTasksFile> QMLTasksFiles;

View file

@ -83,13 +83,19 @@ Window {
tabs: [ tabs: [
{ {
label: "List", label: "Todo",
onClick: () => { root.selectedView = "list" }, onClick: () => {
backend.hideCompletedTasks(true) // Little workaround for now.
root.selectedView = "list"
},
selected: root.selectedView === "list" selected: root.selectedView === "list"
}, },
{ {
label: "Calendar", label: "Calendar",
onClick: () => { root.selectedView = "calendar" }, onClick: () => {
backend.hideCompletedTasks(false) // Little workaround for now.
root.selectedView = "calendar"
},
selected: root.selectedView === "calendar" selected: root.selectedView === "calendar"
} }
] ]