Added "Show Solution"
[vexed] / mainwindow.cpp
index f90ed54..b78f9f8 100644 (file)
@@ -54,12 +54,15 @@ void MainWindow::reorient()
     ui->buttonsPortrait->removeWidget(ui->nextLevel);
     ui->buttonsPortrait->removeWidget(ui->reload);
     ui->buttonsPortrait->removeWidget(ui->undo);
+    ui->buttonsPortrait->removeWidget(ui->solve);
 
     ui->undoLandscape->removeWidget(ui->undo);
+    ui->solveLandscape->removeWidget(ui->solve);
     ui->buttonsLandscape->removeWidget(ui->prevLevel);
     ui->buttonsLandscape->removeWidget(ui->nextLevel);
     ui->buttonsLandscape->removeWidget(ui->reload);
 
+
     QDesktopWidget* q=QApplication::desktop();
     if(q->height()>q->width())
     {
@@ -69,6 +72,7 @@ void MainWindow::reorient()
         ui->buttonsPortrait->addWidget(ui->reload);
         ui->buttonsPortrait->addWidget(ui->nextLevel);
         ui->buttonsPortrait->addWidget(ui->undo);
+        ui->buttonsPortrait->addWidget(ui->solve);
         //ui->buttonsPortrait->layout();
     } else
     {
@@ -76,6 +80,7 @@ void MainWindow::reorient()
         ui->buttonsLandscape->insertWidget(0,ui->reload,1,Qt::AlignLeft);
         ui->buttonsLandscape->insertWidget(0,ui->prevLevel,1,Qt::AlignLeft);
         ui->undoLandscape->addWidget(ui->undo);
+        ui->solveLandscape->addWidget(ui->solve);
         //ui->buttonsLandscape->layout();
     }
 }
@@ -158,3 +163,17 @@ void MainWindow::loadNextLevel()
         loadLevel();
     }
 }
+
+void MainWindow::solve()
+{
+    // reset current level
+    loadLevel();
+    // and show solution
+    QMessageBox confirm;
+    confirm.setText(tr("Reset the level and show the solution?"));
+    confirm.setInformativeText(tr("If you agree current level will be reloaded and solution will be shown"));
+    confirm.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
+    int confirmation=confirm.exec();
+    if(confirmation==QMessageBox::Yes)
+        ui->playwidget->showSolution();
+}