Enable editing a dive that was manually entered.

This patch enables editing a dive that was manually entered,
it doesn't cover dive plans yet because on the plan I need to
figure out what are the 'user-entered' points, and what are
the algorithm point. and I feel lazy. =p

One last thing that's missing is to revert the dive to the
previous condition if the user cancels the edition, currently
canceling and applying ok is the same thing.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
This commit is contained in:
Tomaz Canabrava 2013-11-01 11:48:34 -04:00
parent d9afcdc8cb
commit f7cd3e780c
6 changed files with 51 additions and 6 deletions

View file

@ -113,7 +113,7 @@ void MainTab::addDiveStarted()
editMode = ADD;
}
void MainTab::enableEdition()
void MainTab::enableEdition(EditMode newEditMode)
{
if (selected_dive < 0 || editMode != NONE)
return;
@ -170,7 +170,8 @@ void MainTab::enableEdition()
notesBackup[mydive].weightsystem[i] = mydive->weightsystem[i];
}
}
editMode = DIVE;
editMode = newEditMode != NONE ? newEditMode : DIVE;
}
}
@ -449,7 +450,7 @@ void MainTab::acceptChanges()
}
}
if (editMode == ADD) {
if (editMode == ADD || editMode == MANUALLY_ADDED_DIVE) {
// clean up the dive data (get duration, depth information from samples)
fixup_dive(current_dive);
if (dive_table.nr == 1)
@ -563,7 +564,7 @@ void MainTab::rejectChanges()
ui.equipmentButtonBox->hide();
notesBackup.clear();
resetPallete();
if (editMode == ADD) {
if (editMode == ADD || editMode == MANUALLY_ADDED_DIVE) {
// more clean up
updateDiveInfo(selected_dive);
mainWindow()->showProfile();