|
@@ -44,17 +44,17 @@ MaFenetre::MaFenetre(Options* mesOptions) :
|
|
|
{
|
|
|
QWidget *centralWidget = new QWidget;
|
|
|
|
|
|
- chrono1 = new Chronometre(option->nomJoueur1() , option->tempsDepart(), this);
|
|
|
- chrono2 = new Chronometre(option->nomJoueur2() , option->tempsDepart(), this);
|
|
|
+ chronoBlanc = new Chronometre(option->nomJoueur1() , option->tempsDepart(), this);
|
|
|
+ chronoNoir = new Chronometre(option->nomJoueur2() , option->tempsDepart(), this);
|
|
|
boutonInverser = new QPushButton ("<->");
|
|
|
boutonInverser->setMinimumWidth(50);
|
|
|
boutonInverser->setMaximumWidth(50);
|
|
|
|
|
|
|
|
|
layoutChrono = new QHBoxLayout;
|
|
|
- layoutChrono->addWidget(chrono1);
|
|
|
+ layoutChrono->addWidget(chronoBlanc);
|
|
|
layoutChrono->addWidget(boutonInverser, Qt::AlignVCenter);
|
|
|
- layoutChrono->addWidget(chrono2);
|
|
|
+ layoutChrono->addWidget(chronoNoir);
|
|
|
|
|
|
|
|
|
QMenu *menuFichier = menuBar()->addMenu("&Fichier");
|
|
@@ -72,8 +72,6 @@ MaFenetre::MaFenetre(Options* mesOptions) :
|
|
|
|
|
|
boutonArreter->setFocusPolicy (Qt::NoFocus);
|
|
|
boutonInverser->setFocusPolicy(Qt::NoFocus);
|
|
|
-
|
|
|
- etatBoutons (true , false);
|
|
|
|
|
|
layoutBoutonSwitch = new QHBoxLayout;
|
|
|
layoutBoutonSwitch->addWidget (boutonDemarrer);
|
|
@@ -91,8 +89,9 @@ MaFenetre::MaFenetre(Options* mesOptions) :
|
|
|
setCentralWidget(centralWidget);
|
|
|
setWindowTitle ("ChronoCheckMate");
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
+ init();
|
|
|
|
|
|
|
|
|
QObject::connect (boutonDemarrer , SIGNAL(clicked () ) , this , SLOT(demarrer () ));
|
|
@@ -101,50 +100,52 @@ MaFenetre::MaFenetre(Options* mesOptions) :
|
|
|
QObject::connect (actionNouveau, SIGNAL(triggered()) , this , SLOT(init()));
|
|
|
QObject::connect (actionOptions , SIGNAL(triggered()), this, SLOT(lancerDialogueOptions()));
|
|
|
QObject::connect (actionQuitter , SIGNAL(triggered()) , qApp , SLOT(quit()));
|
|
|
- QObject::connect (chrono1, SIGNAL(fin()), this, SLOT(afficheGagnant()));
|
|
|
- QObject::connect (chrono2, SIGNAL(fin()), this, SLOT(afficheGagnant()));
|
|
|
+ QObject::connect (chronoBlanc, SIGNAL(fin()), this, SLOT(afficheGagnant()));
|
|
|
+ QObject::connect (chronoNoir, SIGNAL(fin()), this, SLOT(afficheGagnant()));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
-void MaFenetre::etatBoutons (bool etatBoutonStart, bool etatBoutonStop) {
|
|
|
+void MaFenetre::etatBoutons (bool etatBoutonStart, bool etatBoutonStop, bool etatBoutonInverser) {
|
|
|
boutonDemarrer->setEnabled (etatBoutonStart);
|
|
|
boutonArreter->setEnabled (etatBoutonStop);
|
|
|
+ boutonInverser->setEnabled(etatBoutonInverser);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
void MaFenetre::inverser() {
|
|
|
- layoutChrono->removeWidget(chrono1);
|
|
|
- layoutChrono->removeWidget(chrono2);
|
|
|
- Chronometre *chronoTemp = chrono1;
|
|
|
- chrono1 = chrono2;
|
|
|
- chrono2 = chronoTemp;
|
|
|
- layoutChrono->insertWidget(0 , chrono1);
|
|
|
- layoutChrono->addWidget(chrono2);
|
|
|
+ layoutChrono->removeWidget(chronoBlanc);
|
|
|
+ layoutChrono->removeWidget(chronoNoir);
|
|
|
+ Chronometre *chronoTemp = chronoBlanc;
|
|
|
+ chronoBlanc = chronoNoir;
|
|
|
+ chronoNoir = chronoTemp;
|
|
|
+ layoutChrono->insertWidget(0 , chronoBlanc);
|
|
|
+ layoutChrono->addWidget(chronoNoir);
|
|
|
}
|
|
|
|
|
|
void MaFenetre::demarrer () {
|
|
|
if (marche == false ) {
|
|
|
- chrono1->reinit ();
|
|
|
- chrono2->reinit ();
|
|
|
- chrono1->start ();
|
|
|
+ chronoBlanc->reinit ();
|
|
|
+ chronoNoir->reinit ();
|
|
|
+ chronoBlanc->start ();
|
|
|
marche = true;
|
|
|
- etatBoutons (false , true);
|
|
|
+ etatBoutons (false , true, false);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void MaFenetre::switcher () {
|
|
|
if (marche == true) {
|
|
|
- chrono1->basculer ();
|
|
|
- chrono2->basculer ();
|
|
|
+ chronoBlanc->basculer ();
|
|
|
+ chronoNoir->basculer ();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void MaFenetre::arreter () {
|
|
|
- chrono1->stop();
|
|
|
- chrono2->stop();
|
|
|
+ chronoBlanc->stop();
|
|
|
+ chronoNoir->stop();
|
|
|
marche = false;
|
|
|
- etatBoutons (true , false);
|
|
|
+ etatBoutons (false , false, true);
|
|
|
}
|
|
|
|
|
|
void MaFenetre::afficheGagnant() {
|
|
@@ -153,27 +154,27 @@ void MaFenetre::afficheGagnant() {
|
|
|
QSound::play(":/ressources/sonnette.wav");
|
|
|
QMessageBox message;
|
|
|
QString texte;
|
|
|
- texte = "Le joueur " + (*chrono1+=*chrono2) + " a gagné au temps.";
|
|
|
+ texte = "Le joueur " + (*chronoBlanc+=*chronoNoir) + " a gagné au temps.";
|
|
|
message.setText(texte);
|
|
|
message.setStandardButtons(QMessageBox::Ok);
|
|
|
message.exec();
|
|
|
}
|
|
|
|
|
|
void MaFenetre::init () {
|
|
|
- chrono1->reinit();
|
|
|
- chrono2->reinit();
|
|
|
+ chronoBlanc->reinit();
|
|
|
+ chronoNoir->reinit();
|
|
|
marche = false;
|
|
|
- etatBoutons (true , false);
|
|
|
+ etatBoutons (true , false, true);
|
|
|
}
|
|
|
|
|
|
void MaFenetre::lancerDialogueOptions() {
|
|
|
Dialog dialog (option);
|
|
|
if (dialog.exec()) {
|
|
|
- chrono1->modifierNomJoueur(option->nomJoueur1());
|
|
|
- chrono1->definirTemps(option->tempsDepart());
|
|
|
+ chronoBlanc->modifierNomJoueur(option->nomJoueur1());
|
|
|
+ chronoBlanc->definirTemps(option->tempsDepart());
|
|
|
|
|
|
- chrono2->modifierNomJoueur(option->nomJoueur2());
|
|
|
- chrono2->definirTemps(option->tempsDepart());
|
|
|
+ chronoNoir->modifierNomJoueur(option->nomJoueur2());
|
|
|
+ chronoNoir->definirTemps(option->tempsDepart());
|
|
|
|
|
|
if (marche==false) {
|
|
|
init();
|