Load miscs in QList.

Wed, 06 Apr 2022 21:41:58 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 06 Apr 2022 21:41:58 +0200
changeset 112
9e0dfa78f349
parent 111
04f5a7c5a1dc
child 113
30a34d639e90

Load miscs in QList.

src/EditRecipe.cpp file | annotate | diff | comparison | revisions
src/EditRecipe.h file | annotate | diff | comparison | revisions
--- a/src/EditRecipe.cpp	Wed Apr 06 21:23:00 2022 +0200
+++ b/src/EditRecipe.cpp	Wed Apr 06 21:41:58 2022 +0200
@@ -206,9 +206,25 @@
 	const auto& m_json = query.value(86).toString();
         if (!m_json.trimmed().isEmpty()) {
             const auto& formattedJson = QString("%1").arg(m_json);
-            this->miscs = QJsonDocument::fromJson(formattedJson.toUtf8(),  &parseError);
-            if (parseError.error != QJsonParseError::NoError)
-                qDebug() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ;
+            QJsonDocument miscs = QJsonDocument::fromJson(formattedJson.toUtf8(),  &parseError);
+            if (parseError.error != QJsonParseError::NoError) {
+                qDebug() << "Parse error: " << parseError.errorString() << "at" << parseError.offset;
+	    } else if (miscs.isArray()) {
+		for (int i = 0; i < miscs.array().size(); i++) {
+		    QJsonObject obj = miscs.array().at(i).toObject();
+		    qDebug() << i << obj;
+		    Miscs m;
+		    m.m_name = obj["m_name"].toString();
+		    m.m_amount = obj["m_amount"].toDouble();
+		    m.m_type = obj["m_type"].toInt();
+		    m.m_use_use = obj["m_type"].toInt();
+		    m.m_time = obj["m_time"].toDouble();
+		    m.m_amount_is_weight = obj["m_amount_is_weight"].toInt() ? true:false;
+		    m.m_cost = obj["m_cost"].toDouble();
+		    recipe->miscs.append(m);
+		}
+		qDebug() << "miscs" << recipe->miscs.size();
+	    }
         } else {
             qDebug() << "empty miscs";
         }
@@ -358,7 +374,6 @@
 
 	const auto& formattedJson = QString("[]");
 	this->hops = QJsonDocument::fromJson(formattedJson.toUtf8());
-	this->miscs = QJsonDocument::fromJson(formattedJson.toUtf8());
     }
 
     ui->lockedEdit->setChecked(recipe->locked);
--- a/src/EditRecipe.h	Wed Apr 06 21:23:00 2022 +0200
+++ b/src/EditRecipe.h	Wed Apr 06 21:41:58 2022 +0200
@@ -71,7 +71,7 @@
     double	m_amount;
     int		m_type;
     int		m_use_use;
-    int		m_time;
+    double	m_time;
     bool	m_amount_is_weight;
     double	m_cost;
 };
@@ -290,7 +290,7 @@
     /*
      * Variables for popup ingredients editing.
      */
-    QJsonDocument hops, miscs;
+    QJsonDocument hops;
     QComboBox *selectEdit, *addedEdit;
     QLineEdit *nameEdit, *supplierEdit;
     QDoubleSpinBox *amountEdit, *pctEdit, *maxEdit;

mercurial