/
mob1le
/
simple-task-manager
Обзор
Документация
Войти
/
mob1le
/
simple-task-manager
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/task_manager.cpp
60 строк
1 KB
bessalovs
fix id (now unique) + format all documents
13 май 2026, 13:41
13 май 2026, 13:41
621c9d5
Код
Авторство
О чём код?
#include "task_manager.h" TaskManager::TaskManager(const QString &path_json) { file.setFileName(path_json); } TaskManager::~TaskManager() { if (file.isOpen()) { file.close(); } } QList<Task> TaskManager::loadTasksFromJson() { QList<Task> tasks; if (!file.open(QIODevice::OpenModeFlag::ReadOnly | QIODevice::OpenModeFlag::Text)) { return QList<Task>(); } QByteArray data_array = file.readAll(); file.close(); doc = QJsonDocument::fromJson(data_array, &error); if (doc.isNull()) { return QList<Task>(); } QJsonArray json_tasks = doc.array(); for (const QJsonValue &json_task : json_tasks) { QJsonObject task_obj = json_task.toObject(); tasks.append(Task::fromJsonToTask(task_obj)); } return tasks; } void TaskManager::saveTasksToJson(const QList<Task> tasks) { if (!file.open(QIODevice::OpenModeFlag::WriteOnly | QIODevice::OpenModeFlag::Text | QIODevice::OpenModeFlag::Truncate)) { qDebug() << "Cannot open file for writing:"; return; } QJsonArray task_array; for (const Task &task : tasks) { task_array.append(task.fromTaskToJson()); } doc.setArray(task_array); QByteArray data_save = doc.toJson(QJsonDocument::Indented); file.write(data_save); file.close(); }