diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2013-09-25 14:10:15 -0300 |
---|---|---|
committer | Tomaz Canabrava <tcanabrava@kde.org> | 2013-09-25 14:10:15 -0300 |
commit | 26cec576ee7f8a4833c9727bff95178acb6f883c (patch) | |
tree | 65c4f86928a9db59e52b12f7ed3401973adbc891 /qt-ui | |
parent | 4f0112c4206d98c4810715d8bbee5589cdb4940f (diff) | |
download | subsurface-26cec576ee7f8a4833c9727bff95178acb6f883c.tar.gz |
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 <tcanabrava@kde.org>
Diffstat (limited to 'qt-ui')
-rw-r--r-- | qt-ui/maintab.cpp | 19 | ||||
-rw-r--r-- | qt-ui/maintab.h | 2 |
2 files changed, 21 insertions, 0 deletions
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{ |