summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2013-11-15 13:42:49 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-11-15 13:42:49 -0800
commit0c833ef03bc77d637cfb0ffb989a4462a56aa06e (patch)
tree110c2842a20a4d39602c236a2e2a5ec07a1a6d62 /qt-ui
parente5308c068f76115a28c9fe0c0e14ca87b96d4f90 (diff)
downloadsubsurface-0c833ef03bc77d637cfb0ffb989a4462a56aa06e.tar.gz
Don't close the active file or start "add dive" while editing a dive
Seems rather obvious to me - the language in the warning doesn't sound very smooth, though. Fixes #246 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-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();