summaryrefslogtreecommitdiffstats
path: root/qt-ui/diveplanner.cpp
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2013-11-01 13:45:14 -0400
committerGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2013-11-01 13:45:14 -0400
commit23a193b0d1a94098ebcf1b5bafbc79ed879b5106 (patch)
tree29e361bdb3904e1b02164bfe893afd3228b50a6a /qt-ui/diveplanner.cpp
parentf7cd3e780cdc77180ce279c95322de2095192657 (diff)
downloadsubsurface-23a193b0d1a94098ebcf1b5bafbc79ed879b5106.tar.gz
Changed the backup implementation of the samples on EditDive.
Changed the backup implementation of the samples on EditDive, it's way cleaner now what's happening, and it's also better for the cancel edit. Next: The Cancel Edit. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Diffstat (limited to 'qt-ui/diveplanner.cpp')
-rw-r--r--qt-ui/diveplanner.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp
index f4bbfafa0..d94e96570 100644
--- a/qt-ui/diveplanner.cpp
+++ b/qt-ui/diveplanner.cpp
@@ -427,23 +427,17 @@ void DivePlannerPointsModel::createSimpleDive()
void DivePlannerPointsModel::loadFromDive(dive* d)
{
- int totalSamples = d->dc.samples -2; // removes begin and end.
-
/* We need to make a copy, because
* as soon as the model is modified, it will
* remove all samples from the current dive.
- *
- * TODO: keep a backup of the values,
- * so we can restore.
* */
- QList<QPair<int,int> > values;
+ backupSamples.clear();
for(int i = 1; i < d->dc.samples-1; i++){
- struct sample &s = d->dc.sample[i];
- values.append( qMakePair(s.depth.mm, s.time.seconds));
+ backupSamples.push_back( d->dc.sample[i]);
}
- for(int i = 0; i < totalSamples; i++){
- plannerModel->addStop(values[i].first, values[i].second, tr("Air"), 0);
+ Q_FOREACH(const sample &s, backupSamples){
+ plannerModel->addStop(s.depth.mm, s.time.seconds, tr("Air"), 0);
}
}