save game query on exit if game is incomplete
[impuzzle] / src / mainwindow.cpp
index e2b2b19..bb6ac1b 100644 (file)
@@ -26,6 +26,8 @@
 #include <QAction>
 #include <QMenu>
 #include <QMenuBar>
+#include <QMessageBox>
+#include <QCloseEvent>
 
 #include <QDebug>
 
@@ -122,3 +124,18 @@ void MainWindow::enableSaving()
         saveAction_->setEnabled(true);
     }
 }
+
+void MainWindow::closeEvent(QCloseEvent *event)
+{
+    if(saveAction_->isEnabled()) {
+        int answer = QMessageBox::question(this, tr("Save game status?"),
+                                           tr("Saved status will be automatically loaded when you start the application next time"),
+                                           QMessageBox::Yes, QMessageBox::No);
+
+        if(answer == QMessageBox::Yes) {
+            GameView::instance()->saveGame();
+        }
+    }
+
+    event->accept();
+}