Items can be saved to JSON file "items.json" (in standard location).

This commit is contained in:
2025-12-23 10:14:13 +01:00
parent 2c3d49db30
commit 0e1a0d4959
9 changed files with 119 additions and 0 deletions

View File

@ -3,6 +3,7 @@
#include <QCoreApplication>
#include <QDateTime>
#include <QDebug>
#include <QJsonDocument>
#include <QProcess>
#include <QSettings>
#include <QString>
@ -10,6 +11,7 @@
#include "../../ApplicationConfig.h"
#include "CoreConfig.h"
#include "constants.h"
#include "data/filehandler.h"
#include "model/tablemodel.h"
#include <QtGui/QUndoStack>
@ -88,6 +90,21 @@ QUndoStack* GenericCore::getModelUndoStack() const { return m_modelUndoStack; }
std::shared_ptr<TableModel> GenericCore::getModel() const { return m_mainModel; }
void GenericCore::saveItems() {
qDebug() << "saving items...";
const QJsonDocument doc = m_mainModel->getAllItemsAsJsonDoc();
const bool successfulSave = FileHandler::saveToFile(doc, "items.json");
if (successfulSave) {
// QStringList completedTaskStrings = m_model->completedTasks();
// appendCompletedTasksToFile(completedTaskStrings, "completed.txt");
m_modelUndoStack->setClean();
emit displayStatusMessage(QString("Items saved."));
} else {
emit displayStatusMessage(QString("Error: Items couldn't be saved."));
}
}
void GenericCore::setupModels() {
m_mainModel = make_shared<TableModel>(m_modelUndoStack, this);
// TODO add QAbstractItemModelTester