summaryrefslogtreecommitdiffstats
path: root/stats/statsselection.h
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2021-02-08 17:07:37 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2021-02-13 13:02:54 -0800
commit64b82b16a26bcaa624cc35e775b821e33133bdbb (patch)
tree184f58141f2a0377bc16686c3a2724770b8dbd8c /stats/statsselection.h
parent21b8cded56854f81327f4f553e32a15ffe5c7b82 (diff)
downloadsubsurface-64b82b16a26bcaa624cc35e775b821e33133bdbb.tar.gz
statistics: make selection keyboard modifiers more general
Up to now, we passed a "shiftPressed" flag to the individual selection functions. To be more general replace by a struct with "shift" and "ctrl" flags. While doing this: 1) Move the struct into a new statsselection file for better encapsulation. 2) Change shift to control in the scatter series, since individual selection of items is usually done with control, not shift. Shift usually means "select range". Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'stats/statsselection.h')
-rw-r--r--stats/statsselection.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/stats/statsselection.h b/stats/statsselection.h
new file mode 100644
index 000000000..e3f590466
--- /dev/null
+++ b/stats/statsselection.h
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0
+// Functions and data structures handling dive selections.
+
+#ifndef STATS_SELECTION_H
+#define STATS_SELECTION_H
+
+struct SelectionModifier {
+ unsigned int ctrl : 1;
+ unsigned int shift : 1;
+ // Note: default member initializers for bit-fields becomes available with C++20.
+ // Therefore, for now an inline constructor.
+ SelectionModifier() : ctrl(0), shift(0) {}
+};
+
+#endif