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).
This commit is contained in:
@ -6,8 +6,8 @@
|
|||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
#include <QSpinBox>
|
#include <QSpinBox>
|
||||||
|
#include "formats/jsonparser.h"
|
||||||
#include <model/tablemodel.h>
|
#include "model/metadata.h"
|
||||||
|
|
||||||
NewItemDialog::NewItemDialog(QWidget* parent)
|
NewItemDialog::NewItemDialog(QWidget* parent)
|
||||||
: AbstractDialog(parent) {}
|
: AbstractDialog(parent) {}
|
||||||
@ -62,18 +62,15 @@ void NewItemDialog::createContent() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void NewItemDialog::accept() {
|
void NewItemDialog::accept() {
|
||||||
QJsonObject itemObject;
|
QHash<int, QVariant> itemValues;
|
||||||
itemObject.insert("Name", m_nameEdit->text());
|
itemValues.insert(NameRole, m_nameEdit->text());
|
||||||
itemObject.insert("Description", m_descriptionEdit->text());
|
itemValues.insert(DescriptionRole, m_descriptionEdit->text());
|
||||||
itemObject.insert("Info", m_infoEdit->text());
|
itemValues.insert(InfoRole, m_infoEdit->text());
|
||||||
itemObject.insert("Amount", m_amountBox->value());
|
itemValues.insert(AmountRole, m_amountBox->value());
|
||||||
itemObject.insert("Factor", m_factorBox->value());
|
itemValues.insert(FactorRole, m_factorBox->value());
|
||||||
|
|
||||||
QJsonDocument jsonDoc;
|
const QByteArray jsonDoc = JsonParser::itemValuesListToJson({itemValues}, ITEM_KEY_STRING);
|
||||||
QJsonArray itemArray;
|
emit addItems(jsonDoc);
|
||||||
itemArray.append(itemObject);
|
|
||||||
jsonDoc.setArray(itemArray);
|
|
||||||
emit addItems(jsonDoc.toJson(QJsonDocument::Compact));
|
|
||||||
|
|
||||||
// resetContent();
|
// resetContent();
|
||||||
AbstractDialog::accept();
|
AbstractDialog::accept();
|
||||||
|
|||||||
@ -329,10 +329,6 @@ void MainWindow::createUndoActions() {
|
|||||||
// connect(m_showUndoViewAction, &QAction::toggled, this, &MainWindow::onShowUndoViewToggled);
|
// connect(m_showUndoViewAction, &QAction::toggled, this, &MainWindow::onShowUndoViewToggled);
|
||||||
connect(m_showModelUndoViewAct.get(), &QAction::triggered, this,
|
connect(m_showModelUndoViewAct.get(), &QAction::triggered, this,
|
||||||
&MainWindow::onShowUndoViewToggled);
|
&MainWindow::onShowUndoViewToggled);
|
||||||
|
|
||||||
// TODO ? add a keyboard short cut?
|
|
||||||
// m_showUndoViewAction->setShortcuts(QKeySequence::Copy);
|
|
||||||
|
|
||||||
ui->menu_View->addAction(m_showModelUndoViewAct.get());
|
ui->menu_View->addAction(m_showModelUndoViewAct.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user