mirror of
https://codeberg.org/vyn/mirai.git
synced 2025-07-03 01:33:19 +00:00
Do not hide completed tasks in Calendar view
This commit is contained in:
parent
597ea0ac2d
commit
1416b5db58
3 changed files with 28 additions and 21 deletions
|
@ -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();
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue