mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-27 20:58:47 +00:00
desktop: use getDiveSelection to access selected dives
In the list view two functions were still manually collecting the selected dives. Use getDiveSelection() there as well. Careful: that means that the check for dives that are already outside of a trip now has to be done in the RemoveDivesFromTrip command. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
369c5b0dc6
commit
16f86f2f65
2 changed files with 9 additions and 18 deletions
|
@ -740,8 +740,14 @@ void TripBase::undoit()
|
|||
redoit();
|
||||
}
|
||||
|
||||
RemoveDivesFromTrip::RemoveDivesFromTrip(const QVector<dive *> &divesToRemove)
|
||||
RemoveDivesFromTrip::RemoveDivesFromTrip(const QVector<dive *> &divesToRemoveIn)
|
||||
{
|
||||
// Filter out dives outside of trip. Note: This is in a separate loop to get the command-description right.
|
||||
QVector<dive *> divesToRemove;
|
||||
for (dive *d: divesToRemoveIn) {
|
||||
if (d->divetrip)
|
||||
divesToRemove.push_back(d);
|
||||
}
|
||||
setText(QStringLiteral("%1 [%2]").arg(Command::Base::tr("remove %n dive(s) from trip", "", divesToRemove.size())).arg(getListOfDives(divesToRemove)));
|
||||
divesToMove.divesToMove.reserve(divesToRemove.size());
|
||||
for (dive *d: divesToRemove) {
|
||||
|
|
|
@ -679,15 +679,7 @@ void DiveListView::mergeTripBelow()
|
|||
|
||||
void DiveListView::removeFromTrip()
|
||||
{
|
||||
//TODO: move this to C-code.
|
||||
int i;
|
||||
struct dive *d;
|
||||
QVector<dive *> divesToRemove;
|
||||
for_each_dive (i, d) {
|
||||
if (d->selected && d->divetrip)
|
||||
divesToRemove.append(d);
|
||||
}
|
||||
Command::removeDivesFromTrip(divesToRemove);
|
||||
Command::removeDivesFromTrip(stdToQt(getDiveSelection()));
|
||||
}
|
||||
|
||||
void DiveListView::newTripAbove()
|
||||
|
@ -695,14 +687,7 @@ void DiveListView::newTripAbove()
|
|||
struct dive *d = contextMenuIndex.data(DiveTripModelBase::DIVE_ROLE).value<struct dive *>();
|
||||
if (!d) // shouldn't happen as we only are setting up this action if this is a dive
|
||||
return;
|
||||
//TODO: port to c-code.
|
||||
int idx;
|
||||
QVector<dive *> dives;
|
||||
for_each_dive (idx, d) {
|
||||
if (d->selected)
|
||||
dives.append(d);
|
||||
}
|
||||
Command::createTrip(dives);
|
||||
Command::createTrip(stdToQt(getDiveSelection()));
|
||||
}
|
||||
|
||||
void DiveListView::addToTripBelow()
|
||||
|
|
Loading…
Reference in a new issue