diff --git a/src/blackgui/components/altitudedialog.cpp b/src/blackgui/components/altitudedialog.cpp index 668ade3be..87e1c64c9 100644 --- a/src/blackgui/components/altitudedialog.cpp +++ b/src/blackgui/components/altitudedialog.cpp @@ -18,6 +18,7 @@ using namespace BlackMisc; using namespace BlackMisc::Aviation; +using namespace BlackMisc::PhysicalQuantities; namespace BlackGui { @@ -146,7 +147,10 @@ namespace BlackGui { if (mode == AltitudeInMetersConvertedToFeet) { - m_altitude = m_altitude.roundedToNearest100ft(true); + const int ft = CAltitude::findAltitudeForMetricAltitude(m_altitude.valueInteger(CLengthUnit::m())); + m_altitude = ft < 0 ? + m_altitude.roundedToNearest100ft(true) : + m_altitude = CAltitude(ft, CAltitude::MeanSeaLevel, CLengthUnit::ft()); m_altitudeStr = m_altitude.valueRoundedWithUnit(0); } diff --git a/src/blackgui/components/altitudedialog.h b/src/blackgui/components/altitudedialog.h index 04c1a567a..4fcc80f5f 100644 --- a/src/blackgui/components/altitudedialog.h +++ b/src/blackgui/components/altitudedialog.h @@ -48,7 +48,7 @@ namespace BlackGui explicit CAltitudeDialog(QWidget *parent = nullptr); //! Destructor - virtual ~CAltitudeDialog(); + virtual ~CAltitudeDialog() override; //! Get mode Mode getMode() const;