Merge branch 'feature/validateBtn' into 'main'

Feature/validate btn

See merge request p2406187/sae201!17
This commit is contained in:
T'JAMPENS QUENTIN p2406187 2025-06-20 14:25:05 +00:00
commit 1a0b373e8e
7 changed files with 452 additions and 355 deletions

View File

@ -141,6 +141,7 @@ void MainWindow::loadStep(Step s) {
ui->stepTitle->setText(s.getTitle());
ui->LatitudeSpin->setValue(s.getLatitude());
ui->longitudeSpin->setValue(s.getLongitude());
ui->responseSpin->setValue(s.getResponse());
for(int i = 0; i < s.getTexte().length(); i++) {
QString q = s.getPersonnage().at(i) + ": " + s.getTexte().at(i);
@ -320,6 +321,7 @@ void MainWindow::on_actionEditCut_triggered()
void MainWindow::on_pathNumber_valueChanged(int arg1)
{
this->loadPath(path.at(ui->pathNumber->value()-1));
currentPath = path.at(arg1-1);
}
@ -328,3 +330,18 @@ void MainWindow::on_stepNumber_valueChanged(int arg1)
this->loadStep(currentPath->getStep().at(arg1-1));
}
void MainWindow::on_validateBtn_clicked()
{
currentPath->setName(ui->titleEdit->text());
currentPath->setCity(ui->locEdit->text());
currentPath->setImage(ui->imagePath->text());
currentPath->setLength(ui->lengthSpin->value());
currentPath->setDifficulty(ui->diffSpin->value());
currentPath->setDuration(ui->durationSpin->value());
currentPath->getStep()[ui->stepNumber->value()-1].setTitle(ui->stepTitle->text());
currentPath->getStep()[ui->stepNumber->value()-1].setResponse(ui->responseSpin->value());
}

View File

@ -51,6 +51,8 @@ private slots:
void on_stepNumber_valueChanged(int arg1);
void on_validateBtn_clicked();
private:
Ui::MainWindow *ui;
QString currentFile;

View File

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>800</width>
<height>598</height>
<height>868</height>
</rect>
</property>
<property name="sizePolicy">
@ -26,10 +26,22 @@
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>30</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>800</width>
<height>521</height>
<height>1000</height>
</size>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
@ -54,6 +66,12 @@
</item>
<item>
<widget class="QFrame" name="frame">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
@ -63,225 +81,228 @@
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<widget class="QSpinBox" name="pathNumber">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>45</width>
<height>27</height>
</rect>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
<widget class="QLineEdit" name="titleEdit">
<property name="geometry">
<rect>
<x>60</x>
<y>20</y>
<width>391</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QWidget" name="widget" native="true">
<property name="geometry">
<rect>
<x>10</x>
<y>60</y>
<width>441</width>
<height>45</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Localisation</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="locEdit"/>
</item>
<item>
<widget class="QSpinBox" name="depSpin">
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QLabel" name="imageLbl">
<property name="geometry">
<rect>
<x>470</x>
<y>20</y>
<width>281</width>
<height>191</height>
</rect>
</property>
<property name="text">
<string/>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
<widget class="QWidget" name="widget_5" native="true">
<property name="geometry">
<rect>
<x>0</x>
<y>110</y>
<width>451</width>
<height>63</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="leftMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget_2" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Difficulty</string>
<layout class="QHBoxLayout" name="horizontalLayout_13">
<item>
<widget class="QWidget" name="widget_8" native="true">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QWidget" name="widget_7" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_12">
<item>
<widget class="QSpinBox" name="pathNumber">
<property name="minimum">
<number>1</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="titleEdit"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="diffSpin">
<property name="suffix">
<string>/5</string>
<property name="rightMargin">
<number>0</number>
</property>
<property name="maximum">
<number>5</number>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Localisation</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="locEdit"/>
</item>
<item>
<widget class="QSpinBox" name="spinBox_2"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_5" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="leftMargin">
<number>0</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_3" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Duration</string>
<property name="rightMargin">
<number>0</number>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="durationSpin">
<property name="suffix">
<string>h</string>
<item>
<widget class="QWidget" name="widget_2" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Difficulty</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="diffSpin">
<property name="suffix">
<string>/5</string>
</property>
<property name="maximum">
<number>5</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_3" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Duration</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="durationSpin">
<property name="suffix">
<string>h</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_4" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Length</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="lengthSpin">
<property name="suffix">
<string>Km</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="maximum">
<double>500.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_6" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="leftMargin">
<number>9</number>
</property>
<property name="decimals">
<number>1</number>
<property name="rightMargin">
<number>0</number>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_4" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Length</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="lengthSpin">
<property name="suffix">
<string>Km</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="maximum">
<double>500.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="widget_6" native="true">
<property name="geometry">
<rect>
<x>0</x>
<y>180</y>
<width>451</width>
<height>44</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="leftMargin">
<number>9</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Image</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="imagePath"/>
</item>
<item>
<widget class="QToolButton" name="toolButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="data.qrc">
<normaloff>:/data/images/data/images/add.png</normaloff>:/data/images/data/images/add.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>Select Image File</string>
</property>
</widget>
</item>
</layout>
</widget>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Image</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="imagePath"/>
</item>
<item>
<widget class="QToolButton" name="toolButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="data.qrc">
<normaloff>:/data/images/data/images/add.png</normaloff>:/data/images/data/images/add.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>Select Image File</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="imageLbl">
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>200</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
@ -300,143 +321,155 @@
<item>
<widget class="QFrame" name="stepInformationFrame">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<widget class="QWidget" name="steptitleFrame" native="true">
<property name="geometry">
<rect>
<x>0</x>
<y>10</y>
<width>781</width>
<height>45</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QSpinBox" name="stepNumber">
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="stepTitle"/>
</item>
<item>
<widget class="QToolButton" name="addStep">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="data.qrc">
<normaloff>:/data/images/data/images/add.png</normaloff>:/data/images/data/images/add.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="stepCoordinatesFrame" native="true">
<property name="geometry">
<rect>
<x>0</x>
<y>60</y>
<width>781</width>
<height>63</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QWidget" name="latFrame" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QLabel" name="latLbl">
<property name="text">
<string>Latitude</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="LatitudeSpin">
<property name="decimals">
<number>6</number>
</property>
<property name="maximum">
<double>90.000000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="longFrame" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QLabel" name="longLbl">
<property name="text">
<string>Longitude</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="longitudeSpin">
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-180.000000000000000</double>
</property>
<property name="maximum">
<double>180.000000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="responseFrame" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLabel" name="responseLbl">
<property name="text">
<string>Response</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="responseSpin"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QPlainTextEdit" name="dialogEdit">
<property name="geometry">
<rect>
<x>10</x>
<y>130</y>
<width>761</width>
<height>81</height>
</rect>
</property>
</widget>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QWidget" name="steptitleFrame" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QSpinBox" name="stepNumber">
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="stepTitle"/>
</item>
<item>
<widget class="QToolButton" name="addStep">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="data.qrc">
<normaloff>:/data/images/data/images/add.png</normaloff>:/data/images/data/images/add.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="stepCoordinatesFrame" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QWidget" name="latFrame" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QLabel" name="latLbl">
<property name="text">
<string>Latitude</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="LatitudeSpin">
<property name="decimals">
<number>6</number>
</property>
<property name="maximum">
<double>90.000000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="longFrame" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QLabel" name="longLbl">
<property name="text">
<string>Longitude</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="longitudeSpin">
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-180.000000000000000</double>
</property>
<property name="maximum">
<double>180.000000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="responseFrame" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLabel" name="responseLbl">
<property name="text">
<string>Response</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="responseSpin"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="dialogEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>255</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="backgroundVisible">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="validateBtn">
<property name="text">
<string>Valider</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
@ -458,15 +491,8 @@
<addaction name="actionSave"/>
<addaction name="actionSave_as"/>
</widget>
<widget class="QMenu" name="menuEdit">
<property name="title">
<string>Edit</string>
</property>
</widget>
<addaction name="menuFile"/>
<addaction name="menuEdit"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<widget class="QToolBar" name="toolBar">
<property name="windowTitle">
<string>toolBar</string>

View File

@ -45,12 +45,45 @@ QString Path::getImage() const
return image;
}
QList<Step> Path::getStep() const
QList<Step>& Path::getStep()
{
return step;
}
Path::Path(){}
void Path::setCity(const QString &newCity)
{
city = newCity;
}
void Path::setDepartement(int newDepartement)
{
departement = newDepartement;
}
void Path::setName(const QString &newName)
{
name = newName;
}
void Path::setDifficulty(unsigned int newDifficulty)
{
difficulty = newDifficulty;
}
void Path::setDuration(float newDuration)
{
duration = newDuration;
}
void Path::setLength(float newLength)
{
length = newLength;
}
void Path::setImage(const QString &newImage)
{
image = newImage;
}
Path::Path(QFile *file){
if (!file->open(QIODevice::ReadOnly)) {

9
path.h
View File

@ -28,7 +28,14 @@ public:
float getDuration() const;
float getLength() const;
QString getImage() const;
QList<Step> getStep() const;
QList<Step>& getStep();
void setCity(const QString &newCity);
void setDepartement(int newDepartement);
void setName(const QString &newName);
void setDifficulty(unsigned int newDifficulty);
void setDuration(float newDuration);
void setLength(float newLength);
void setImage(const QString &newImage);
};
#endif // PATH_H

View File

@ -27,6 +27,16 @@ int Step::getResponse() const
return response;
}
void Step::setTitle(const QString &newTitle)
{
title = newTitle;
}
void Step::setResponse(int newResponse)
{
response = newResponse;
}
Step::Step() {
latitude = 0.0;
longitude = 0.0;

2
step.h
View File

@ -29,6 +29,8 @@ public:
QString toGPSFormat();
QList<QString> getPersonnage() const;
QList<QString> getTexte() const;
void setTitle(const QString &newTitle);
void setResponse(int newResponse);
};
#endif // STEP_H