aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Robert C. Helling <helling@atdotde.de>2015-01-30 11:16:55 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-01-31 14:09:50 -0800
commit1e45858ee6e40da932be301e39d3fced6b393490 (patch)
treea745c1ef7cd8a10c7187a8fa34a80a58301439c4
parentc70ba77199ce87322402f976230402e39f6c133f (diff)
downloadsubsurface-1e45858ee6e40da932be301e39d3fced6b393490.tar.gz
Update ceiling when changing dive mode
Without this patch, the user effectively cannot change the dive mode as any change is overwritten by replot copying current_dive over displayed_dive. The way out is not to call replot but only update the deco ceiling directly. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--qt-ui/maintab.cpp2
-rw-r--r--qt-ui/profile/profilewidget2.cpp5
-rw-r--r--qt-ui/profile/profilewidget2.h1
3 files changed, 7 insertions, 1 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index 5fc0eb0ad..7335711e9 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -1018,7 +1018,7 @@ void MainTab::divetype_Changed(int index)
displayed_dive.dc.divemode = (enum dive_comp_type) index;
update_setpoint_events(&displayed_dive.dc);
markChangedWidget(ui.DiveType);
- MainWindow::instance()->graphics()->replot();
+ MainWindow::instance()->graphics()->recalcCeiling();
}
void MainTab::on_watertemp_textChanged(const QString &text)
diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp
index 57c89b99f..db3d0be35 100644
--- a/qt-ui/profile/profilewidget2.cpp
+++ b/qt-ui/profile/profilewidget2.cpp
@@ -648,6 +648,11 @@ void ProfileWidget2::plotDive(struct dive *d, bool force)
}
}
+void ProfileWidget2::recalcCeiling()
+{
+ diveCeiling->recalc();
+}
+
void ProfileWidget2::settingsChanged()
{
// if we are showing calculated ceilings then we have to replot()
diff --git a/qt-ui/profile/profilewidget2.h b/qt-ui/profile/profilewidget2.h
index abcf9fd23..a25780c7e 100644
--- a/qt-ui/profile/profilewidget2.h
+++ b/qt-ui/profile/profilewidget2.h
@@ -82,6 +82,7 @@ public:
double getFontPrintScale();
void setFontPrintScale(double scale);
void clearHandlers();
+ void recalcCeiling();
void setToolTipVisibile(bool visible);
State currentState;