src/EditRecipe.cpp

changeset 112
9e0dfa78f349
parent 111
04f5a7c5a1dc
child 113
30a34d639e90
--- 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);

mercurial