summaryrefslogtreecommitdiffstats
path: root/qt-ui/maintab.cpp
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-09-25 14:10:15 -0300
committerGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-09-25 14:10:15 -0300
commit26cec576ee7f8a4833c9727bff95178acb6f883c (patch)
tree65c4f86928a9db59e52b12f7ed3401973adbc891 /qt-ui/maintab.cpp
parent4f0112c4206d98c4810715d8bbee5589cdb4940f (diff)
downloadsubsurface-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/maintab.cpp')
-rw-r--r--qt-ui/maintab.cpp19
1 files changed, 19 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();