| 
					
				 | 
			
			
				@@ -22,6 +22,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "MaFenetre.h"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "Chronometre.h"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "Dialog.h"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <QMenuBar>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <QHBoxLayout>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <QVBoxLayout>
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -32,17 +33,19 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <QDialog>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <QLineEdit>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <QDialogButtonBox>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <QMessageBox>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 MaFenetre::MaFenetre() :
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     QMainWindow (),
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     marche(false),
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     nomJoueur1 ("Joueur 1"),
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    nomJoueur2 ("Joueur 2")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    nomJoueur2 ("Joueur 2"),
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tempsDepart(5)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     QWidget *centralWidget = new QWidget;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    chrono1 = new Chronometre(nomJoueur1 , this);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    chrono2 = new Chronometre(nomJoueur2 , this);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chrono1 = new Chronometre(nomJoueur1 , tempsDepart, this);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chrono2 = new Chronometre(nomJoueur2 , tempsDepart, this);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     boutonInverser = new QPushButton ("<->");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     boutonInverser->setMinimumWidth(50);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     boutonInverser->setMaximumWidth(50);
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -98,6 +101,9 @@ MaFenetre::MaFenetre() : 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     QObject::connect (actionNouveau, SIGNAL(triggered()) , this , SLOT(init()));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     QObject::connect (actionChangerNom , SIGNAL(triggered()), this, SLOT(definirNomJoueurs()));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     QObject::connect (actionQuitter , SIGNAL(triggered()) , qApp , SLOT(quit()));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    QObject::connect (chrono1, SIGNAL(fin()), this, SLOT(arreter()));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    QObject::connect (chrono2, SIGNAL(fin()), this, SLOT(arreter()));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ///////////////// Méthodes ////////////////////
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -130,7 +136,11 @@ void MaFenetre::demarrer () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void MaFenetre::modifierNomJoueurs() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     chrono1->modifierNomJoueur(nomJoueur1);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     chrono2->modifierNomJoueur(nomJoueur2);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+void MaFenetre::modifierTemps() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chrono1->definirTemps(tempsDepart);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chrono2->definirTemps(tempsDepart);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void MaFenetre::switcher () {
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -155,26 +165,12 @@ void MaFenetre::init () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void MaFenetre::definirNomJoueurs() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    QDialog *dialog = new QDialog (this);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    QHBoxLayout *layoutLineEdit = new QHBoxLayout;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    QVBoxLayout *layoutDialog = new QVBoxLayout;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    QDialogButtonBox *boutonJouer = new QDialogButtonBox (QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    QLineEdit *joueur1LineEdit = new QLineEdit(nomJoueur1 , this);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    QLineEdit *joueur2LineEdit = new QLineEdit(nomJoueur2 , this);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    joueur1LineEdit->selectAll();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    layoutLineEdit->addWidget(joueur1LineEdit);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    layoutLineEdit->addWidget(joueur2LineEdit);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    layoutDialog->addLayout(layoutLineEdit);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    layoutDialog->addWidget(boutonJouer);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    dialog->setLayout(layoutDialog);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    QObject::connect(boutonJouer , SIGNAL(accepted()) , dialog, SLOT(accept()));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    QObject::connect(boutonJouer , SIGNAL(rejected()) , dialog, SLOT(close()));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (dialog->exec()) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        nomJoueur1 = joueur1LineEdit->text();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        nomJoueur2 = joueur2LineEdit->text();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Dialog dialog(nomJoueur1, nomJoueur2, tempsDepart, this);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (dialog.exec()) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        nomJoueur1 = dialog.joueur1();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        nomJoueur2 = dialog.joueur2();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tempsDepart = dialog.tempsDepart();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        modifierTemps();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         modifierNomJoueurs();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }
 
			 |