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
-
+