aboutsummaryrefslogtreecommitdiffstats
path: root/stats/barseries.cpp
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2021-02-01 23:17:04 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2021-02-13 13:02:54 -0800
commitd63d4cd3c357a4294e4810ad320acf519b37882d (patch)
tree3659929714d26a32cca8b2501a609ef2a6b55be2 /stats/barseries.cpp
parente38b78b2aa787e3d1de97fb737601dc30a7fad6b (diff)
downloadsubsurface-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.cpp9
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;
}