#include "path.h" #include "step.h" #include #include #include #include #include #include Path::Path(QFile *file){ if (!file->open(QIODevice::ReadOnly)) { qWarning() << "Could not open file:" << file->errorString(); return; } QByteArray data = file->readAll(); file->close(); QJsonDocument doc = QJsonDocument::fromJson(data); if (doc.isNull()) { qWarning() << "Failed to create JSON document"; return; } QJsonObject json = doc.object(); name = json["name"].toString(); city = json["city"].toString(); departement = json["departement"].toInt(); difficulty = json["difficulty"].toInt(); duration = json["duration"].toDouble(); length = json["length"].toDouble(); image = json["image"].toString(); QJsonArray stepsArray = json["steps"].toArray(); for (const QJsonValue &stepValue : stepsArray) { QJsonObject stepObj = stepValue.toObject(); step.append(Step(stepObj)); } } void Path::addStep(int indice){ if(indice==-1){ step.append(Step()); }else{ step.insert(indice, Step()); } }