diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -230,6 +231,24 @@ MainWindow::~MainWindow() ui = NULL; // we check if ui is deleted in messageHandler } +void MainWindow::closeEvent(QCloseEvent * event) +{ + if (!snapshotMan.isAllSaved()) + { + auto clickedButton = QMessageBox::warning( + this, "Closing SerialPlot", + "There are un-saved snapshots. If you close you will loose the data.", + QMessageBox::Discard | QMessageBox::Discard, + QMessageBox::Cancel); + if (clickedButton == QMessageBox::Cancel) + { + event->ignore(); + return; + } + } + QMainWindow::closeEvent(event); +} + void MainWindow::setupAboutDialog() { Ui_AboutDialog uiAboutDialog;