diff options
-rw-r--r-- | qt-ui/mainwindow.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 06b0be08d..31e1d64f0 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -99,6 +99,10 @@ void MainWindow::on_actionNew_triggered() void MainWindow::on_actionOpen_triggered() { + if (ui.InfoWidget->isEditing()) { + QMessageBox::warning(this, tr("Warning"), "Please save or undo the current dive edit before opening a new file." ); + return; + } QString filename = QFileDialog::getOpenFileName(this, tr("Open File"), lastUsedDir(), filter()); if (filename.isEmpty()) return; @@ -131,6 +135,10 @@ void MainWindow::cleanUpEmpty() void MainWindow::on_actionClose_triggered() { + if (ui.InfoWidget->isEditing()) { + QMessageBox::warning(this, tr("Warning"), "Please save or undo the current dive edit before closing the file." ); + return; + } if (unsaved_changes() && (askSaveChanges() == FALSE)) return; @@ -204,8 +212,9 @@ void MainWindow::enableDcShortcuts() void MainWindow::on_actionDivePlanner_triggered() { - if(DivePlannerPointsModel::instance()->currentMode() != DivePlannerPointsModel::NOTHING){ - QMessageBox::warning(this, tr("Warning"), "First finish the current edition before trying to do another." ); + if(DivePlannerPointsModel::instance()->currentMode() != DivePlannerPointsModel::NOTHING || + ui.InfoWidget->isEditing()) { + QMessageBox::warning(this, tr("Warning"), "Please save or undo the current dive edit before trying to plan a dive." ); return; } disableDcShortcuts(); @@ -261,8 +270,9 @@ void MainWindow::on_actionEditDeviceNames_triggered() void MainWindow::on_actionAddDive_triggered() { - if(DivePlannerPointsModel::instance()->currentMode() != DivePlannerPointsModel::NOTHING){ - QMessageBox::warning(this, tr("Warning"), "First finish the current edition before trying to do another." ); + if(DivePlannerPointsModel::instance()->currentMode() != DivePlannerPointsModel::NOTHING || + ui.InfoWidget->isEditing()) { + QMessageBox::warning(this, tr("Warning"), "Please save or undo the current dive edit before trying to add a dive." ); return; } dive_list()->rememberSelection(); |