Desktop: disable UI elements that make no sense during editing

As described in the referenced issue, we where able to navigate to
nonlogical static pages (like information, statistics. extra data) when
adding a dive. These are output style pages that make no sense on
edit or add. Further, disable access to some pages when entering edit mode.

Notice that the small change in file mainwindow.cpp is simply
because this this not work at all, and became superfluous any
way.

Fixes: #1445

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
This commit is contained in:
Jan Mulder 2018-09-13 17:33:07 +02:00 committed by bstoeger
parent d94f813623
commit 5133a38d25
2 changed files with 10 additions and 3 deletions

View file

@ -1054,9 +1054,6 @@ void MainWindow::on_actionAddDive_triggered()
// now show the mostly empty main tab
information()->updateDiveInfo();
// show main tab
information()->setCurrentIndex(0);
information()->addDiveStarted();
graphics()->setAddState();

View file

@ -270,6 +270,11 @@ void MainTab::toggleTriggeredColumn()
void MainTab::addDiveStarted()
{
ui.tabWidget->setCurrentIndex(0);
ui.tabWidget->setTabEnabled(2, false);
ui.tabWidget->setTabEnabled(3, false);
ui.tabWidget->setTabEnabled(4, false);
ui.tabWidget->setTabEnabled(5, false);
enableEdition(ADD);
}
@ -339,6 +344,9 @@ void MainTab::enableEdition(EditMode newEditMode)
MainWindow::instance()->dive_list()->setEnabled(false);
MainWindow::instance()->setEnabledToolbar(false);
MainWindow::instance()->enterEditState();
ui.tabWidget->setTabEnabled(2, false);
ui.tabWidget->setTabEnabled(3, false);
ui.tabWidget->setTabEnabled(5, false);
if (isTripEdit) {
// we are editing trip location and notes
@ -534,6 +542,8 @@ void MainTab::updateDiveInfo(bool clear)
ui.tabWidget->setTabText(0, tr("Notes"));
ui.tabWidget->setTabEnabled(1, true);
ui.tabWidget->setTabEnabled(2, true);
ui.tabWidget->setTabEnabled(3, true);
ui.tabWidget->setTabEnabled(4, true);
ui.tabWidget->setTabEnabled(5, true);
// Recover the tab selected for last dive
if (!lastSelectedDive)