From 9aee1f659b842c718881bd73272e758e97d2f825 Mon Sep 17 00:00:00 2001 From: Giovanni JOSSERAND Date: Fri, 20 Jun 2025 14:08:36 +0200 Subject: [PATCH] final save function --- mainwindow.cpp | 33 ++++++++++++++++++--------------- step.cpp | 30 ++++++++++++++++++++++++++++++ step.h | 3 +++ 3 files changed, 51 insertions(+), 15 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index 55250f8..fa8f705 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -162,22 +162,25 @@ void MainWindow::saveFile(){ json["length"] = ui->lengthSpin->value(); json["image"] = ui->imagePath->text(); - QJsonArray steps; - QJsonObject step1; - step1["numero"] = "3"; - step1["title"] = "ok ca marche"; - step1["GPS"] = "S 45 37.199 E 1 2.009"; - step1["reponse"] = "34"; - - QJsonArray dialogues; - QJsonObject dialogue1; - dialogue1["personnage"] = "Quentin"; - dialogue1["texte"] = "ok c'est cool"; - - dialogues.append(dialogue1); - step1["dialogue"] = dialogues; - steps.append(step1); + int cpt=0; + for(Step step: currentPath->getStep()){ + cpt++; + QJsonObject stepObject; + stepObject["numero"] = cpt; + stepObject["title"] = step.getTitle(); + stepObject["GPS"] = step.toGPSFormat(); + stepObject["reponse"] = step.getResponse(); + QJsonArray dialogues; + for(int i=0; i Step::getListeDialogue(){ + return texte; +} +QList Step::getListePersonnage(){ + return personnage; +} + +QString Step::toGPSFormat(){ + int latDeg = static_cast(latitude); + float latMin = (latitude - latDeg) * 60.0; + QChar latDir = latitude >= 0 ? 'N' : 'S'; + latDeg = abs(latDeg); + + int lonDeg = static_cast(longitude); + float lonMin = (longitude - lonDeg) * 60.0; + QChar lonDir = longitude >= 0 ? 'E' : 'W'; + lonDeg = abs(lonDeg); + + QString gpsString = QString("%1 %2 %3 %4 %5 %6") + .arg(latDir) + .arg(latDeg, 2) + .arg(latMin, 5, 'f', 3) + .arg(lonDir) + .arg(lonDeg, 2) + .arg(lonMin, 5, 'f', 3); + + return gpsString; +} diff --git a/step.h b/step.h index 8d93c46..a18c15d 100644 --- a/step.h +++ b/step.h @@ -26,6 +26,9 @@ public: float getLatitude() const; float getLongitude() const; int getResponse() const; + QList getListeDialogue(); + QList getListePersonnage(); + QString toGPSFormat(); }; #endif // STEP_H