diff options
-rw-r--r-- | desktop-widgets/diveplanner.cpp | 3 | ||||
-rw-r--r-- | qt-models/cylindermodel.cpp | 2 | ||||
-rw-r--r-- | qt-models/cylindermodel.h | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/desktop-widgets/diveplanner.cpp b/desktop-widgets/diveplanner.cpp index 31dd4bb93..4c740af07 100644 --- a/desktop-widgets/diveplanner.cpp +++ b/desktop-widgets/diveplanner.cpp @@ -21,6 +21,7 @@ #define UNIT_FACTOR ((prefs.units.length == units::METERS) ? 1000.0 / 60.0 : feet_to_mm(1.0) / 60.0) static DivePlannerPointsModel* plannerModel = DivePlannerPointsModel::instance(); +static CylindersModel* cylinderModel = CylindersModel::instance(); DiveHandler::DiveHandler() : QGraphicsEllipseItem() { @@ -354,8 +355,10 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f) connect(ui.descRate, SIGNAL(valueChanged(int)), this, SLOT(setDescRate(int))); connect(ui.descRate, SIGNAL(valueChanged(int)), plannerModel, SLOT(emitDataChanged())); connect(ui.bottompo2, SIGNAL(valueChanged(double)), this, SLOT(setBottomPo2(double))); + connect(ui.bottompo2, SIGNAL(valueChanged(double)), cylinderModel, SLOT(updateBestMixes())); connect(ui.decopo2, SIGNAL(valueChanged(double)), this, SLOT(setDecoPo2(double))); connect(ui.bestmixEND, SIGNAL(valueChanged(int)), this, SLOT(setBestmixEND(int))); + connect(ui.bestmixEND, SIGNAL(valueChanged(int)), cylinderModel, SLOT(updateBestMixes())); connect(ui.drop_stone_mode, SIGNAL(toggled(bool)), plannerModel, SLOT(setDropStoneMode(bool))); connect(ui.bottomSAC, SIGNAL(valueChanged(double)), this, SLOT(bottomSacChanged(double))); connect(ui.decoStopSAC, SIGNAL(valueChanged(double)), this, SLOT(decoSacChanged(double))); diff --git a/qt-models/cylindermodel.cpp b/qt-models/cylindermodel.cpp index 9d85cb661..4d9fe9beb 100644 --- a/qt-models/cylindermodel.cpp +++ b/qt-models/cylindermodel.cpp @@ -506,6 +506,8 @@ bool CylindersModel::updateBestMixes() gasUpdated = true; } } + /* This slot is called when the bottom pO2 and END preferences are updated, we want to + * emit dataChanged so MOD and MND are refreshed, even if the gas mix hasn't been changed */ emit dataChanged(createIndex(0, 0), createIndex(MAX_CYLINDERS - 1, COLUMNS - 1)); return gasUpdated; } diff --git a/qt-models/cylindermodel.h b/qt-models/cylindermodel.h index d4ef8dc41..ce2c87e69 100644 --- a/qt-models/cylindermodel.h +++ b/qt-models/cylindermodel.h @@ -38,13 +38,13 @@ public: void updateDive(); void copyFromDive(struct dive *d); void updateDecoDepths(pressure_t olddecopo2); - bool updateBestMixes(); cylinder_t *cylinderAt(const QModelIndex &index); bool changed; public slots: void remove(const QModelIndex &index); + bool updateBestMixes(); private: int rows; |