From bcba8f84529d750d5e9d25dccb48c168e8183b41 Mon Sep 17 00:00:00 2001 From: Bent Witthold Date: Wed, 31 Dec 2025 10:47:28 +0100 Subject: [PATCH] Using JsonParser to generate JSON document to pass in the addItems signal & using roles instead of their names (compiler will complain if a role is not existent anymore). --- dialogs/newitemdialog.cpp | 23 ++++++++++------------- mainwindow.cpp | 4 ---- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/dialogs/newitemdialog.cpp b/dialogs/newitemdialog.cpp index 9433f51..c7ab6bb 100644 --- a/dialogs/newitemdialog.cpp +++ b/dialogs/newitemdialog.cpp @@ -6,8 +6,8 @@ #include #include #include - -#include +#include "formats/jsonparser.h" +#include "model/metadata.h" NewItemDialog::NewItemDialog(QWidget* parent) : AbstractDialog(parent) {} @@ -62,18 +62,15 @@ void NewItemDialog::createContent() { } void NewItemDialog::accept() { - QJsonObject itemObject; - itemObject.insert("Name", m_nameEdit->text()); - itemObject.insert("Description", m_descriptionEdit->text()); - itemObject.insert("Info", m_infoEdit->text()); - itemObject.insert("Amount", m_amountBox->value()); - itemObject.insert("Factor", m_factorBox->value()); + QHash itemValues; + itemValues.insert(NameRole, m_nameEdit->text()); + itemValues.insert(DescriptionRole, m_descriptionEdit->text()); + itemValues.insert(InfoRole, m_infoEdit->text()); + itemValues.insert(AmountRole, m_amountBox->value()); + itemValues.insert(FactorRole, m_factorBox->value()); - QJsonDocument jsonDoc; - QJsonArray itemArray; - itemArray.append(itemObject); - jsonDoc.setArray(itemArray); - emit addItems(jsonDoc.toJson(QJsonDocument::Compact)); + const QByteArray jsonDoc = JsonParser::itemValuesListToJson({itemValues}, ITEM_KEY_STRING); + emit addItems(jsonDoc); // resetContent(); AbstractDialog::accept(); diff --git a/mainwindow.cpp b/mainwindow.cpp index b372b16..6ac04d6 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -329,10 +329,6 @@ void MainWindow::createUndoActions() { // connect(m_showUndoViewAction, &QAction::toggled, this, &MainWindow::onShowUndoViewToggled); connect(m_showModelUndoViewAct.get(), &QAction::triggered, this, &MainWindow::onShowUndoViewToggled); - - // TODO ? add a keyboard short cut? - // m_showUndoViewAction->setShortcuts(QKeySequence::Copy); - ui->menu_View->addAction(m_showModelUndoViewAct.get()); }