aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui
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
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')
-rw-r--r--qt-ui/maintab.cpp19
-rw-r--r--qt-ui/maintab.h2
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{