From 26cec576ee7f8a4833c9727bff95178acb6f883c Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Wed, 25 Sep 2013 14:10:15 -0300 Subject: Revert to the old values of Cylinders and Weigthsystems on cancel This patch enables canceling the edition of cylinders and weigth systems, as soon as the user press cancel, the old values are re-populated on all selected entries. Signed-off-by: Tomaz Canabrava --- qt-ui/maintab.cpp | 19 +++++++++++++++++++ qt-ui/maintab.h | 2 ++ 2 files changed, 21 insertions(+) (limited to 'qt-ui') diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index a52409c87..6688977be 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -148,6 +148,14 @@ void MainTab::enableEdition() notesBackup[mydive].airtemp = get_temperature_string(mydive->airtemp, true); notesBackup[mydive].watertemp = get_temperature_string(mydive->watertemp, true); notesBackup[mydive].datetime = QDateTime::fromTime_t(mydive->when - gettimezoneoffset()).toString(QString("M/d/yy h:mm")); + + // maybe this is a place for memset? + for (int i = 0; i < MAX_CYLINDERS; i++) { + notesBackup[mydive].cylinders[i] = mydive->cylinder[i]; + } + for (int i = 0; i < MAX_WEIGHTSYSTEMS; i++) { + notesBackup[mydive].weigthsystem[i] = mydive->weightsystem[i]; + } } editMode = DIVE; } @@ -507,7 +515,18 @@ void MainTab::rejectChanges() mydive->longitude = notesBackup[mydive].longitude; mydive->rating = notesBackup[mydive].rating; mydive->visibility = notesBackup[mydive].visibility; + + // maybe this is a place for memset? + for (int i = 0; i < MAX_CYLINDERS; i++) { + mydive->cylinder[i] = notesBackup[mydive].cylinders[i]; + } + for (int i = 0; i < MAX_WEIGHTSYSTEMS; i++) { + mydive->weightsystem[i] = notesBackup[mydive].weigthsystem[i]; + } } + multiEditEquipmentPlaceholder = *get_dive(selected_dive); + cylindersModel->setDive(&multiEditEquipmentPlaceholder); + weightModel->setDive(&multiEditEquipmentPlaceholder); } ui->diveNotesMessage->animatedHide(); diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h index 023a4de0c..af2ecc07c 100644 --- a/qt-ui/maintab.h +++ b/qt-ui/maintab.h @@ -34,6 +34,8 @@ struct NotesBackup{ int rating; int visibility; QString divemaster; + cylinder_t cylinders[MAX_CYLINDERS]; + weightsystem_t weigthsystem[MAX_WEIGHTSYSTEMS ]; }; struct Completers{ -- cgit v1.2.3-70-g09d2