// SPDX-License-Identifier: GPL-2.0 #ifndef QMLMAPWIDGETHELPER_H #define QMLMAPWIDGETHELPER_H #include class QGeoCoordinate; class MapLocationModel; class MapLocation; struct dive_site; class MapWidgetHelper : public QObject { Q_OBJECT Q_PROPERTY(QObject *map MEMBER m_map) Q_PROPERTY(MapLocationModel *model MEMBER m_mapLocationModel NOTIFY modelChanged) public: explicit MapWidgetHelper(QObject *parent = NULL); void centerOnDiveSite(struct dive_site *); void reloadMapLocations(); Q_INVOKABLE void copyToClipboardCoordinates(QGeoCoordinate coord, bool formatTraditional); Q_INVOKABLE void calculateSmallCircleRadius(QGeoCoordinate coord); private: QObject *m_map; MapLocationModel *m_mapLocationModel; qreal m_smallCircleRadius; QList m_selectedDiveIds; private slots: void selectedLocationChanged(MapLocation *); signals: void modelChanged(); void selectedDivesChanged(QList list); }; extern "C" const char *printGPSCoords(int lat, int lon); #endif