diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2014-08-16 18:33:09 -0600 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-08-16 18:34:27 -0600 |
commit | 4a7432e3d512977437afa3933cc242b6410b468a (patch) | |
tree | 9e6a59e1d5443e8cc8594082c51d03281add58ac | |
parent | 3766f57392bc8e315afe14b7640982e50cdd5529 (diff) | |
download | subsurface-4a7432e3d512977437afa3933cc242b6410b468a.tar.gz |
Don't always clear the dive before selectively copying
This will be needed when pasting the data back into a (set of) dive(s).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | dive.c | 6 | ||||
-rw-r--r-- | dive.h | 2 | ||||
-rw-r--r-- | qt-ui/simplewidgets.cpp | 2 |
3 files changed, 6 insertions, 4 deletions
@@ -426,9 +426,10 @@ struct dive *clone_dive(struct dive *s) d->_component = copy_string(s->_component) // copy elements, depending on bits in what that are set -void selective_copy_dive(struct dive *s, struct dive *d, struct dive_components what) +void selective_copy_dive(struct dive *s, struct dive *d, struct dive_components what, bool clear) { - clear_dive(d); + if (clear) + clear_dive(d); CONDITIONAL_COPY_STRING(location); CONDITIONAL_COPY_STRING(notes); CONDITIONAL_COPY_STRING(divemaster); @@ -502,6 +503,7 @@ void copy_cylinders(struct dive *s, struct dive *d, bool used_only) d->cylinder[i].type = s->cylinder[i].type; d->cylinder[i].gasmix = s->cylinder[i].gasmix; d->cylinder[i].depth = s->cylinder[i].depth; + d->cylinder[i].manually_added = true; } } } @@ -621,7 +621,7 @@ extern struct dive *alloc_dive(void); extern void record_dive(struct dive *dive); extern void clear_dive(struct dive *dive); extern void copy_dive(struct dive *s, struct dive *d); -extern void selective_copy_dive(struct dive *s, struct dive *d, struct dive_components what); +extern void selective_copy_dive(struct dive *s, struct dive *d, struct dive_components what, bool clear); extern struct dive *clone_dive(struct dive *s); extern struct sample *prepare_sample(struct divecomputer *dc); diff --git a/qt-ui/simplewidgets.cpp b/qt-ui/simplewidgets.cpp index a10092ff6..b0b900fe4 100644 --- a/qt-ui/simplewidgets.cpp +++ b/qt-ui/simplewidgets.cpp @@ -450,6 +450,6 @@ void DiveComponentSelection::buttonClicked(QAbstractButton *button) COMPONENT_FROM_UI(suit); COMPONENT_FROM_UI(cylinders); COMPONENT_FROM_UI(weights); - selective_copy_dive(&displayed_dive, targetDive, *what); + selective_copy_dive(&displayed_dive, targetDive, *what, true); } } |