diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-03-31 10:20:13 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-04-04 09:38:12 -0700 |
commit | 145f70aab59a5ebd1b4ca82432caf38b4821b055 (patch) | |
tree | 2527f595c552559ffe74e6cce39f3c52283762d9 /core/dive.h | |
parent | 8c9e5becb20d2d8c8aa1f7108775cc520b08fae1 (diff) | |
download | subsurface-145f70aab59a5ebd1b4ca82432caf38b4821b055.tar.gz |
Undo: implement split-out of dive computer
Allow splitting out a dive computer into a distinct dive. This
is realized by generating a base class from SplitDive.
This turned out to be more cumbersome than expected: we don't
know a-priori which of the split dives will come first. Since
the undo-command saves the indices where the dives will be insert,
these have to be calculated. This is an premature optimization,
which makes more pain than necessary. Let's remove it and
simply determine the insertion index when executing the command.
Original code by Linus Torvalds <torvalds@linux-foundation.org>.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'core/dive.h')
-rw-r--r-- | core/dive.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/core/dive.h b/core/dive.h index 4773d3157..874f724c7 100644 --- a/core/dive.h +++ b/core/dive.h @@ -440,6 +440,7 @@ extern timestamp_t dive_endtime(const struct dive *dive); extern void make_first_dc(void); extern unsigned int count_divecomputers(void); extern void delete_current_divecomputer(void); +void split_divecomputer(const struct dive *src, int num, struct dive **out1, struct dive **out2); /* * Iterate over each dive, with the first parameter being the index |