mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 14:25:27 +00:00
Handle add dive cancel correctly
This should leave the program in a consistent state after add dive was cancelled (and do the right thing in case the dive list was empty). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
a683a217b9
commit
662b1061f0
2 changed files with 5 additions and 3 deletions
|
@ -544,6 +544,7 @@ void MainTab::resetPallete()
|
|||
|
||||
void MainTab::rejectChanges()
|
||||
{
|
||||
EditMode lastMode = editMode;
|
||||
tabBar()->setTabIcon(0, QIcon()); // Notes
|
||||
tabBar()->setTabIcon(1, QIcon()); // Equipment
|
||||
|
||||
|
@ -552,11 +553,11 @@ void MainTab::rejectChanges()
|
|||
ui.notes->setText(notesBackup[NULL].notes );
|
||||
ui.location->setText(notesBackup[NULL].location);
|
||||
} else {
|
||||
if (editMode == ADD) {
|
||||
if (lastMode == ADD) {
|
||||
// clean up
|
||||
DivePlannerPointsModel::instance()->cancelPlan();
|
||||
delete_single_dive(selected_dive);
|
||||
} else if (editMode == MANUALLY_ADDED_DIVE ) {
|
||||
} else if (lastMode == MANUALLY_ADDED_DIVE ) {
|
||||
DivePlannerPointsModel::instance()->undoEdition(); // that's BOGUS... just copy the original dive back and be done with it...
|
||||
}
|
||||
struct dive *curr = current_dive;
|
||||
|
@ -617,7 +618,7 @@ void MainTab::rejectChanges()
|
|||
ui.equipmentButtonBox->hide();
|
||||
notesBackup.clear();
|
||||
resetPallete();
|
||||
if (editMode == ADD || editMode == MANUALLY_ADDED_DIVE) {
|
||||
if (lastMode == ADD || lastMode == MANUALLY_ADDED_DIVE) {
|
||||
// more clean up
|
||||
updateDiveInfo(selected_dive);
|
||||
mainWindow()->showProfile();
|
||||
|
|
|
@ -68,6 +68,7 @@ MainWindow::MainWindow() : helpView(0)
|
|||
void MainWindow::refreshDisplay()
|
||||
{
|
||||
ui.InfoWidget->reload();
|
||||
ui.ProfileWidget->refresh();
|
||||
ui.globe->reload();
|
||||
ui.ListWidget->reload(DiveTripModel::CURRENT);
|
||||
ui.ListWidget->setFocus();
|
||||
|
|
Loading…
Add table
Reference in a new issue