diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2021-02-01 23:17:04 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2021-02-13 13:02:54 -0800 |
commit | d63d4cd3c357a4294e4810ad320acf519b37882d (patch) | |
tree | 3659929714d26a32cca8b2501a609ef2a6b55be2 /stats/barseries.cpp | |
parent | e38b78b2aa787e3d1de97fb737601dc30a7fad6b (diff) | |
download | subsurface-d63d4cd3c357a4294e4810ad320acf519b37882d.tar.gz |
statistics: implement rectangle selection in scatter plot
Allow the user to select regions of the scatter plot using
a rectangular selection. When shift is pressed, do an
incremental selection.
Unfortunately, the list-selection code is so slow that this
becomes unusable for a large number of selected dives.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'stats/barseries.cpp')
-rw-r--r-- | stats/barseries.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/stats/barseries.cpp b/stats/barseries.cpp index ad956c454..58c6511a6 100644 --- a/stats/barseries.cpp +++ b/stats/barseries.cpp @@ -406,12 +406,15 @@ void BarSeries::unhighlight() highlighted = Index(); } -void BarSeries::selectItemsUnderMouse(const QPointF &pos, bool) +bool BarSeries::selectItemsUnderMouse(const QPointF &pos, bool) { Index index = getItemUnderMouse(pos); - if (index.bar < 0) - return setSelection({}, nullptr); + if (index.bar < 0) { + setSelection({}, nullptr); + return false; + } const std::vector<dive *> &dives = items[index.bar].subitems[index.subitem].dives; setSelection(dives, dives.empty() ? nullptr : dives.front()); + return true; } |