Cleanup: remove selectionChanged logic from dive-list commands

Since all commands now fully reset the selection, there is no point
in keeping track of whether the selection changed on addition or
removal of dives. This can be done in the function that sets the
selection.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-06-23 12:13:25 +02:00 committed by bstoeger
parent e1abf9485c
commit 4716c82032
5 changed files with 30 additions and 68 deletions

View file

@ -42,7 +42,7 @@ static void setClosestCurrentDive(timestamp_t when, const std::vector<dive *> &s
// Reset the selection to the dives of the "selection" vector and send the appropriate signals.
// Set the current dive to "currentDive". "currentDive" must be an element of "selection" (or
// null if "seletion" is empty). Return true if the selection or current dive changed.
bool setSelection(const std::vector<dive *> &selection, dive *currentDive)
void setSelection(const std::vector<dive *> &selection, dive *currentDive)
{
// To do so, generate vectors of dives to be selected and deselected.
// We send signals batched by trip, so keep track of trip/dive pairs.
@ -102,8 +102,9 @@ bool setSelection(const std::vector<dive *> &selection, dive *currentDive)
emit diveListNotifier.currentDiveChanged();
}
// return true if selection of current dive changed
return selectionChanged || currentDiveChanged;
// If the selection changed -> tell the frontend
if (selectionChanged || currentDiveChanged)
emit diveListNotifier.selectionChanged();
}
// Turn current selection into a vector.