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>
This commit is contained in:
Dirk Hohndel 2013-11-15 13:42:49 -08:00
parent e5308c068f
commit 0c833ef03b

View file

@ -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();