statistics: support ctrl-selection for all series

Multiple selection using ctrl was only supported for
scatter series. Factor out the corresponding code and
use it in all series.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2021-02-10 12:15:14 +01:00 committed by Dirk Hohndel
parent 64b82b16a2
commit 43b0ccca3e
6 changed files with 72 additions and 56 deletions

View file

@ -146,17 +146,16 @@ void BoxSeries::unhighlight()
highlighted = -1;
}
bool BoxSeries::selectItemsUnderMouse(const QPointF &pos, SelectionModifier)
bool BoxSeries::selectItemsUnderMouse(const QPointF &pos, SelectionModifier modifier)
{
int index = getItemUnderMouse(pos);
if (index < 0) {
setSelection({}, nullptr);
return false;
}
const std::vector<dive *> &dives = items[index]->q.dives;
setSelection(dives, dives.empty() ? nullptr : dives.front());
return true;
std::vector<dive *> divesUnderMouse;
if (index >= 0)
divesUnderMouse = items[index]->q.dives;
processSelection(std::move(divesUnderMouse), modifier);
return index >= 0;
}
void BoxSeries::divesSelected(const QVector<dive *> &)