summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-ui/mainwindow.cpp18
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();