diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2013-09-22 22:24:28 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-09-22 22:24:28 -0700 |
commit | dba16202c498d4432bc20181b0084f54b7abdba1 (patch) | |
tree | 1d7153e619313453e7f57142620ad3f1fa454284 /qt-ui/mainwindow.cpp | |
parent | 6ce5704435a761aeb7a8b7cb7bc9049ed3ee4ac9 (diff) | |
download | subsurface-dba16202c498d4432bc20181b0084f54b7abdba1.tar.gz |
Correctly handle empty dive list after delete
Things need to be cleared out and disabled. But fixing this bug leaves
another issue - while the newly selected dive after a delete acts as if it
was selected, it doesn't show up as selected in the dive list.
Reported-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/mainwindow.cpp')
-rw-r--r-- | qt-ui/mainwindow.cpp | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 9fa4a35dc..cb65b3dd2 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -134,6 +134,19 @@ void MainWindow::on_actionSaveAs_triggered() { file_save_as(); } + +void MainWindow::cleanUpEmpty() +{ + ui->InfoWidget->clearStats(); + ui->InfoWidget->clearInfo(); + ui->InfoWidget->clearEquipment(); + ui->InfoWidget->updateDiveInfo(-1); + ui->ProfileWidget->clear(); + ui->ListWidget->reload(DiveTripModel::TREE); + ui->globe->reload(); + setTitle(MWTF_DEFAULT); +} + void MainWindow::on_actionClose_triggered() { if (unsaved_changes() && (askSaveChanges() == FALSE)) @@ -146,17 +159,7 @@ void MainWindow::on_actionClose_triggered() /* clear the selection and the statistics */ selected_dive = -1; - //WARNING: Port this to Qt. - //process_selected_dives(); - - ui->InfoWidget->clearStats(); - ui->InfoWidget->clearInfo(); - ui->InfoWidget->clearEquipment(); - ui->InfoWidget->updateDiveInfo(-1); - ui->ProfileWidget->clear(); - ui->ListWidget->reload(DiveTripModel::TREE); - ui->globe->reload(); - setTitle(MWTF_DEFAULT); + cleanUpEmpty(); mark_divelist_changed(FALSE); clear_events(); |