1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-12-23 01:55:48 -05:00

ADS-B: Fix map centering and station icon for Qt6.

This commit is contained in:
srcejon 2024-04-16 13:28:50 +01:00
parent 5330b8ef45
commit 002c824dd9
2 changed files with 28 additions and 16 deletions

View File

@ -4802,6 +4802,25 @@ void ADSBDemodGUI::applyMapSettings()
// Restore position of map // Restore position of map
if (newMap != nullptr) if (newMap != nullptr)
{ {
// Move antenna icon to My Position
QObject *stationObject = newMap->findChild<QObject*>("station");
if(stationObject != NULL)
{
QGeoCoordinate coords = stationObject->property("coordinate").value<QGeoCoordinate>();
coords.setLatitude(stationLatitude);
coords.setLongitude(stationLongitude);
coords.setAltitude(stationAltitude);
stationObject->setProperty("coordinate", QVariant::fromValue(coords));
stationObject->setProperty("stationName", QVariant::fromValue(MainCore::instance()->getSettings().getStationName()));
}
else
{
qDebug() << "ADSBDemodGUI::applyMapSettings - Couldn't find station";
}
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
newMap = newMap->findChild<QObject*>("map");
#endif
if (coords.isValid()) if (coords.isValid())
{ {
newMap->setProperty("zoomLevel", QVariant::fromValue(zoom)); newMap->setProperty("zoomLevel", QVariant::fromValue(zoom));
@ -4812,22 +4831,6 @@ void ADSBDemodGUI::applyMapSettings()
{ {
qDebug() << "ADSBDemodGUI::applyMapSettings - createMap returned a nullptr"; qDebug() << "ADSBDemodGUI::applyMapSettings - createMap returned a nullptr";
} }
// Move antenna icon to My Position
QObject *stationObject = newMap->findChild<QObject*>("station");
if(stationObject != NULL)
{
QGeoCoordinate coords = stationObject->property("coordinate").value<QGeoCoordinate>();
coords.setLatitude(stationLatitude);
coords.setLongitude(stationLongitude);
coords.setAltitude(stationAltitude);
stationObject->setProperty("coordinate", QVariant::fromValue(coords));
stationObject->setProperty("stationName", QVariant::fromValue(MainCore::instance()->getSettings().getStationName()));
}
else
{
qDebug() << "ADSBDemodGUI::applyMapSettings - Couldn't find station";
}
} }
// Called from QML when empty space clicked // Called from QML when empty space clicked
@ -6000,7 +6003,11 @@ void ADSBDemodGUI::preferenceChanged(int elementType)
// Update icon position on Map // Update icon position on Map
QQuickItem *item = ui->map->rootObject(); QQuickItem *item = ui->map->rootObject();
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
QObject *map = item->findChild<QObject*>("map"); QObject *map = item->findChild<QObject*>("map");
#else
QObject *map = item->findChild<QObject*>("mapView");
#endif
if (map != nullptr) if (map != nullptr)
{ {
QObject *stationObject = map->findChild<QObject*>("station"); QObject *stationObject = map->findChild<QObject*>("station");
@ -6019,7 +6026,11 @@ void ADSBDemodGUI::preferenceChanged(int elementType)
{ {
// Update icon label on Map // Update icon label on Map
QQuickItem *item = ui->map->rootObject(); QQuickItem *item = ui->map->rootObject();
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
QObject *map = item->findChild<QObject*>("map"); QObject *map = item->findChild<QObject*>("map");
#else
QObject *map = item->findChild<QObject*>("mapView");
#endif
if (map != nullptr) if (map != nullptr)
{ {
QObject *stationObject = map->findChild<QObject*>("station"); QObject *stationObject = map->findChild<QObject*>("station");

View File

@ -74,6 +74,7 @@ Item {
id: station id: station
objectName: "station" objectName: "station"
stationName: "Home" stationName: "Home"
parent: mapView.map
} }
MapItemView { MapItemView {