diff --git a/src/blackgui/editors/coordinateform.cpp b/src/blackgui/editors/coordinateform.cpp index 9431808e6..aa9d692af 100644 --- a/src/blackgui/editors/coordinateform.cpp +++ b/src/blackgui/editors/coordinateform.cpp @@ -8,8 +8,9 @@ */ #include "coordinateform.h" -#include "blackcore/webdataservices.h" +#include "blackcore/context/contextownaircraft.h" #include "blackcore/db/airportdatareader.h" +#include "blackcore/webdataservices.h" #include "blackgui/guiapplication.h" #include "blackmisc/aviation/airport.h" #include "ui_coordinateform.h" @@ -61,7 +62,9 @@ namespace BlackGui connect(ui->le_LngSecFrag, &QLineEdit::editingFinished, this, &CCoordinateForm::lngCombinedEntered); connect(ui->le_Location, &QLineEdit::returnPressed, this, &CCoordinateForm::locationEntered); + connect(ui->pb_Set, &QPushButton::pressed, this, &CCoordinateForm::changedCoordinate); + connect(ui->pb_OwnAircraft, &QPushButton::pressed, this, &CCoordinateForm::presetOwnAircraftPosition); const CCoordinateGeodetic c; this->setCoordinate(c); @@ -258,7 +261,7 @@ namespace BlackGui void CCoordinateForm::elvEntered() { - const QString e = ui->le_Elevation->text(); + const QString e = ui->le_Elevation->text().trimmed(); CAltitude a; a.parseFromString(e); ui->lblp_ElvCheck->setTicked(!e.isNull()); @@ -266,5 +269,13 @@ namespace BlackGui c.setGeodeticHeight(a); this->setCoordinate(c); } + + void CCoordinateForm::presetOwnAircraftPosition() + { + if (!sGui || sGui->isShuttingDown()) { return; } + if (!sGui->getIContextOwnAircraft()) { return; } + const CCoordinateGeodetic coordinate = sGui->getIContextOwnAircraft()->getOwnAircraft().getSituation(); + this->setCoordinate(coordinate); + } } // ns } // ns diff --git a/src/blackgui/editors/coordinateform.h b/src/blackgui/editors/coordinateform.h index 630ec4662..8b2b9fca6 100644 --- a/src/blackgui/editors/coordinateform.h +++ b/src/blackgui/editors/coordinateform.h @@ -70,6 +70,7 @@ namespace BlackGui void lngEntered(); void lngCombinedEntered(); void elvEntered(); + void presetOwnAircraftPosition(); BlackMisc::Geo::CCoordinateGeodetic m_coordinate; }; diff --git a/src/blackgui/editors/coordinateform.ui b/src/blackgui/editors/coordinateform.ui index 88dd8adf8..78bda8352 100644 --- a/src/blackgui/editors/coordinateform.ui +++ b/src/blackgui/editors/coordinateform.ui @@ -14,13 +14,6 @@ Frame - - - - deg. - - - @@ -34,6 +27,20 @@ + + + + deg. + + + + + + + fract.sec + + + @@ -67,10 +74,10 @@ - - + + - fract.sec + ICAO, city @@ -81,20 +88,6 @@ - - - - ICAO, city - - - - - - - sec - - - @@ -102,30 +95,10 @@ - - - - - - - - - - - - 120 - 0 - - + + - WGS 0° 0' 0.000" E/W - - - - - - - Longitude (0°-180°): + sec @@ -142,6 +115,33 @@ + + + + + + + + + + + Longitude (0°-180°): + + + + + + + + 120 + 0 + + + + WGS 0° 0' 0.000" E/W + + + @@ -194,14 +194,11 @@ - - + + - W + min - - bg_EW - @@ -214,11 +211,14 @@ - - + + - min + W + + bg_EW + @@ -228,13 +228,6 @@ - - - - sec - - - @@ -242,13 +235,64 @@ - - + + - set + sec + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + own aircraft + + + + + + + set + + + + + + @@ -275,11 +319,13 @@ le_LngSecFrag le_Elevation le_Location + pb_OwnAircraft + pb_Set - +