mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Planner: Improve Gas Handling in CCR Mode.
This has become a bit of a catch-all overhaul of a large portion of the planner - I started out wanting to improve the CCR mode, but then as I started pulling all the other threads that needed addressing started to come with it. Improve how the gas selection is handled when planning dives in CCR mode, by making the type (OC / CCR) of segments dependent on the gas use type that was set for the selected gas. Add a preference to allow the user to chose to use OC gases as diluent, in a similar fashion to the original implementation. Hide gases that cannot be used in the currently selected dive mode in all drop downs. Include usage type in gas names if this is needed. Hide columns and disable elements in the 'Dive planner points' table if they can they can not be edited in the curently selected dive mode. Visually identify gases and usage types that are not appropriate for the currently selected dive mode. Move the 'Dive mode' selection to the top of the planner view, to accommodate the fact that this is a property of the dive and not a planner setting. Show a warning instead of the dive plan if the plan contains gases that are not usable in the selected dive mode. Fix the data entry for the setpoint in the 'Dive planner points' table. Fix problems with enabling / disabling planner settings when switching between dive modes. Refactor some names to make them more appropriate for their current usage. One point that is still open is to hide gas usage graphs in the planner profile if the gas isn't used for OC, as there is no way to meaningfully interpolate such usage. Signed-off-by: Michael Keller <github@ike.ch>
This commit is contained in:
parent
7106c4d5f0
commit
2d8e343221
63 changed files with 678 additions and 383 deletions
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
class qPrefTechnicalDetails : public QObject {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(bool allowOcGasAsDiluent READ allowOcGasAsDiluent WRITE set_allowOcGasAsDiluent NOTIFY allowOcGasAsDiluentChanged)
|
||||
Q_PROPERTY(bool calcalltissues READ calcalltissues WRITE set_calcalltissues NOTIFY calcalltissuesChanged)
|
||||
Q_PROPERTY(bool calcceiling READ calcceiling WRITE set_calcceiling NOTIFY calcceilingChanged)
|
||||
Q_PROPERTY(bool calcceiling3m READ calcceiling3m WRITE set_calcceiling3m NOTIFY calcceiling3mChanged)
|
||||
|
|
@ -44,6 +45,7 @@ public:
|
|||
static void sync() { loadSync(true); }
|
||||
|
||||
public:
|
||||
static bool allowOcGasAsDiluent() { return prefs.allowOcGasAsDiluent; }
|
||||
static bool calcalltissues() { return prefs.calcalltissues; }
|
||||
static bool calcceiling() { return prefs.calcceiling; }
|
||||
static bool calcceiling3m() { return prefs.calcceiling3m; }
|
||||
|
|
@ -73,6 +75,7 @@ public:
|
|||
static bool infobox() { return prefs.infobox; }
|
||||
|
||||
public slots:
|
||||
static void set_allowOcGasAsDiluent(bool value);
|
||||
static void set_calcalltissues(bool value);
|
||||
static void set_calcceiling(bool value);
|
||||
static void set_calcceiling3m(bool value);
|
||||
|
|
@ -102,6 +105,7 @@ public slots:
|
|||
static void set_infobox(bool value);
|
||||
|
||||
signals:
|
||||
void allowOcGasAsDiluentChanged(bool value);
|
||||
void calcalltissuesChanged(bool value);
|
||||
void calcceilingChanged(bool value);
|
||||
void calcceiling3mChanged(bool value);
|
||||
|
|
@ -133,6 +137,7 @@ signals:
|
|||
private:
|
||||
qPrefTechnicalDetails() {}
|
||||
|
||||
static void disk_allowOcGasAsDiluent(bool doSync);
|
||||
static void disk_calcalltissues(bool doSync);
|
||||
static void disk_calcceiling(bool doSync);
|
||||
static void disk_calcceiling3m(bool doSync);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue