mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Undo: make dive site merging undoable
This one was rather trivial, as there is no actual merging done. Quite simply, a number of dive sites are removed and their dive added to a different dive site. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
7c63956ee4
commit
59239cec02
7 changed files with 66 additions and 36 deletions
|
@ -310,31 +310,6 @@ void merge_dive_site(struct dive_site *a, struct dive_site *b)
|
|||
}
|
||||
}
|
||||
|
||||
void merge_dive_sites(struct dive_site *ref, struct dive_site *dive_sites[], int count)
|
||||
{
|
||||
int curr_dive, i;
|
||||
struct dive *d;
|
||||
for(i = 0; i < count; i++){
|
||||
if (dive_sites[i] == ref)
|
||||
continue;
|
||||
|
||||
for_each_dive(curr_dive, d) {
|
||||
if (d->dive_site != dive_sites[i] )
|
||||
continue;
|
||||
unregister_dive_from_dive_site(d);
|
||||
add_dive_to_dive_site(d, ref);
|
||||
invalidate_dive_cache(d);
|
||||
}
|
||||
}
|
||||
|
||||
for(i = 0; i < count; i++) {
|
||||
if (dive_sites[i] == ref)
|
||||
continue;
|
||||
delete_dive_site(dive_sites[i], &dive_site_table);
|
||||
}
|
||||
mark_divelist_changed(true);
|
||||
}
|
||||
|
||||
struct dive_site *find_or_create_dive_site_with_name(const char *name, struct dive_site_table *ds_table)
|
||||
{
|
||||
int i;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue