diff --git a/deuchnord-hermes.pro b/deuchnord-hermes.pro
index e5d725e..df17080 100644
--- a/deuchnord-hermes.pro
+++ b/deuchnord-hermes.pro
@@ -22,7 +22,8 @@ SOURCES += main.cpp\
gestionmagasinsdialog.cpp \
aboutdialog.cpp \
scannerdialog.cpp \
- settingsdialog.cpp
+ settingsdialog.cpp \
+ manufacturersmanager.cpp
HEADERS += mainwindow.h \
produititem.h \
@@ -30,7 +31,8 @@ HEADERS += mainwindow.h \
gestionmagasinsdialog.h \
aboutdialog.h \
scannerdialog.h \
- settingsdialog.h
+ settingsdialog.h \
+ manufacturersmanager.h
FORMS += mainwindow.ui \
produititem.ui \
diff --git a/deuchnord-hermes.pro (Copie en conflit de jerome-XPS-L501X 2014-05-23).user b/deuchnord-hermes.pro (Copie en conflit de jerome-XPS-L501X 2014-05-23).user
deleted file mode 100644
index 1aeb07d..0000000
--- a/deuchnord-hermes.pro (Copie en conflit de jerome-XPS-L501X 2014-05-23).user
+++ /dev/null
@@ -1,260 +0,0 @@
-
-
-
-
-
- ProjectExplorer.Project.ActiveTarget
- 0
-
-
- ProjectExplorer.Project.EditorSettings
-
- true
- false
- true
-
- Cpp
-
- CppGlobal
-
-
-
- QmlJS
-
- QmlJSGlobal
-
-
- 2
- UTF-8
- false
- 4
- false
- true
- 1
- true
- 0
- true
- 0
- 8
- true
- 1
- true
- true
- true
- false
-
-
-
- ProjectExplorer.Project.PluginSettings
-
-
-
- ProjectExplorer.Project.Target.0
-
- Desktop
- Desktop
- {8a6bac83-397a-433b-b12b-aaf345693483}
- 1
- 0
- 0
-
- /home/jerome/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop-Debug
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- false
-
-
-
- 2
- Build
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- true
- clean
-
-
- 1
- Clean
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Debug
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 2
- true
-
-
- /home/jerome/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop-Release
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- false
-
-
-
- 2
- Build
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- true
- clean
-
-
- 1
- Clean
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Release
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 0
- true
-
- 2
-
-
- 0
- Deploy
-
- ProjectExplorer.BuildSteps.Deploy
-
- 1
- Deploy locally
-
- ProjectExplorer.DefaultDeployConfiguration
-
- 1
-
-
-
- false
- false
- false
- false
- true
- 0.01
- 10
- true
- 1
- 25
-
- 1
- true
- false
- true
- valgrind
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
-
- 2
-
- deuchnord-hermes
-
- Qt4ProjectManager.Qt4RunConfiguration:/home/jerome/Dropbox/Git/Hermes/deuchnord-hermes/deuchnord-hermes.pro
-
- deuchnord-hermes.pro
- false
- false
-
- 3768
- true
- false
- false
- false
- true
-
- 1
-
-
-
- ProjectExplorer.Project.TargetCount
- 1
-
-
- ProjectExplorer.Project.Updater.EnvironmentId
- {44abd538-5b46-4276-b819-6072e04c10d4}
-
-
- ProjectExplorer.Project.Updater.FileVersion
- 15
-
-
diff --git a/deuchnord-hermes.pro (Copie en conflit de jerome-XPS-L501X 2014-06-12).user b/deuchnord-hermes.pro (Copie en conflit de jerome-XPS-L501X 2014-06-12).user
deleted file mode 100644
index 5cfc4a0..0000000
--- a/deuchnord-hermes.pro (Copie en conflit de jerome-XPS-L501X 2014-06-12).user
+++ /dev/null
@@ -1,260 +0,0 @@
-
-
-
-
-
- ProjectExplorer.Project.ActiveTarget
- 0
-
-
- ProjectExplorer.Project.EditorSettings
-
- true
- false
- true
-
- Cpp
-
- CppGlobal
-
-
-
- QmlJS
-
- QmlJSGlobal
-
-
- 2
- UTF-8
- false
- 4
- false
- true
- 1
- true
- 0
- true
- 0
- 8
- true
- 1
- true
- true
- true
- false
-
-
-
- ProjectExplorer.Project.PluginSettings
-
-
-
- ProjectExplorer.Project.Target.0
-
- Desktop
- Desktop
- {8a6bac83-397a-433b-b12b-aaf345693483}
- 0
- 0
- 0
-
- /home/jerome/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop-Debug
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- false
-
-
-
- 2
- Build
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- true
- clean
-
-
- 1
- Clean
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Debug
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 2
- true
-
-
- /home/jerome/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop-Release
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- false
-
-
-
- 2
- Build
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- true
- clean
-
-
- 1
- Clean
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Release
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 0
- true
-
- 2
-
-
- 0
- Deploy
-
- ProjectExplorer.BuildSteps.Deploy
-
- 1
- Deploy locally
-
- ProjectExplorer.DefaultDeployConfiguration
-
- 1
-
-
-
- false
- false
- false
- false
- true
- 0.01
- 10
- true
- 1
- 25
-
- 1
- true
- false
- true
- valgrind
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
-
- 2
-
- deuchnord-hermes
-
- Qt4ProjectManager.Qt4RunConfiguration:/home/jerome/Dropbox/Git/Hermes/deuchnord-hermes/deuchnord-hermes.pro
-
- deuchnord-hermes.pro
- false
- false
-
- 3768
- true
- false
- false
- false
- true
-
- 1
-
-
-
- ProjectExplorer.Project.TargetCount
- 1
-
-
- ProjectExplorer.Project.Updater.EnvironmentId
- {44abd538-5b46-4276-b819-6072e04c10d4}
-
-
- ProjectExplorer.Project.Updater.FileVersion
- 15
-
-
diff --git a/deuchnord-hermes.pro.user b/deuchnord-hermes.pro.user
deleted file mode 100644
index d6d8eb1..0000000
--- a/deuchnord-hermes.pro.user
+++ /dev/null
@@ -1,251 +0,0 @@
-
-
-
-
-
- ProjectExplorer.Project.ActiveTarget
- 0
-
-
- ProjectExplorer.Project.EditorSettings
-
- true
- false
- true
-
- Cpp
-
- CppGlobal
-
-
-
- QmlJS
-
- QmlJSGlobal
-
-
- 2
- UTF-8
- false
- 4
- false
- 80
- true
- true
- 1
- true
- false
- 0
- true
- 0
- 8
- true
- 1
- true
- true
- true
- false
-
-
-
- ProjectExplorer.Project.PluginSettings
-
-
-
- ProjectExplorer.Project.Target.0
-
- Desktop Qt 5.2.1 MinGW 32bit
- Desktop Qt 5.2.1 MinGW 32bit
- qt.521.win32_mingw48.essentials_kit
- 1
- 0
- 0
-
- C:/Users/Jérôme/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop_Qt_5_2_1_MinGW_32bit-Debug
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- false
-
-
-
- 2
- Compiler
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- true
- clean
-
-
- 1
- Nettoyer
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Debug
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 2
- true
-
-
- C:/Users/Jérôme/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop_Qt_5_2_1_MinGW_32bit-Release
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- false
-
-
-
- 2
- Compiler
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- true
- clean
-
-
- 1
- Nettoyer
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Release
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 0
- true
-
- 2
-
-
- 0
- Déploiement
-
- ProjectExplorer.BuildSteps.Deploy
-
- 1
- Déployer localement
-
- ProjectExplorer.DefaultDeployConfiguration
-
- 1
-
-
-
- false
- false
- false
- false
- true
- 0.01
- 10
- true
- 1
- 25
-
- 1
- true
- false
- true
- valgrind
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
-
- 2
-
- deuchnord-hermes
-
- Qt4ProjectManager.Qt4RunConfiguration:C:/Users/Jérôme/Dropbox/Git/Hermes/deuchnord-hermes/deuchnord-hermes.pro
-
- deuchnord-hermes.pro
- false
- false
-
- 3768
- false
- true
- false
- false
- true
-
- 1
-
-
-
- ProjectExplorer.Project.TargetCount
- 1
-
-
- ProjectExplorer.Project.Updater.EnvironmentId
- {60f16766-9e87-40cf-8f8f-b733441f2614}
-
-
- ProjectExplorer.Project.Updater.FileVersion
- 15
-
-
diff --git a/deuchnord-hermes.pro.user.44abd53 b/deuchnord-hermes.pro.user.44abd53
deleted file mode 100644
index b69a304..0000000
--- a/deuchnord-hermes.pro.user.44abd53
+++ /dev/null
@@ -1,260 +0,0 @@
-
-
-
-
-
- ProjectExplorer.Project.ActiveTarget
- 0
-
-
- ProjectExplorer.Project.EditorSettings
-
- true
- false
- true
-
- Cpp
-
- CppGlobal
-
-
-
- QmlJS
-
- QmlJSGlobal
-
-
- 2
- UTF-8
- false
- 4
- false
- true
- 1
- true
- 0
- true
- 0
- 8
- true
- 1
- true
- true
- true
- false
-
-
-
- ProjectExplorer.Project.PluginSettings
-
-
-
- ProjectExplorer.Project.Target.0
-
- Desktop
- Desktop
- {8a6bac83-397a-433b-b12b-aaf345693483}
- 1
- 0
- 0
-
- /home/jerome/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop-Debug
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- false
-
-
-
- 2
- Build
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- true
- clean
-
-
- 1
- Clean
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Debug
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 2
- true
-
-
- /home/jerome/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop-Release
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- false
-
-
-
- 2
- Build
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- true
- clean
-
-
- 1
- Clean
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Release
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 0
- true
-
- 2
-
-
- 0
- Deploy
-
- ProjectExplorer.BuildSteps.Deploy
-
- 1
- Deploy locally
-
- ProjectExplorer.DefaultDeployConfiguration
-
- 1
-
-
-
- false
- false
- false
- false
- true
- 0.01
- 10
- true
- 1
- 25
-
- 1
- true
- false
- true
- valgrind
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
-
- 2
-
- deuchnord-hermes
-
- Qt4ProjectManager.Qt4RunConfiguration:/home/jerome/Dropbox/Git/Hermes/deuchnord-hermes/deuchnord-hermes.pro
-
- deuchnord-hermes.pro
- false
- false
-
- 3768
- true
- false
- false
- false
- true
-
- 1
-
-
-
- ProjectExplorer.Project.TargetCount
- 1
-
-
- ProjectExplorer.Project.Updater.EnvironmentId
- {44abd538-5b46-4276-b819-6072e04c10d4}
-
-
- ProjectExplorer.Project.Updater.FileVersion
- 15
-
-
diff --git a/deuchnord-hermes.pro.user.60f1676 b/deuchnord-hermes.pro.user.60f1676
deleted file mode 100644
index bc9e952..0000000
--- a/deuchnord-hermes.pro.user.60f1676
+++ /dev/null
@@ -1,251 +0,0 @@
-
-
-
-
-
- ProjectExplorer.Project.ActiveTarget
- 0
-
-
- ProjectExplorer.Project.EditorSettings
-
- true
- false
- true
-
- Cpp
-
- CppGlobal
-
-
-
- QmlJS
-
- QmlJSGlobal
-
-
- 2
- UTF-8
- false
- 4
- false
- 80
- true
- true
- 1
- true
- false
- 0
- true
- 0
- 8
- true
- 1
- true
- true
- true
- false
-
-
-
- ProjectExplorer.Project.PluginSettings
-
-
-
- ProjectExplorer.Project.Target.0
-
- Desktop Qt 5.2.1 MinGW 32bit
- Desktop Qt 5.2.1 MinGW 32bit
- qt.521.win32_mingw48.essentials_kit
- 1
- 0
- 0
-
- C:/Users/Jérôme/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop_Qt_5_2_1_MinGW_32bit-Debug
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- false
-
-
-
- 2
- Compiler
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- true
- clean
-
-
- 1
- Nettoyer
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Debug
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 2
- true
-
-
- C:/Users/Jérôme/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop_Qt_5_2_1_MinGW_32bit-Release
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- false
-
-
-
- 2
- Compiler
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- true
- clean
-
-
- 1
- Nettoyer
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Release
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 0
- true
-
- 2
-
-
- 0
- Déploiement
-
- ProjectExplorer.BuildSteps.Deploy
-
- 1
- Déployer localement
-
- ProjectExplorer.DefaultDeployConfiguration
-
- 1
-
-
-
- false
- false
- false
- false
- true
- 0.01
- 10
- true
- 1
- 25
-
- 1
- true
- false
- true
- valgrind
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
-
- 2
-
- deuchnord-hermes
-
- Qt4ProjectManager.Qt4RunConfiguration:C:/Users/Jérôme/Dropbox/Git/Hermes/deuchnord-hermes/deuchnord-hermes.pro
-
- deuchnord-hermes.pro
- false
- false
-
- 3768
- false
- true
- false
- false
- true
-
- 1
-
-
-
- ProjectExplorer.Project.TargetCount
- 1
-
-
- ProjectExplorer.Project.Updater.EnvironmentId
- {60f16766-9e87-40cf-8f8f-b733441f2614}
-
-
- ProjectExplorer.Project.Updater.FileVersion
- 15
-
-
diff --git a/deuchnord-hermes.pro.user.81ef902 b/deuchnord-hermes.pro.user.81ef902
deleted file mode 100644
index 2ae299e..0000000
--- a/deuchnord-hermes.pro.user.81ef902
+++ /dev/null
@@ -1,260 +0,0 @@
-
-
-
-
-
- ProjectExplorer.Project.ActiveTarget
- 0
-
-
- ProjectExplorer.Project.EditorSettings
-
- true
- false
- true
-
- Cpp
-
- CppGlobal
-
-
-
- QmlJS
-
- QmlJSGlobal
-
-
- 2
- UTF-8
- false
- 4
- false
- true
- 1
- true
- 0
- true
- 0
- 8
- true
- 1
- true
- true
- true
- false
-
-
-
- ProjectExplorer.Project.PluginSettings
-
-
-
- ProjectExplorer.Project.Target.0
-
- Desktop
- Desktop
- {8a6bac83-397a-433b-b12b-aaf345693483}
- 0
- 0
- 0
-
- /home/jerome/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop-Debug
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- false
-
-
-
- 2
- Build
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- true
- clean
-
-
- 1
- Clean
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Debug
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 2
- true
-
-
- /home/jerome/Dropbox/Git/Hermes/build-deuchnord-hermes-Desktop-Release
-
-
- true
- qmake
-
- QtProjectManager.QMakeBuildStep
- false
- true
-
- false
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- false
-
-
-
- 2
- Build
-
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Make
-
- Qt4ProjectManager.MakeStep
-
- -w
- -r
-
- true
- clean
-
-
- 1
- Clean
-
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- Release
-
- Qt4ProjectManager.Qt4BuildConfiguration
- 0
- true
-
- 2
-
-
- 0
- Deploy
-
- ProjectExplorer.BuildSteps.Deploy
-
- 1
- Deploy locally
-
- ProjectExplorer.DefaultDeployConfiguration
-
- 1
-
-
-
- false
- false
- false
- false
- true
- 0.01
- 10
- true
- 1
- 25
-
- 1
- true
- false
- true
- valgrind
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
-
- 2
-
- deuchnord-hermes
-
- Qt4ProjectManager.Qt4RunConfiguration:/home/jerome/Dropbox/Git/Hermes/deuchnord-hermes/deuchnord-hermes.pro
-
- deuchnord-hermes.pro
- false
- false
-
- 3768
- true
- false
- false
- false
- true
-
- 1
-
-
-
- ProjectExplorer.Project.TargetCount
- 1
-
-
- ProjectExplorer.Project.Updater.EnvironmentId
- {81ef902a-0963-4a87-b37c-5a785cdf71d5}
-
-
- ProjectExplorer.Project.Updater.FileVersion
- 15
-
-
diff --git a/infosproduitdialog.cpp b/infosproduitdialog.cpp
index 55af783..a6dbf22 100644
--- a/infosproduitdialog.cpp
+++ b/infosproduitdialog.cpp
@@ -13,6 +13,8 @@
#include
#include
+#include
+
InfosProduitDialog::InfosProduitDialog(QWidget *parent, QWidget *mainWindow, QString nomProduit, QDate dateAchat, QDate dateFinGarantie, QPixmap image, int indexMagasin, bool enSAV, QHash facturePDF, QHash garantiePDF) :
QDialog(mainWindow),
ui(new Ui::InfosProduitDialog)
@@ -20,9 +22,6 @@ InfosProduitDialog::InfosProduitDialog(QWidget *parent, QWidget *mainWindow, QSt
ui->setupUi(this);
parentWidget = parent;
- // On ajoute une ligne vide, correspondant à un magasin non renseigné. Il correspond à un indexMagasin de -1
- ui->comboMagasin->addItem("");
-
// Récupération de la liste des magasins enregistrés
QSettings *settings = new QSettings("Deuchnord", "Hermes");
QFile fichierMagasins(settings->value("placeSave").toString()+"/deuchnord-hermes/manufacturers.xml");
@@ -60,7 +59,7 @@ InfosProduitDialog::InfosProduitDialog(QWidget *parent, QWidget *mainWindow, QSt
ui->checkGarantieAVie->setChecked(true);
}
- ui->comboMagasin->setCurrentIndex(indexMagasin+1);
+ ui->comboMagasin->setCurrentIndex(indexMagasin);
ui->checkSAV->setChecked(enSAV);
ui->image->setPixmap(image);
this->image = image;
@@ -279,7 +278,72 @@ void InfosProduitDialog::on_buttonBox_accepted()
getParentItem()->setDateFinGarantie(QDate(1970, 1, 1));
getParentItem()->setImage(this->image);
- getParentItem()->setMagasin(ui->comboMagasin->currentIndex()-1);
+
+ QSettings *settings = new QSettings("Deuchnord", "Hermes");
+ QFile fichierMagasins(settings->value("placeSave").toString()+"/deuchnord-hermes/manufacturers.xml");
+ bool manufacturerAllreadyExists = false;
+ QDomDocument dom;
+ QDomElement root, manufacturer;
+ QDomNode node;
+
+ if(fichierMagasins.open(QFile::ReadOnly)) {
+
+ QString contenuFichier = fichierMagasins.readAll();
+ fichierMagasins.close();
+
+ dom.setContent(contenuFichier);
+ root = dom.firstChildElement();
+ node = root.firstChild();
+
+ while(!node.isNull())
+ {
+ manufacturer = node.toElement();
+ if(manufacturer.tagName() == "manufacturer")
+ if(ui->comboMagasin->currentText() == manufacturer.firstChild().toText().data())
+ manufacturerAllreadyExists = true;
+
+ node = node.nextSibling();
+ }
+ }
+
+ if(!manufacturerAllreadyExists) {
+
+ dom = QDomDocument("manufacturers");
+ root = dom.createElement("manufacturers");
+ dom.appendChild(root);
+
+ // Boucle d'enregistrement des éléments du combo
+ for(int i = 0; i < ui->comboMagasin->count(); i++) {
+
+ QDomElement domManufacturer = dom.createElement("manufacturer");
+ root.appendChild(domManufacturer);
+ QDomText textManufacturer = dom.createTextNode(ui->comboMagasin->itemText(i));
+ domManufacturer.appendChild(textManufacturer);
+
+ }
+
+ // Enregistrement du nouveau magasin
+ QDomElement domNewManufacturer = dom.createElement("manufacturer");
+ root.appendChild(domNewManufacturer);
+ QDomText textNewManufacturer = dom.createTextNode(ui->comboMagasin->currentText());
+ domNewManufacturer.appendChild(textNewManufacturer);
+
+ // Enregistrement du fichier XML
+ QFile fileManufacturers(settings->value("placeSave").toString()+"/deuchnord-hermes/manufacturers.xml");
+ if(fileManufacturers.open(QFile::WriteOnly)) {
+
+ fileManufacturers.write(dom.toString().toUtf8());
+ fileManufacturers.close();
+
+ }
+
+ getParentItem()->setMagasin(ui->comboMagasin->count());
+
+ }
+
+ else
+ getParentItem()->setMagasin(ui->comboMagasin->currentIndex());
+
getParentItem()->setEnSAV(ui->checkSAV->isChecked());
getParentItem()->setFactures(this->facturePDF);
getParentItem()->setGaranties(this->garantiePDF);
diff --git a/infosproduitdialog.ui b/infosproduitdialog.ui
index 4297a99..6dba480 100644
--- a/infosproduitdialog.ui
+++ b/infosproduitdialog.ui
@@ -73,7 +73,11 @@
-
-
+
+
+ true
+
+
-
diff --git a/mainwindow.cpp b/mainwindow.cpp
index a28968c..73bef6e 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -33,7 +33,7 @@ MainWindow::MainWindow(QWidget *parent) :
saveOnQuit = true;
- version = "0.5.1";
+ version = "0.6";
searchBox = new QLineEdit(this);
searchBox->addAction(QIcon(":/icons/icon-search.png"), QLineEdit::LeadingPosition);
@@ -138,45 +138,12 @@ void MainWindow::searchProduit(QString search)
void MainWindow::on_actionNouveauProduit_triggered()
{
- QFile fichierMagasins(settings->value("placeSave").toString()+"/deuchnord-hermes/manufacturers.xml");
- fichierMagasins.open(QFile::ReadOnly);
- int nbMagasins = 0;
-
- if(fichierMagasins.isOpen())
- {
- QString contenuFichier = fichierMagasins.readAll();
- fichierMagasins.close();
-
- QDomDocument dom;
- dom.setContent(contenuFichier);
- QDomElement root = dom.firstChildElement();
- QDomElement manufacturer;
- QDomNode node = root.firstChild();
-
- while(!node.isNull())
- {
- manufacturer = node.toElement();
- if(manufacturer.tagName() == "manufacturer")
- nbMagasins++;
-
- node = node.nextSibling();
- }
- }
-
- if(nbMagasins == 0)
- {
- QMessageBox::critical(this, tr("Erreur"), tr("Aucun magasin ne semble avoir été enregistré.\nVeuillez les enregistrer avant d'entrer vos produits."));
- ui->actionGererMagasins->trigger();
- }
- else
- {
- ProduitItem *prod = new ProduitItem(this, tr("Nouveau produit", "Showed in the field \"Name\" in the product information window by default."), QDate::currentDate(), QDate::currentDate().addYears(1));
- prod->openDialog(true);
- QListWidgetItem* item = ajouterProduit(prod);
- item->setSelected(true);
- connect(prod, SIGNAL(deleteAsked()), SLOT(deleteAsked()));
- ui->actionSupprimerProduit->setEnabled(true);
- }
+ ProduitItem *prod = new ProduitItem(this, tr("Nouveau produit", "Showed in the field \"Name\" in the product information window by default."), QDate::currentDate(), QDate::currentDate().addYears(1));
+ prod->openDialog(true);
+ QListWidgetItem* item = ajouterProduit(prod);
+ item->setSelected(true);
+ connect(prod, SIGNAL(deleteAsked()), SLOT(deleteAsked()));
+ ui->actionSupprimerProduit->setEnabled(true);
}
void MainWindow::deleteAsked()
@@ -199,6 +166,28 @@ void MainWindow::on_actionSupprimerProduit_triggered(bool dontAskConfirm)
if(answer == QMessageBox::Yes)
{
ui->listeProduits->setCurrentRow(ui->listeProduits->row(item));
+
+ // Étape 1 : on vérifie si le magasin du produit est encore utilisé par d'autres produits
+ ProduitItem prodToRemove = ((ProduitItem) ui->listeProduits->itemWidget(item));
+ int manufacturer = prodToRemove.getMagasin();
+ bool manufacturerIsUsedByAnotherProduct = false;
+ for(int i = 0; i < ui->listeProduits->count(); i++) {
+
+ if(i != ui->listeProduits->currentRow()) {
+
+ QListWidgetItem *itemProd = ui->listeProduits->item(i);
+ ProduitItem prod = (ProduitItem) ui->listeProduits->itemWidget(itemProd);
+ if(prod.getMagasin() == manufacturer)
+ manufacturerIsUsedByAnotherProduct = true;
+
+ }
+
+ }
+
+ // Si le magasin n'est plus utilisé, on le supprime
+ // TODO écrire le code correspondant
+
+ // Étae 2 : on suppprime le produit
ui->listeProduits->removeItemWidget(item);
delete item;
diff --git a/manufacturersmanager.cpp b/manufacturersmanager.cpp
new file mode 100644
index 0000000..705e2cd
--- /dev/null
+++ b/manufacturersmanager.cpp
@@ -0,0 +1,79 @@
+#include "manufacturersmanager.h"
+
+#include
+#include
+#include
+#include
+#include
+
+ManufacturersManager::ManufacturersManager()
+{
+ QSettings *settings = new QSettings("Deuchnord", "Hermes");
+ QFile fichierMagasins(settings->value("placeSave").toString()+"/deuchnord-hermes/manufacturers.xml");
+ fichierMagasins.open(QFile::ReadOnly);
+ if(fichierMagasins.isOpen())
+ {
+ QString contenuFichier = fichierMagasins.readAll();
+ fichierMagasins.close();
+
+ QDomDocument dom;
+ dom.setContent(contenuFichier);
+ QDomElement root = dom.firstChildElement();
+ QDomElement manufacturer;
+ QDomNode node = root.firstChild();
+
+ while(!node.isNull())
+ {
+ manufacturer = node.toElement();
+ if(manufacturer.tagName() == "manufacturer")
+ manufacturers.append(manufacturer.firstChild().toText().data());
+
+ node = node.nextSibling();
+ }
+ }
+}
+
+void ManufacturersManager::addManufacturer(QString manufacturer) {
+
+ manufacturers.append(manufacturer);
+
+}
+
+QList ManufacturersManager::getManufacturers() {
+
+ return manufacturers;
+
+}
+
+void ManufacturersManager::deleteManufacturer(int manufacturerToDelete) {
+
+ manufacturers.removeAt(manufacturerToDelete);
+
+}
+
+ManufacturersManager::save() {
+
+ QDomDocument dom("manufacturers");
+ QDomElement rootElement = dom.createElement("manufacturers");
+ dom.appendChild(rootElement);
+
+ for(QString manufacturer : manufacturers) {
+
+ QDomElement domManufacturer = dom.createElement("manufacturer");
+ root.appendChild(domManufacturer);
+ QDomText textManufacturer = dom.createTextNode(manufacturer);
+ domManufacturer.appendChild(textManufacturer);
+
+ }
+
+ QSettings *settings = new QSettings("Deuchnord", "Hermes");
+ QFile fichierMagasins(settings->value("placeSave").toString()+"/deuchnord-hermes/manufacturers.xml");
+
+ if(fichierMagasins.open(QFile::WriteOnly)) {
+
+ fichierMagasins.write(dom.toString().toUtf8());
+ fichierMagasins.close();
+
+ }
+
+}
diff --git a/manufacturersmanager.h b/manufacturersmanager.h
new file mode 100644
index 0000000..74566bd
--- /dev/null
+++ b/manufacturersmanager.h
@@ -0,0 +1,21 @@
+#ifndef MANUFACTURERSMANAGER_H
+#define MANUFACTURERSMANAGER_H
+
+#include
+
+class ManufacturersManager
+{
+
+public:
+ explicit ManufacturersManager();
+ void addManufacturer(QString manufacturer);
+ QList getManufacturers();
+ void deleteManufacturer(int manufacturerToDelete);
+ void save();
+
+private:
+ QList manufacturers;
+
+};
+
+#endif // MANUFACTURERSMANAGER_H