mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Undo: remove ADD mode from main tab
Instead of letting the user edit the fields before adding a dive, simply add an empty dive. Thus, the ADD mode of the main tab can be removed. Constructing a new dive with default-depth and making sure that the dive is displayed correctly is very subtle. This all needs to be detangled in due course. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
8287d86d2b
commit
4a3ffeba05
8 changed files with 98 additions and 174 deletions
|
@ -359,22 +359,14 @@ void DiveListBase::redo()
|
|||
finishWork();
|
||||
}
|
||||
|
||||
AddDive::AddDive(dive *d, const QString &newDS, bool autogroup, bool newNumber)
|
||||
AddDive::AddDive(dive *d, bool autogroup, bool newNumber)
|
||||
{
|
||||
setText(tr("add dive"));
|
||||
// By convention, d is "displayed dive" and can be overwritten.
|
||||
// By convention, d is a pointer to "displayed dive" or a temporary variable and can be overwritten.
|
||||
d->maxdepth.mm = 0;
|
||||
d->dc.maxdepth.mm = 0;
|
||||
fixup_dive(d);
|
||||
|
||||
// Create new dive site if requested.
|
||||
if (!newDS.isEmpty()) {
|
||||
struct dive_site *ds = alloc_dive_site();
|
||||
ds->name = copy_qstring(newDS);
|
||||
d->dive_site = ds;
|
||||
divesToAdd.sites.emplace_back(ds);
|
||||
}
|
||||
|
||||
// Get an owning pointer to a copied or moved dive
|
||||
// Note: if move is true, this destroys the old dive!
|
||||
OwningDivePtr divePtr(clone_dive(d));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue