Merge branch 'main' into 'feature/openFile'

# Conflicts:
#   path.h
This commit is contained in:
T'JAMPENS QUENTIN p2406187 2025-06-19 08:26:49 +00:00
commit 6b4191057f
9 changed files with 118 additions and 17 deletions

View File

@ -0,0 +1,21 @@
QMAKE_CXX.QT_COMPILER_STDCXX = 201703L
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 13
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 1
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_GCC_MAJOR_VERSION \
QMAKE_GCC_MINOR_VERSION \
QMAKE_GCC_PATCH_VERSION
QMAKE_CXX.INCDIRS = \
C:/Qt/Tools/mingw1310_64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++ \
C:/Qt/Tools/mingw1310_64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32 \
C:/Qt/Tools/mingw1310_64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward \
C:/Qt/Tools/mingw1310_64/lib/gcc/x86_64-w64-mingw32/13.1.0/include \
C:/Qt/Tools/mingw1310_64/lib/gcc/x86_64-w64-mingw32/13.1.0/include-fixed \
C:/Qt/Tools/mingw1310_64/x86_64-w64-mingw32/include
QMAKE_CXX.LIBDIRS = \
C:/Qt/Tools/mingw1310_64/lib/gcc/x86_64-w64-mingw32/13.1.0 \
C:/Qt/Tools/mingw1310_64/lib/gcc \
C:/Qt/Tools/mingw1310_64/x86_64-w64-mingw32/lib \
C:/Qt/Tools/mingw1310_64/lib

5
data.qrc Normal file
View File

@ -0,0 +1,5 @@
<RCC>
<qresource prefix="/data">
<file>ex.txt</file>
</qresource>
</RCC>

7
ex.txt Normal file
View File

@ -0,0 +1,7 @@
{
"id": 1,
"texte": "tkt",
"latitude": "N 45 37.199",
"longitude": "W 1 2.009",
"valeur": -1
}

View File

@ -4,13 +4,14 @@
#include <QApplication>
#include <step.h>
#include <QFile>
using namespace std;
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
//w.show();
return a.exec();
}

View File

@ -81,4 +81,11 @@ Path::Path(QFile *file){
}
void Path::addStep(int indice){step.insert(indice, Step());}
void Path::addStep(int indice){
if(indice==-1){
step.append(Step());
}else{
step.insert(indice, Step());
}
}

2
path.h
View File

@ -20,7 +20,7 @@ private:
public:
Path();
Path(QFile *file);
void addStep(int indice);
void addStep(int indice=-1);
QString getCity() const;
int getDepartement() const;
QString getName() const;

View File

@ -26,3 +26,7 @@ FORMS += \
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
RESOURCES += \
data.qrc

View File

@ -1,26 +1,73 @@
#include "step.h"
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonParseError>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonParseError>
QString Step::getTitle() const
{
return title;
}
float Step::getLatitude() const
{
return latitude;
}
float Step::getLongitude() const
{
return longitude;
}
int Step::getResponse() const
{
return response;
}
Step::Step() {
latitude = 0.0;
longitude = 0.0;
response = 0;
}
Step::Step(QTextStream &in)
Step::Step( QJsonObject &in)
{
int stepNumber;
in >> stepNumber;
in.readLine();
title = in.readLine();
QChar latDir, lonDir;
int latDeg, lonDeg;
float latMin, lonMin;
in >> latDir >> latDeg >> latMin >> lonDir >> lonDeg >> lonMin;
title = in["title"].toString();
response = in["reponse"].toInt();
QString gps = in["GPS"].toString();
QStringList parts = gps.split(" ", Qt::SkipEmptyParts);
QChar latDir = parts[0][0]; // c'est le premier QChar du QString t'as capté
int latDeg = parts[1].toInt();
float latMin = parts[2].toFloat();
setLatitude(latDeg, latMin, latDir);
QChar lonDir = parts[3][0];
int lonDeg = parts[4].toInt();
float lonMin = parts[5].toFloat();
setLongitude(lonDeg, lonMin, lonDir);
in >> response;
in.readLine();
QJsonArray personnagetab = in["dialogue"].toArray();
for (const QJsonValue &val : personnagetab) {
if (val.isObject()) {
QJsonObject obj = val.toObject();
QString personnages = obj["personnage"].toString();
personnage.append(personnages);
QString textes = obj["texte"].toString();
texte.append(textes);
}
}
}
void Step::setLatitude(int degree, float minute, QChar NS)
{
latitude = degree + minute / 60.0;

13
step.h
View File

@ -2,6 +2,10 @@
#define STEP_H
#include <QString>
#include <QTextStream>
#include <iostream>
#include <QJsonObject>
#include <QList>
using namespace std;
class Step
{
@ -9,14 +13,19 @@ private:
QString title;
float latitude;
float longitude;
QString text;
int response;
QList<QString> personnage;
QList<QString> texte;
public:
Step();
Step(QTextStream &in);
Step(QJsonObject &in);
void setLatitude(int degree,float minute,QChar NS);
void setLongitude(int degree,float minute,QChar EW);
QString getTitle() const;
float getLatitude() const;
float getLongitude() const;
int getResponse() const;
};
#endif // STEP_H