add off open, create, save, save, as
10
Feature.h
@ -1,10 +0,0 @@
|
||||
#ifndef FEATURE_H
|
||||
#define FEATURE_H
|
||||
#include <string>
|
||||
|
||||
struct Feature {
|
||||
std::string name;
|
||||
int value;
|
||||
};
|
||||
|
||||
#endif // FEATURE_H
|
||||
@ -14,9 +14,6 @@ SOURCES += \
|
||||
mainwindow.cpp
|
||||
|
||||
HEADERS += \
|
||||
Feature.h \
|
||||
Skill.h \
|
||||
SpecialSkill.h \
|
||||
character.h \
|
||||
mainwindow.h
|
||||
|
||||
|
||||
12
Skill.h
@ -1,12 +0,0 @@
|
||||
#ifndef SKILL_H
|
||||
#define SKILL_H
|
||||
|
||||
|
||||
#include <string>
|
||||
|
||||
struct Skill {
|
||||
std::string name;
|
||||
int value;
|
||||
};
|
||||
|
||||
#endif // SKILL_H
|
||||
@ -1,11 +0,0 @@
|
||||
#ifndef SPECIALSKILL_H
|
||||
#define SPECIALSKILL_H
|
||||
|
||||
#include <string>
|
||||
|
||||
struct SpecialSkill {
|
||||
std::string name;
|
||||
int value;
|
||||
};
|
||||
|
||||
#endif // SPECIALSKILL_H
|
||||
@ -1,5 +1,54 @@
|
||||
#include "character.h"
|
||||
#include <iostream>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonArray>
|
||||
#include <QDebug>
|
||||
|
||||
Character::Character() {
|
||||
|
||||
Character::Character(){
|
||||
for(int i = 0; i<6; i++){skills.append(0);}
|
||||
for(int i = 0; i<6; i++){skillsMod.append(0);}
|
||||
for(int i = 0; i<18; i++){stats.append(0);}
|
||||
image = "data/images/logo.png";
|
||||
}
|
||||
|
||||
Character::Character(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();
|
||||
nom = json["name"].toString();
|
||||
age = json["age"].toInt();
|
||||
race = json["race"].toString();
|
||||
classe = json["classe"].toString();
|
||||
niveau = json["niveau"].toInt();
|
||||
sexe = json["sexe"].toString();
|
||||
taille = json["taille"].toDouble();
|
||||
vie = json["vie"].toInt();
|
||||
image = json["image"].toString();
|
||||
|
||||
QJsonArray skillArray = json["skills"].toArray();
|
||||
for (int i = 0; i < skillArray.size(); ++i) {
|
||||
int skillValue = skillArray[i].toInt();
|
||||
skills.append(skillValue);
|
||||
}
|
||||
QJsonArray skillModArray = json["skillsMod"].toArray();
|
||||
for (int i = 0; i < skillModArray.size(); ++i) {
|
||||
int skillModValue = skillModArray[i].toInt();
|
||||
skillsMod.append(skillModValue);
|
||||
}
|
||||
QJsonArray statArray = json["stats"].toArray();
|
||||
for (int i = 0; i < statArray.size(); ++i) {
|
||||
int statValue = statArray[i].toInt();
|
||||
stats.append(statValue);
|
||||
}
|
||||
}
|
||||
|
||||
38
character.h
@ -1,23 +1,43 @@
|
||||
#ifndef CHARACTER_H
|
||||
#define CHARACTER_H
|
||||
|
||||
#include "Feature.h"
|
||||
#include "Skill.h"
|
||||
#include "SpecialSkill.h"
|
||||
|
||||
#include <QList>
|
||||
#include <QFile>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class Character{
|
||||
private:
|
||||
string name;
|
||||
string age;
|
||||
QList<Feature> features;
|
||||
QList<Skill> skills;
|
||||
QList<SpecialSkill> specialSkills;
|
||||
QString nom;
|
||||
int age;
|
||||
QString race;
|
||||
QString classe;
|
||||
int niveau;
|
||||
QString sexe;
|
||||
float taille;
|
||||
QList<int> skills;
|
||||
QList<int> skillsMod;
|
||||
QList<int> stats;
|
||||
int vie;
|
||||
QString image;
|
||||
|
||||
public:
|
||||
Character();
|
||||
Character(QFile *file);
|
||||
|
||||
QString getImage(){return image;}
|
||||
QString getNom(){return nom;}
|
||||
int getAge(){return age;}
|
||||
QString getRace(){return race;}
|
||||
QString getClasse(){return classe;}
|
||||
int getNiveau(){return niveau;}
|
||||
QString getSexe(){return sexe;}
|
||||
float getTaille(){return taille;}
|
||||
QList<int> getSkills(){return skills;}
|
||||
QList<int> getSkillsMod(){return skillsMod;}
|
||||
QList<int> getStats(){return stats;}
|
||||
int getVie(){return vie;}
|
||||
|
||||
};
|
||||
|
||||
#endif // CHARACTER_H
|
||||
|
||||
BIN
data/images/add.png
Normal file
|
After Width: | Height: | Size: 370 B |
BIN
data/images/bold.png
Normal file
|
After Width: | Height: | Size: 724 B |
BIN
data/images/copy.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
data/images/create.png
Normal file
|
After Width: | Height: | Size: 459 B |
BIN
data/images/cut.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
data/images/edit_redo.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
data/images/edit_undo.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
data/images/exit.png
Normal file
|
After Width: | Height: | Size: 379 B |
BIN
data/images/font-color.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
data/images/font-size.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
data/images/font.png
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
BIN
data/images/info.png
Normal file
|
After Width: | Height: | Size: 557 B |
BIN
data/images/italic.png
Normal file
|
After Width: | Height: | Size: 471 B |
BIN
data/images/logo.png
Normal file
|
After Width: | Height: | Size: 168 KiB |
BIN
data/images/new.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
BIN
data/images/open.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
data/images/overline.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
data/images/paste.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
data/images/pencil.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
data/images/print.png
Normal file
|
After Width: | Height: | Size: 331 B |
BIN
data/images/save.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
data/images/save_as.png
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
BIN
data/images/underline.png
Normal file
|
After Width: | Height: | Size: 520 B |
14
data/p1.txt
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
name : "ujunb",
|
||||
age : 12,
|
||||
race : "zifzi",
|
||||
classe : "uhuh",
|
||||
niveau : 2,
|
||||
sexe : "H",
|
||||
taille : 1.2,
|
||||
vie : 2,
|
||||
image : "data/images/logo.png",
|
||||
skills : [1,1,1,1,1,1],
|
||||
skillsMod : [1,1,1,1,1,1],
|
||||
stats : [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
||||
}
|
||||
204
mainwindow.cpp
@ -1,6 +1,14 @@
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <QFile>
|
||||
#include <QMessageBox>
|
||||
#include <QFileDialog>
|
||||
#include <QJsonObject>
|
||||
|
||||
using namespace std;
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
, ui(new Ui::MainWindow)
|
||||
@ -10,6 +18,9 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
currentCharacter = c;
|
||||
characters.append(c);
|
||||
ui->ageLineEdit->setValidator(new QIntValidator(0, 999999, ui->ageLineEdit));
|
||||
ui->niveauLineEdit->setValidator(new QIntValidator(0, 999999, ui->niveauLineEdit));
|
||||
ui->tailleLineEdit->setValidator(new QDoubleValidator(0.0, 999999.0, 1,ui->tailleLineEdit));
|
||||
loadImage(QString("data/images/logo.png"));
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
@ -22,6 +33,192 @@ MainWindow::~MainWindow()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void MainWindow::loadNewCharacter(){
|
||||
QString fileName = QFileDialog::getOpenFileName(this, "Open the file");
|
||||
if(fileName.isEmpty()) return;
|
||||
QFile file(fileName);
|
||||
if(!file.open(QIODevice::ReadOnly | QFile::Text)) {
|
||||
QMessageBox::warning(this, "Warning", "Fichier non valide" + file.errorString());
|
||||
return;
|
||||
}
|
||||
|
||||
file.close();
|
||||
|
||||
Character* c = new Character(&file);
|
||||
currentCharacter = c;
|
||||
characters.append(c);
|
||||
createNewCharacter(c);
|
||||
currentFile = fileName;
|
||||
}
|
||||
|
||||
void MainWindow::createNewCharacter(Character* p) {
|
||||
currentCharacter = p;
|
||||
characters.append(p);
|
||||
|
||||
ui->nomLineEdit->setText(p->getNom());
|
||||
ui->ageLineEdit->setText(QString::number(p->getAge()));
|
||||
ui->raceLineEdit->setText(p->getRace());
|
||||
ui->classeLineEdit->setText(p->getClasse());
|
||||
ui->niveauLineEdit->setText(QString::number(p->getNiveau()));
|
||||
ui->sexeLineEdit->setText(p->getSexe());
|
||||
ui->tailleLineEdit->setText(QString::number(p->getTaille()));
|
||||
|
||||
ui->charismeSpinBox->setValue(p->getSkills()[0]);
|
||||
ui->dexteriteSpinBox->setValue(p->getSkills()[1]);
|
||||
ui->enduranceSpinBox->setValue(p->getSkills()[2]);
|
||||
ui->forceSpinBox->setValue(p->getSkills()[3]);
|
||||
ui->intelligenceSpinBox->setValue(p->getSkills()[4]);
|
||||
ui->sagesseSpinBox->setValue(p->getSkills()[5]);
|
||||
|
||||
ui->modCharismeSpinBox->setValue(p->getSkillsMod()[0]);
|
||||
ui->modDexteriteSpinBox->setValue(p->getSkillsMod()[1]);
|
||||
ui->modEnduranceSpinBox->setValue(p->getSkillsMod()[2]);
|
||||
ui->modForceSpinBox->setValue(p->getSkillsMod()[3]);
|
||||
ui->modIntelligenceSpinBox->setValue(p->getSkillsMod()[4]);
|
||||
ui->modSagesseSpinBox->setValue(p->getSkillsMod()[5]);
|
||||
|
||||
for (int i = 0; i < p->getStats().size(); ++i) {
|
||||
QString spinBoxName = QString("spinBox%1").arg(i+1);
|
||||
QSpinBox* spinBox = this->findChild<QSpinBox*>(spinBoxName);
|
||||
if (spinBox) {
|
||||
spinBox->setValue(p->getStats()[i]);
|
||||
}
|
||||
}
|
||||
loadImage(p->getImage());
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::loadImage(QString fileName) {
|
||||
QString ext[] = {"png", "jpeg", "jpg"};
|
||||
QFile file(fileName);
|
||||
if (!file.open(QIODevice::ReadOnly | QFile::Text)) {
|
||||
QMessageBox::warning(this, "Warning", "Cannot open image: " +
|
||||
file.errorString());
|
||||
}else{
|
||||
QString text = file.fileName();
|
||||
bool acceptedExt = false;
|
||||
for(QString e : ext) {
|
||||
if(text.endsWith(e)) acceptedExt = true;
|
||||
}
|
||||
if(!acceptedExt) {
|
||||
QMessageBox::warning(this, "Warning", "Format de fichier incorrect");
|
||||
return;
|
||||
}
|
||||
ui->imageLabel->setText(text);
|
||||
QPixmap px(fileName);
|
||||
ui->imageLabel->setPixmap(px);
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::exportJson(){
|
||||
QString fileName;
|
||||
if (currentFile.isEmpty()) {
|
||||
fileName = QFileDialog::getSaveFileName(this, "Save");
|
||||
currentFile = fileName;
|
||||
} else {
|
||||
fileName = currentFile;
|
||||
}
|
||||
QFile file(fileName);
|
||||
if (!file.open(QIODevice::WriteOnly | QFile::Text)) {
|
||||
QMessageBox::warning(this, "Warning", "Cannot save file: " + file.errorString());
|
||||
return;
|
||||
}
|
||||
setWindowTitle(fileName);
|
||||
|
||||
if(edition){
|
||||
//appelle a funct qui prend val ui pour mettre dans c
|
||||
}
|
||||
//Prend de c pour mettre dans json
|
||||
QJsonObject json;
|
||||
/*
|
||||
json["name"] = ui->titleEdit->text();
|
||||
json["city"] =ui->locEdit->text();
|
||||
json["departement"] = ui->depSpin->text();
|
||||
json["difficulty"] = ui->diffSpin->value();
|
||||
json["duration"] = ui->durationSpin->value();
|
||||
json["length"] = ui->lengthSpin->value();
|
||||
json["image"] = ui->imagePath->text();
|
||||
|
||||
QJsonArray steps;
|
||||
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.getTexte().size(); i++){
|
||||
QJsonObject dialogueObject;
|
||||
dialogueObject["personnage"] = step.getPersonnage()[i];
|
||||
dialogueObject["texte"] = step.getTexte()[i];
|
||||
dialogues.append(dialogueObject);
|
||||
}
|
||||
stepObject["dialogue"] = dialogues;
|
||||
steps.append(stepObject);
|
||||
}
|
||||
json["steps"] = steps;
|
||||
QJsonDocument doc(json);
|
||||
file.write(doc.toJson());
|
||||
*/
|
||||
file.close();
|
||||
}
|
||||
|
||||
void MainWindow::exportJsonAs(){
|
||||
QString fileName = QFileDialog::getSaveFileName(this, "Save as");
|
||||
QFile file(fileName);
|
||||
|
||||
if (!file.open(QFile::WriteOnly | QFile::Text)) {
|
||||
QMessageBox::warning(this, "Warning", "Cannot save file: " + file.errorString());
|
||||
return;
|
||||
}
|
||||
setWindowTitle(fileName);
|
||||
currentFile = fileName;
|
||||
|
||||
if(edition){
|
||||
//appelle a funct qui prend val ui pour mettre dans c
|
||||
}
|
||||
//Prend de c pour mettre dans json
|
||||
QJsonObject json;
|
||||
/*
|
||||
json["name"] = ui->titleEdit->text();
|
||||
json["city"] =ui->locEdit->text();
|
||||
json["departement"] = ui->depSpin->text();
|
||||
json["difficulty"] = ui->diffSpin->value();
|
||||
json["duration"] = ui->durationSpin->value();
|
||||
json["length"] = ui->lengthSpin->value();
|
||||
json["image"] = ui->imagePath->text();
|
||||
|
||||
QJsonArray steps;
|
||||
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.getTexte().size(); i++){
|
||||
QJsonObject dialogueObject;
|
||||
dialogueObject["personnage"] = step.getPersonnage()[i];
|
||||
dialogueObject["texte"] = step.getTexte()[i];
|
||||
dialogues.append(dialogueObject);
|
||||
}
|
||||
stepObject["dialogue"] = dialogues;
|
||||
steps.append(stepObject);
|
||||
}
|
||||
json["steps"] = steps;
|
||||
QJsonDocument doc(json);
|
||||
file.write(doc.toJson());
|
||||
*/
|
||||
file.close();
|
||||
}
|
||||
|
||||
void MainWindow::on_actionEditer_triggered(){
|
||||
if(edition){
|
||||
//Mode edition
|
||||
@ -41,3 +238,10 @@ void MainWindow::on_actionBlocNote_triggered(){
|
||||
notePad=!notePad;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionOuvrir_une_fiche_triggered(){this->loadNewCharacter();}
|
||||
void MainWindow::on_actionNouvelle_fiche_triggered(){this->createNewCharacter(new Character());}
|
||||
void MainWindow::on_actionSauvegarder_triggered(){this->exportJson();}
|
||||
void MainWindow::on_actionEnregistrer_sous_triggered(){this->exportJsonAs();}
|
||||
void MainWindow::on_actionFermer_triggered(){QApplication::quit();}
|
||||
|
||||
|
||||
@ -19,11 +19,18 @@ public:
|
||||
MainWindow(QWidget *parent = nullptr);
|
||||
~MainWindow();
|
||||
|
||||
void loadImage(QString fileName);
|
||||
void createNewCharacter(Character* p);
|
||||
void loadNewCharacter();
|
||||
void exportJson();
|
||||
void exportJsonAs();
|
||||
|
||||
private slots:
|
||||
void on_actionEditer_triggered();
|
||||
|
||||
void on_actionBlocNote_triggered();
|
||||
void on_actionOuvrir_une_fiche_triggered();
|
||||
void on_actionNouvelle_fiche_triggered();
|
||||
void on_actionSauvegarder_triggered();
|
||||
|
||||
private:
|
||||
Ui::MainWindow *ui;
|
||||
|
||||
125
mainwindow.ui
@ -27,7 +27,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
<enum>QFrame::Shape::NoFrame</enum>
|
||||
</property>
|
||||
<widget class="QFrame" name="topLeftFrame">
|
||||
<property name="geometry">
|
||||
@ -39,7 +39,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
<enum>QFrame::Shape::NoFrame</enum>
|
||||
</property>
|
||||
<widget class="QLabel" name="ageLabel">
|
||||
<property name="geometry">
|
||||
@ -64,7 +64,10 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ggdgdgggdggdg</string>
|
||||
<string>Logo</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="nomLabel">
|
||||
@ -165,7 +168,7 @@
|
||||
<string>Taille</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="nomLineEdit_2">
|
||||
<widget class="QLineEdit" name="raceLineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>210</x>
|
||||
@ -175,7 +178,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="nomLineEdit_3">
|
||||
<widget class="QLineEdit" name="classeLineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>210</x>
|
||||
@ -185,7 +188,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="nomLineEdit_4">
|
||||
<widget class="QLineEdit" name="niveauLineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>210</x>
|
||||
@ -195,7 +198,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="nomLineEdit_5">
|
||||
<widget class="QLineEdit" name="sexeLineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>210</x>
|
||||
@ -205,7 +208,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="nomLineEdit_6">
|
||||
<widget class="QLineEdit" name="tailleLineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>210</x>
|
||||
@ -226,7 +229,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
<enum>QFrame::Shape::NoFrame</enum>
|
||||
</property>
|
||||
<widget class="QLabel" name="charismeLabel">
|
||||
<property name="geometry">
|
||||
@ -420,7 +423,7 @@
|
||||
<number>20</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="modCharismeSpinBox_2">
|
||||
<widget class="QSpinBox" name="modDexteriteSpinBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>191</x>
|
||||
@ -433,7 +436,7 @@
|
||||
<number>20</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="modCharismeSpinBox_3">
|
||||
<widget class="QSpinBox" name="modEnduranceSpinBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>191</x>
|
||||
@ -446,7 +449,7 @@
|
||||
<number>20</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="modCharismeSpinBox_4">
|
||||
<widget class="QSpinBox" name="modForceSpinBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>191</x>
|
||||
@ -459,7 +462,7 @@
|
||||
<number>20</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="modCharismeSpinBox_5">
|
||||
<widget class="QSpinBox" name="modIntelligenceSpinBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>191</x>
|
||||
@ -472,7 +475,7 @@
|
||||
<number>20</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="modCharismeSpinBox_6">
|
||||
<widget class="QSpinBox" name="modSagesseSpinBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>191</x>
|
||||
@ -497,7 +500,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
<enum>QFrame::Shape::NoFrame</enum>
|
||||
</property>
|
||||
<widget class="QFrame" name="bottomLeftFrame">
|
||||
<property name="geometry">
|
||||
@ -509,9 +512,9 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
<enum>QFrame::Shape::NoFrame</enum>
|
||||
</property>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<widget class="QLabel" name="label11">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>271</x>
|
||||
@ -524,7 +527,7 @@
|
||||
<string>Histoire (INT)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_12">
|
||||
<widget class="QLabel" name="label18">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>507</x>
|
||||
@ -537,7 +540,7 @@
|
||||
<string>Représentation (CHA)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<widget class="QLabel" name="label4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>35</x>
|
||||
@ -550,7 +553,7 @@
|
||||
<string>Discrétion (DEX)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<widget class="QLabel" name="label5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>35</x>
|
||||
@ -563,7 +566,7 @@
|
||||
<string>Dressage (SAG)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_20">
|
||||
<widget class="QLabel" name="label17">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>507</x>
|
||||
@ -576,7 +579,7 @@
|
||||
<string>Religion (INT)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_17">
|
||||
<widget class="QLabel" name="label2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>35</x>
|
||||
@ -589,7 +592,7 @@
|
||||
<string>Arcanes (INT)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_13">
|
||||
<widget class="QLabel" name="label16">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>507</x>
|
||||
@ -602,7 +605,7 @@
|
||||
<string>Persuasion (CHA)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_19">
|
||||
<widget class="QLabel" name="label15">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>507</x>
|
||||
@ -615,7 +618,7 @@
|
||||
<string>Perspicacité (SAG)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_7">
|
||||
<widget class="QLabel" name="label12">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>271</x>
|
||||
@ -628,7 +631,7 @@
|
||||
<string>Intimidation (CHA)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_18">
|
||||
<widget class="QLabel" name="label7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>271</x>
|
||||
@ -641,7 +644,7 @@
|
||||
<string>Investigation (INT)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<widget class="QLabel" name="label3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>35</x>
|
||||
@ -654,7 +657,7 @@
|
||||
<string>Athlétisme (FOR)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_9">
|
||||
<widget class="QLabel" name="label9">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>271</x>
|
||||
@ -667,7 +670,7 @@
|
||||
<string>Nature (INT)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_15">
|
||||
<widget class="QLabel" name="label10">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>271</x>
|
||||
@ -680,7 +683,7 @@
|
||||
<string>Perception (SAG)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label">
|
||||
<widget class="QLabel" name="label1">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>35</x>
|
||||
@ -693,7 +696,7 @@
|
||||
<string>Acrobaties (DEX)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<widget class="QLabel" name="label6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>35</x>
|
||||
@ -706,7 +709,7 @@
|
||||
<string>Escamotage (DEX)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<widget class="QLabel" name="label8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>271</x>
|
||||
@ -719,7 +722,7 @@
|
||||
<string>Médecine (SAG)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_2">
|
||||
<widget class="QSpinBox" name="spinBox1">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>166</x>
|
||||
@ -732,7 +735,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_3">
|
||||
<widget class="QSpinBox" name="spinBox2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>166</x>
|
||||
@ -745,7 +748,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_4">
|
||||
<widget class="QSpinBox" name="spinBox3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>166</x>
|
||||
@ -758,7 +761,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_5">
|
||||
<widget class="QSpinBox" name="spinBox4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>166</x>
|
||||
@ -771,7 +774,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_6">
|
||||
<widget class="QSpinBox" name="spinBox5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>166</x>
|
||||
@ -784,7 +787,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_7">
|
||||
<widget class="QSpinBox" name="spinBox6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>166</x>
|
||||
@ -797,7 +800,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_8">
|
||||
<widget class="QSpinBox" name="spinBox11">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>402</x>
|
||||
@ -810,7 +813,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_9">
|
||||
<widget class="QSpinBox" name="spinBox12">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>402</x>
|
||||
@ -823,7 +826,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_12">
|
||||
<widget class="QSpinBox" name="spinBox7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>402</x>
|
||||
@ -836,7 +839,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_13">
|
||||
<widget class="QSpinBox" name="spinBox8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>402</x>
|
||||
@ -849,7 +852,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_14">
|
||||
<widget class="QSpinBox" name="spinBox9">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>402</x>
|
||||
@ -862,7 +865,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_15">
|
||||
<widget class="QSpinBox" name="spinBox10">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>402</x>
|
||||
@ -875,7 +878,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_16">
|
||||
<widget class="QSpinBox" name="spinBox15">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>658</x>
|
||||
@ -888,7 +891,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_17">
|
||||
<widget class="QSpinBox" name="spinBox16">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>658</x>
|
||||
@ -901,7 +904,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_18">
|
||||
<widget class="QSpinBox" name="spinBox17">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>658</x>
|
||||
@ -914,7 +917,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_19">
|
||||
<widget class="QSpinBox" name="spinBox18">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>658</x>
|
||||
@ -927,7 +930,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_14">
|
||||
<widget class="QLabel" name="label13">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>507</x>
|
||||
@ -940,7 +943,7 @@
|
||||
<string>Survie (SAG)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_16">
|
||||
<widget class="QLabel" name="label14">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>507</x>
|
||||
@ -953,7 +956,7 @@
|
||||
<string>Tromperie (CHA)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_20">
|
||||
<widget class="QSpinBox" name="spinBox14">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>658</x>
|
||||
@ -966,7 +969,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="charismeSpinBox_21">
|
||||
<widget class="QSpinBox" name="spinBox13">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>658</x>
|
||||
@ -988,13 +991,14 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>800</width>
|
||||
<height>21</height>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuFichier">
|
||||
<property name="title">
|
||||
<string>Fichier</string>
|
||||
</property>
|
||||
<addaction name="actionNouvelle_fiche"/>
|
||||
<addaction name="actionOuvrir_une_fiche"/>
|
||||
<addaction name="actionSauvegarder"/>
|
||||
<addaction name="actionEnregistrer_sous"/>
|
||||
@ -1076,26 +1080,29 @@
|
||||
</action>
|
||||
<action name="actionEditer">
|
||||
<property name="icon">
|
||||
<iconset theme="QIcon::ThemeIcon::MailMessageNew">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset theme="QIcon::ThemeIcon::MailMessageNew"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Editer</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::NoRole</enum>
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionBlocNote">
|
||||
<property name="icon">
|
||||
<iconset theme="QIcon::ThemeIcon::DocumentPageSetup">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset theme="QIcon::ThemeIcon::DocumentPageSetup"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>BlocNote</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::NoRole</enum>
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionNouvelle_fiche">
|
||||
<property name="text">
|
||||
<string>Nouvelle fiche</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
|
||||