diff --git a/FicheJDR.pro b/FicheJDR.pro index 6639e05..53675b4 100644 --- a/FicheJDR.pro +++ b/FicheJDR.pro @@ -12,12 +12,14 @@ SOURCES += \ character.cpp \ main.cpp \ mainwindow.cpp \ - notepad.cpp + notepad.cpp \ + textformatutils.cpp HEADERS += \ character.h \ mainwindow.h \ notepad.h \ + textformatutils.h FORMS += \ mainwindow.ui \ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QEvent.4D9DCE8C40473CAA.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QEvent.4D9DCE8C40473CAA.idx new file mode 100644 index 0000000..b526341 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QEvent.4D9DCE8C40473CAA.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QTimer.EACE6FB301CD4DC9.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QTimer.EACE6FB301CD4DC9.idx new file mode 100644 index 0000000..c392ec5 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/QTimer.EACE6FB301CD4DC9.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/atomic_wait.h.FB5A901CB8B217AF.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/atomic_wait.h.FB5A901CB8B217AF.idx new file mode 100644 index 0000000..ca934aa Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/atomic_wait.h.FB5A901CB8B217AF.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/charconv.04B4449B5EAF13B1.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/charconv.04B4449B5EAF13B1.idx new file mode 100644 index 0000000..faa7001 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/charconv.04B4449B5EAF13B1.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/chrono_io.h.070F9541BC8B2FB7.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/chrono_io.h.070F9541BC8B2FB7.idx new file mode 100644 index 0000000..a8419d8 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/chrono_io.h.070F9541BC8B2FB7.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/closeablebutton.cpp.58AC6C8B36B293BC.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/closeablebutton.cpp.58AC6C8B36B293BC.idx new file mode 100644 index 0000000..509c30f Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/closeablebutton.cpp.58AC6C8B36B293BC.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/closeablebutton.h.8F4ECBD9D9F96E17.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/closeablebutton.h.8F4ECBD9D9F96E17.idx new file mode 100644 index 0000000..8cab5b8 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/closeablebutton.h.8F4ECBD9D9F96E17.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/concepts.849EFC71BC0B4D94.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/concepts.849EFC71BC0B4D94.idx new file mode 100644 index 0000000..e3c9d99 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/concepts.849EFC71BC0B4D94.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/format.47250ED316D07E65.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/format.47250ED316D07E65.idx new file mode 100644 index 0000000..0d4698b Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/format.47250ED316D07E65.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/iterator_concepts.h.075DEC777F6AFE6B.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/iterator_concepts.h.075DEC777F6AFE6B.idx new file mode 100644 index 0000000..416348c Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/iterator_concepts.h.075DEC777F6AFE6B.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.cpp.2A4AD3FFCE72E917.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.cpp.2A4AD3FFCE72E917.idx index 2a6c1fe..43cc8f7 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.cpp.2A4AD3FFCE72E917.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.cpp.2A4AD3FFCE72E917.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.h.DF3B3D8668DB37C8.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.h.DF3B3D8668DB37C8.idx index 910c298..ab41f63 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.h.DF3B3D8668DB37C8.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mainwindow.h.DF3B3D8668DB37C8.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/max_size_type.h.5F7E8492CD95181B.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/max_size_type.h.5F7E8492CD95181B.idx new file mode 100644 index 0000000..52f957d Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/max_size_type.h.5F7E8492CD95181B.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mofunc_impl.h.74B9DA8AB728AB52.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mofunc_impl.h.74B9DA8AB728AB52.idx new file mode 100644 index 0000000..8a4caec Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/mofunc_impl.h.74B9DA8AB728AB52.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/move_only_function.h.3DAD6C7BF6328B2D.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/move_only_function.h.3DAD6C7BF6328B2D.idx new file mode 100644 index 0000000..1d0da33 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/move_only_function.h.3DAD6C7BF6328B2D.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/notepad.cpp.F1E6942CA3E3079E.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/notepad.cpp.F1E6942CA3E3079E.idx index 2e15b3e..536c249 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/notepad.cpp.F1E6942CA3E3079E.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/notepad.cpp.F1E6942CA3E3079E.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/numbers.4F13DD97652705C2.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/numbers.4F13DD97652705C2.idx new file mode 100644 index 0000000..854a9ab Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/numbers.4F13DD97652705C2.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtimer.h.A6D79664D25B6EE5.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtimer.h.A6D79664D25B6EE5.idx new file mode 100644 index 0000000..78d9105 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/qtimer.h.A6D79664D25B6EE5.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_algo.h.4B46B94F61C5E879.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_algo.h.4B46B94F61C5E879.idx new file mode 100644 index 0000000..d451434 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_algo.h.4B46B94F61C5E879.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_algobase.h.CC394DDC131F833E.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_algobase.h.CC394DDC131F833E.idx new file mode 100644 index 0000000..65ac62f Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_algobase.h.CC394DDC131F833E.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_base.h.F8047DD85AB8DDA6.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_base.h.F8047DD85AB8DDA6.idx new file mode 100644 index 0000000..4a3e0e2 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_base.h.F8047DD85AB8DDA6.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_cmp.h.147B85C3B21391E3.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_cmp.h.147B85C3B21391E3.idx new file mode 100644 index 0000000..8aa3f83 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_cmp.h.147B85C3B21391E3.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_uninitialized.h.1A6F9425608D5A9A.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_uninitialized.h.1A6F9425608D5A9A.idx new file mode 100644 index 0000000..94ad374 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_uninitialized.h.1A6F9425608D5A9A.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_util.h.80D5B06CA3D24C60.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_util.h.80D5B06CA3D24C60.idx new file mode 100644 index 0000000..26d0e81 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ranges_util.h.80D5B06CA3D24C60.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/span.6503E99C6ABC83DF.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/span.6503E99C6ABC83DF.idx new file mode 100644 index 0000000..58a1791 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/span.6503E99C6ABC83DF.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/std_mutex.h.570A930E42CE829A.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/std_mutex.h.570A930E42CE829A.idx new file mode 100644 index 0000000..be1a69b Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/std_mutex.h.570A930E42CE829A.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/textformatutils.cpp.F7BE8DFE0627A0CB.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/textformatutils.cpp.F7BE8DFE0627A0CB.idx new file mode 100644 index 0000000..c9558d3 Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/textformatutils.cpp.F7BE8DFE0627A0CB.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/textformatutils.h.555E8D0202FAB3F0.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/textformatutils.h.555E8D0202FAB3F0.idx new file mode 100644 index 0000000..9c2b0eb Binary files /dev/null and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/textformatutils.h.555E8D0202FAB3F0.idx differ diff --git a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ui_mainwindow.h.EFECBBF5C95CDB15.idx b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ui_mainwindow.h.EFECBBF5C95CDB15.idx index 09c7b10..529a744 100644 Binary files a/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ui_mainwindow.h.EFECBBF5C95CDB15.idx and b/FicheJDR/build/Desktop_Qt_6_9_1_MinGW_64_bit-Debug/.qtc_clangd/.cache/clangd/index/ui_mainwindow.h.EFECBBF5C95CDB15.idx differ diff --git a/Gitea repo - Raccourci.lnk b/Gitea repo - Raccourci.lnk deleted file mode 100644 index 028ef49..0000000 Binary files a/Gitea repo - Raccourci.lnk and /dev/null differ diff --git a/data/m.txt b/data/m.txt index c4c1c82..cb58e3b 100644 --- a/data/m.txt +++ b/data/m.txt @@ -1,7 +1,7 @@ { "age": 0, - "backPack": "", - "blocNote": "", + "backPack": "fdzsfzf", + "blocNote": "egerger", "classe": "", "image": "data/images/logo.png", "name": "ssfsf", diff --git a/mainwindow.cpp b/mainwindow.cpp index 149d6a2..6c2f121 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,5 +1,6 @@ #include "mainwindow.h" #include "ui_mainwindow.h" +#include "textFormatUtils.h" #include #include @@ -9,6 +10,7 @@ #include #include #include +#include using namespace std; @@ -18,21 +20,27 @@ MainWindow::MainWindow(QWidget *parent) , ui(new Ui::MainWindow) { ui->setupUi(this); - addWindow(); notePad = new NotePad(); connect(notePad, &NotePad::demandeSauvegarde, this, &MainWindow::recevoirSauvegarde); - Character* c = new Character(); - currentCharacter = c; - characters.append(c); - currentFile = QString(); - files.append(currentFile); 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)); ui->BackPack->setHidden(true); - loadImage(QString("data/images/logo.png")); + ui->Edition->setHidden(true); ui->Fenetre->setStyleSheet("background-color: #f2f2f2;"); - qobject_cast(ui->Fenetre->children()[0])->setStyleSheet("background-color: white;"); + + QPushButton* button; + button = new QPushButton("+", ui->Fenetre); + button->setObjectName(QString("addFiche")); + button->setFixedSize(35, 35); + button->move(sizeButtonFiche*idFicheButtonCounter, 0); + qobject_cast(ui->Fenetre->children()[0])->setStyleSheet("background-color: transparent;border:none;"); + button->show(); + connect(button, &QPushButton::clicked, this, &MainWindow::ajouter_fiche_clicked); + + for(int i=0; imenuEdition->actions().size(); i++){ + ui->menuEdition->actions()[i]->setDisabled(true); + } } @@ -59,14 +67,22 @@ void MainWindow::loadNewCharacter(){ file.close(); Character* c = new Character(&file); + createNewCharacter(c, fileName); currentCharacter = c; characters.append(c); currentFile = fileName; files.append(fileName); - createNewCharacter(c, fileName); + } void MainWindow::createNewCharacter(Character* p, QString s) { + if(characters.size() == 0){ + ui->StartMenu->setHidden(true); + ui->BackPack->setHidden(true); + ui->Edition->setHidden(false); + } + + delete ui->Fenetre->children().last(); addWindow(s); notePad->setTexte(p->getTexteBlocNote()); ui->BackPackPlainTextEdit->setPlainText(p->getTexteBlocNote()); @@ -81,7 +97,19 @@ void MainWindow::createNewCharacter(Character* p, QString s) { QPushButton* bt = qobject_cast(ui->Fenetre->children()[i]); bt->setStyleSheet("background-color: #f2f2f2;"); } - qobject_cast(ui->Fenetre->children()[ui->Fenetre->children().size()-1])->setStyleSheet("background-color: white;"); + qobject_cast(ui->Fenetre->children().last())->setStyleSheet("background-color: white;"); + + + int nb = ui->Fenetre->children().size(); + QPushButton* button; + button = new QPushButton("+", ui->Fenetre); + button->setObjectName(QString("addFiche")); + button->setFixedSize(35, 35); + button->move(nb*sizeButtonFiche, 0); + qobject_cast(ui->Fenetre->children().last())->setStyleSheet("background-color: transparent;border:none;"); + button->show(); + connect(button, &QPushButton::clicked, this, &MainWindow::ajouter_fiche_clicked); + } @@ -168,7 +196,6 @@ void MainWindow::saveJson(){ file.close(); if (button) { if (button->objectName() != currentFile) { - std::cout << "oui" << std::endl; button->setObjectName(currentFile); button->setText(extractFileName(currentFile)); } @@ -313,6 +340,7 @@ void MainWindow::setUi(Character* p){ spinBox->setValue(p->getStats()[i]); } } + ui->BackPackPlainTextEdit->setPlainText(p->getTexteBackPack()); loadImage(p->getImage()); } @@ -326,9 +354,15 @@ void MainWindow::toogleBackPack(){ if(ui->BackPack->isHidden()){ ui->Edition->setHidden(true); ui->BackPack->setHidden(false); + for(int i=0; imenuEdition->actions().size(); i++){ + ui->menuEdition->actions()[i]->setDisabled(false); + } }else{ ui->BackPack->setHidden(true); ui->Edition->setHidden(false); + for(int i=0; imenuEdition->actions().size(); i++){ + ui->menuEdition->actions()[i]->setDisabled(true); + } } } @@ -339,6 +373,19 @@ void MainWindow::on_actionNouvelle_fiche_triggered(){this->createNewCharacter(ne void MainWindow::on_actionSauvegarder_triggered(){this->saveJson();} void MainWindow::on_actionEnregistrer_sous_triggered(){this->saveAsJson();} void MainWindow::on_actionFermer_triggered(){QApplication::quit();} +void MainWindow::on_pushButtonNewFiche_clicked(){this->createNewCharacter(new Character());} +void MainWindow::on_pushButtonOpenFiche_clicked(){this->loadNewCharacter();} + +void MainWindow::on_actionCouleur_triggered(){TextFormatUtils::changeFontColor(this);} +void MainWindow::on_actionPolice_triggered(){TextFormatUtils::changeFont(this);} +void MainWindow::on_actionTaille_triggered(){TextFormatUtils::changeFontSize(this);} +void MainWindow::on_actionGras_triggered(){TextFormatUtils::toggleBold();} +void MainWindow::on_actionItalique_triggered(){TextFormatUtils::toggleItalic();} +void MainWindow::on_actionSouligner_triggered(){TextFormatUtils::toggleUnderline();} +void MainWindow::on_actionSurligner_triggered(){TextFormatUtils::toggleOverline();} + +void MainWindow::changer_fiche_clicked(){changeCurrentCharacter();} +void MainWindow::ajouter_fiche_clicked(){this->createNewCharacter(new Character());} void MainWindow::on_imagePushButton_clicked() { @@ -352,6 +399,19 @@ void MainWindow::on_actionCaract_ristiques_triggered(){this->toogleBackPack();} void MainWindow::addWindow(const QString& s){ int nb = ui->Fenetre->children().size(); + int widthBar = ui->Fenetre->size().width(); + + if((nb+1)*sizeButtonFiche + 35 > widthBar){ + while((nb+1)*sizeButtonFiche + 35 > widthBar){ + sizeButtonFiche--; + } + } + for(int i=0; i(ui->Fenetre->children()[i]); + widget->setGeometry(i*sizeButtonFiche, 0, sizeButtonFiche, 35); + widget->show(); + } + QPushButton* button; if(s == ""){ button = new QPushButton("Sans titre", ui->Fenetre); @@ -360,11 +420,79 @@ void MainWindow::addWindow(const QString& s){ button = new QPushButton(extractFileName(s), ui->Fenetre); button->setObjectName(s); } - button->setFixedSize(100, 35); - button->move(nb * 100, 0); + button->setGeometry(nb * sizeButtonFiche, 0, sizeButtonFiche, 35); button->setProperty("id", idFicheButtonCounter); button->show(); connect(button, &QPushButton::clicked, this, &MainWindow::changer_fiche_clicked); + + + + QPushButton* closeButton = new QPushButton("X", button); + closeButton->setFixedSize(25, 25); + closeButton->move(button->width() - 28, (button->height()-25)/2); + closeButton->setStyleSheet("QPushButton { font-size: 10px; padding: 0px; }"); + closeButton->raise(); + closeButton->show(); + connect(closeButton, &QPushButton::clicked, this, [=]() { + int id = button->property("id").toInt(); + button->deleteLater(); + QTimer::singleShot(0, this, [=]() { + int newNb = ui->Fenetre->children().size(); + for(int i=0; i(ui->Fenetre->children()[i]); + widget->setGeometry(i*sizeButtonFiche, 0, sizeButtonFiche, 35); + widget->show(); + } + int indice = 0; + bool supprCurent = false; + for(int i=0; i0){ + currentCharacter = characters[i-1]; + } + } + delete characters[i]; + characters.remove(i); + break; + } + } + if(id == indice){ + if(supprCurent){ + for(int i=0; iFenetre->children().size(); i++){ + QPushButton* bt = qobject_cast(ui->Fenetre->children()[i]); + bt->setStyleSheet("background-color: #f2f2f2;"); + } + if(indice + 1 != files.size()){ + currentFile = files[indice+1]; + setUi(currentCharacter); + notePad->setUi(currentCharacter->getTexteBlocNote()); + qobject_cast(ui->Fenetre->children()[indice])->setStyleSheet("background-color: white;"); + }else if(indice>0){ + currentFile = files[indice-1]; + setUi(currentCharacter); + notePad->setUi(currentCharacter->getTexteBlocNote()); + qobject_cast(ui->Fenetre->children()[indice-1])->setStyleSheet("background-color: white;"); + }else{ + toogleStartMenu(); + } + } + files.remove(indice); + } + + + idFicheButtonCounter = 0; + for(int i=0; iFenetre->children().size()-1; i++){ + ui->Fenetre->children()[i]->setProperty("id", idFicheButtonCounter); + idFicheButtonCounter++; + } + }); + }); + idFicheButtonCounter++; } @@ -374,12 +502,10 @@ QString MainWindow::extractFileName(QString s){ return infoFichier.fileName(); } -void MainWindow::changer_fiche_clicked(){ - changeCurrentChracter(); -} -void MainWindow::changeCurrentChracter(){ + +void MainWindow::changeCurrentCharacter(){ getUi(); notePad->getUi(); currentCharacter->setTexteBlocNote(notePad->getTexte()); @@ -403,3 +529,11 @@ void MainWindow::changeCurrentChracter(){ button->setStyleSheet("background-color: white;"); } + +void MainWindow::toogleStartMenu(){ + ui->BackPack->setHidden(true); + ui->Edition->setHidden(true); + ui->StartMenu->setHidden(false); +} + + diff --git a/mainwindow.h b/mainwindow.h index ded5cd0..484c212 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -5,6 +5,7 @@ #include "notepad.h" #include +#include QT_BEGIN_NAMESPACE namespace Ui { @@ -30,7 +31,11 @@ public: void toogleBackPack(); void addWindow(const QString& s = QString()); QString extractFileName(QString s); - void changeCurrentChracter(); + void changeCurrentCharacter(); + void changeTab(int index); + void layoutTabs(); + void removeTab(int index); + void toogleStartMenu(); private slots: void on_actionOuvrir_une_fiche_triggered(); @@ -43,6 +48,16 @@ private slots: void on_actionBloc_note_triggered(); void on_actionCaract_ristiques_triggered(); void changer_fiche_clicked(); + void ajouter_fiche_clicked(); + void on_actionCouleur_triggered(); + void on_actionPolice_triggered(); + void on_actionTaille_triggered(); + void on_actionGras_triggered(); + void on_actionItalique_triggered(); + void on_actionSouligner_triggered(); + void on_actionSurligner_triggered(); + void on_pushButtonNewFiche_clicked(); + void on_pushButtonOpenFiche_clicked(); private: Ui::MainWindow *ui; @@ -54,5 +69,6 @@ private: QList files; Character* currentCharacter; int idFicheButtonCounter = 0; + int sizeButtonFiche = 100; }; #endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui index d03e4fc..e6431fc 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -1055,9 +1055,48 @@ QFrame::Shadow::Raised - BackPack - Edition - Fenetre + + + + 0 + 35 + 800 + 590 + + + + QFrame::Shape::StyledPanel + + + QFrame::Shadow::Raised + + + + + 340 + 216 + 121 + 29 + + + + Nouvelle fiche + + + + + + 340 + 316 + 121 + 29 + + + + Ouvrir une fiche + + + @@ -1085,8 +1124,22 @@ + + + Edition + + + + + + + + + + + @@ -1144,6 +1197,65 @@ Ctrl+, + + + false + + + Couleur + + + Ctrl+J + + + + + Police + + + Ctrl+P + + + + + Taille + + + Ctrl+T + + + + + Gras + + + Ctrl+B + + + + + Italique + + + Ctrl+I + + + + + Souligner + + + Ctrl+U + + + + + Surligner + + + Ctrl+O + + diff --git a/notepad.cpp b/notepad.cpp index cfcdba3..8b2d4c7 100644 --- a/notepad.cpp +++ b/notepad.cpp @@ -1,5 +1,6 @@ #include "notepad.h" #include "ui_notepad.h" +#include "textFormatUtils.h" #include #include @@ -14,121 +15,15 @@ NotePad::NotePad(QWidget *parent) ui->setupUi(this); } -NotePad::~NotePad(){ +NotePad::~NotePad(){} -} - -void NotePad::on_actionFontSize_triggered(){ - QWidget *focused = QApplication::focusWidget(); - QPlainTextEdit* plainTextEdit = qobject_cast(focused); - - if (plainTextEdit) { - QTextCursor cursor = plainTextEdit->textCursor(); - bool ok; - int size = QInputDialog::getInt(this, "Taille de la police", "Entrez la taille de la police:", cursor.charFormat().font().pointSize(), 1, 100, 1, &ok); - - if (ok) { - QTextCharFormat format; - QFont font = cursor.charFormat().font(); - font.setPointSize(size); - format.setFont(font); - plainTextEdit->mergeCurrentCharFormat(format); - } - } -} - - -void NotePad::on_actionFontColor_triggered(){ - QWidget *focused = QApplication::focusWidget(); - QPlainTextEdit* plainTextEdit = qobject_cast(focused); - - if (plainTextEdit) { - QColor color = QColorDialog::getColor(Qt::black, this, "Choisir une couleur"); - QTextCursor cursor = plainTextEdit->textCursor(); - if (color.isValid()) { - QTextCharFormat format; - format.setForeground(color); - plainTextEdit->mergeCurrentCharFormat(format); - } - } -} - - -void NotePad::on_actionFont_triggered(){ - QWidget *focused = QApplication::focusWidget(); - QPlainTextEdit* plainTextEdit = qobject_cast(focused); - - if (plainTextEdit) { - QTextCursor cursor = plainTextEdit->textCursor(); - bool ok; - QFont font = QFontDialog::getFont(&ok, cursor.charFormat().font(), this, "Choisir une police"); - if (ok) { - QTextCharFormat format; - format.setFont(font); - plainTextEdit->mergeCurrentCharFormat(format); - } - } -} - - -void NotePad::on_actionBold_triggered(){ - QWidget *focused = QApplication::focusWidget(); - QPlainTextEdit* plainTextEdit = qobject_cast(focused); - - if (plainTextEdit) { - QTextCursor cursor = plainTextEdit->textCursor(); - QTextCharFormat format; - QFont font = cursor.charFormat().font(); - font.setBold(!font.bold()); - format.setFont(font); - plainTextEdit->mergeCurrentCharFormat(format); - } -} - - -void NotePad::on_actionItalic_triggered(){ - QWidget *focused = QApplication::focusWidget(); - QPlainTextEdit* plainTextEdit = qobject_cast(focused); - - if (plainTextEdit) { - QTextCursor cursor = plainTextEdit->textCursor(); - QTextCharFormat format; - QFont font = cursor.charFormat().font(); - font.setItalic(!font.italic()); - format.setFont(font); - plainTextEdit->mergeCurrentCharFormat(format); - } -} - - -void NotePad::on_actionOverline_triggered(){ - QWidget *focused = QApplication::focusWidget(); - QPlainTextEdit* plainTextEdit = qobject_cast(focused); - - if (plainTextEdit) { - QTextCursor cursor = plainTextEdit->textCursor(); - QTextCharFormat format; - QFont font = cursor.charFormat().font(); - font.setOverline(!font.overline()); - format.setFont(font); - plainTextEdit->mergeCurrentCharFormat(format); - } -} - - -void NotePad::on_actionUnderline_triggered(){ - QWidget *focused = QApplication::focusWidget(); - QPlainTextEdit* plainTextEdit = qobject_cast(focused); - - if (plainTextEdit) { - QTextCursor cursor = plainTextEdit->textCursor(); - QTextCharFormat format; - QFont font = cursor.charFormat().font(); - font.setUnderline(!font.underline()); - format.setFont(font); - plainTextEdit->mergeCurrentCharFormat(format); - } -} +void NotePad::on_actionFont_triggered() {TextFormatUtils::changeFont(this);} +void NotePad::on_actionFontSize_triggered() {TextFormatUtils::changeFontSize(this);} +void NotePad::on_actionFontColor_triggered() {TextFormatUtils::changeFontColor(this);} +void NotePad::on_actionBold_triggered() {TextFormatUtils::toggleBold();} +void NotePad::on_actionItalic_triggered() {TextFormatUtils::toggleItalic();} +void NotePad::on_actionOverline_triggered() {TextFormatUtils::toggleOverline();} +void NotePad::on_actionUnderline_triggered() {TextFormatUtils::toggleUnderline();} void NotePad::setTexte(QString t){ texte = t; diff --git a/textformatutils.cpp b/textformatutils.cpp new file mode 100644 index 0000000..bb4205a --- /dev/null +++ b/textformatutils.cpp @@ -0,0 +1,98 @@ +#include "TextFormatUtils.h" +#include + + +QPlainTextEdit* TextFormatUtils::getFocusedPlainTextEdit() { + QWidget* focused = QApplication::focusWidget(); + return qobject_cast(focused); +} + +void TextFormatUtils::changeFontSize(QWidget* parent) { + QPlainTextEdit* edit = getFocusedPlainTextEdit(); + if (edit) { + QTextCursor cursor = edit->textCursor(); + bool ok; + int size = QInputDialog::getInt(parent, "Taille de la police", "Entrez la taille de la police:", cursor.charFormat().font().pointSize(), 1, 100, 1, &ok); + if (ok) { + QTextCharFormat format; + QFont font = cursor.charFormat().font(); + font.setPointSize(size); + format.setFont(font); + edit->mergeCurrentCharFormat(format); + } + } +} + +void TextFormatUtils::changeFontColor(QWidget* parent) { + QPlainTextEdit* edit = getFocusedPlainTextEdit(); + if (edit) { + QColor color = QColorDialog::getColor(Qt::black, parent, "Choisir une couleur"); + if (color.isValid()) { + QTextCharFormat format; + format.setForeground(color); + edit->mergeCurrentCharFormat(format); + } + } +} + +void TextFormatUtils::changeFont(QWidget* parent) { + QPlainTextEdit* edit = getFocusedPlainTextEdit(); + if (edit) { + QTextCursor cursor = edit->textCursor(); + bool ok; + QFont font = QFontDialog::getFont(&ok, cursor.charFormat().font(), parent, "Choisir une police"); + if (ok) { + QTextCharFormat format; + format.setFont(font); + edit->mergeCurrentCharFormat(format); + } + } +} + +void TextFormatUtils::toggleBold() { + QPlainTextEdit* edit = getFocusedPlainTextEdit(); + if (edit) { + QTextCursor cursor = edit->textCursor(); + QTextCharFormat format; + QFont font = cursor.charFormat().font(); + font.setBold(!font.bold()); + format.setFont(font); + edit->mergeCurrentCharFormat(format); + } +} + +void TextFormatUtils::toggleItalic() { + QPlainTextEdit* edit = getFocusedPlainTextEdit(); + if (edit) { + QTextCursor cursor = edit->textCursor(); + QTextCharFormat format; + QFont font = cursor.charFormat().font(); + font.setItalic(!font.italic()); + format.setFont(font); + edit->mergeCurrentCharFormat(format); + } +} + +void TextFormatUtils::toggleUnderline() { + QPlainTextEdit* edit = getFocusedPlainTextEdit(); + if (edit) { + QTextCursor cursor = edit->textCursor(); + QTextCharFormat format; + QFont font = cursor.charFormat().font(); + font.setUnderline(!font.underline()); + format.setFont(font); + edit->mergeCurrentCharFormat(format); + } +} + +void TextFormatUtils::toggleOverline() { + QPlainTextEdit* edit = getFocusedPlainTextEdit(); + if (edit) { + QTextCursor cursor = edit->textCursor(); + QTextCharFormat format; + QFont font = cursor.charFormat().font(); + font.setOverline(!font.overline()); + format.setFont(font); + edit->mergeCurrentCharFormat(format); + } +} diff --git a/textformatutils.h b/textformatutils.h new file mode 100644 index 0000000..2d871db --- /dev/null +++ b/textformatutils.h @@ -0,0 +1,26 @@ +#ifndef TEXTFORMATUTILS_H +#define TEXTFORMATUTILS_H + +#include +#include +#include +#include +#include + + +class TextFormatUtils +{ +public: + static void changeFontSize(QWidget* parent); + static void changeFontColor(QWidget* parent); + static void changeFont(QWidget* parent); + static void toggleBold(); + static void toggleItalic(); + static void toggleUnderline(); + static void toggleOverline(); + +private: + static QPlainTextEdit* getFocusedPlainTextEdit(); +}; + +#endif // TEXTFORMATUTILS_H