From 67dda48c884b7413e46acde4e890c0fa19640f67 Mon Sep 17 00:00:00 2001 From: Rick Walsh Date: Sat, 21 May 2016 19:32:08 +1000 Subject: Add best mix function to planner cylinder model This allows calculation and selection of best mix in the planner cylinder entry, by entering the gas depth, followed by "b" for best (trimix) mix, or "bn" for best nitrox mix. The UI is not intuitive, but it is quick and easy. At the very least, it should be documented. Signed-off-by: Rick Walsh Signed-off-by: Dirk Hohndel --- qt-models/cylindermodel.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'qt-models') diff --git a/qt-models/cylindermodel.cpp b/qt-models/cylindermodel.cpp index 350d15aa4..1ad03f94d 100644 --- a/qt-models/cylindermodel.cpp +++ b/qt-models/cylindermodel.cpp @@ -267,6 +267,15 @@ bool CylindersModel::setData(const QModelIndex &index, const QVariant &value, in break; case DEPTH: if (CHANGED()) { + /* Calculate best nitrox mix for cylinder depth if input text ends with "bn", + * or best (trimix) mix if input text ends with "b" */ + if (vString.toLower().endsWith("bn")) { + cyl->gasmix.o2 = best_o2(string_to_depth(vString.toUtf8().data()), &displayed_dive); + cyl->gasmix.he.permille = 0; + } else if (vString.toLower().endsWith("b")) { + cyl->gasmix.o2 = best_o2(string_to_depth(vString.toUtf8().data()), &displayed_dive); + cyl->gasmix.he = best_He(string_to_depth(vString.toUtf8().data()), &displayed_dive); + } cyl->depth = string_to_depth(vString.toUtf8().data()); changed = true; } -- cgit v1.2.3-70-g09d2