File indexing completed on 2024-04-28 15:39:08
0001 // SPDX-FileCopyrightText: 2020-2021 Tobias Leupold <tl at stonemx dot de> 0002 // 0003 // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0004 0005 #ifndef SHAREDOBJECTS_H 0006 #define SHAREDOBJECTS_H 0007 0008 // Local includes 0009 #include "KGeoTag.h" 0010 #include "Coordinates.h" 0011 0012 // Qt includes 0013 #include <QObject> 0014 #include <QLocale> 0015 0016 // Local classes 0017 class Settings; 0018 class ImagesModel; 0019 class GeoDataModel; 0020 class GpxEngine; 0021 class ElevationEngine; 0022 class MapWidget; 0023 class CoordinatesFormatter; 0024 0025 class SharedObjects : public QObject 0026 { 0027 Q_OBJECT 0028 0029 public: 0030 explicit SharedObjects(QObject *parent = nullptr); 0031 Settings *settings() const; 0032 ImagesModel *imagesModel() const; 0033 GeoDataModel *geoDataModel() const; 0034 GpxEngine *gpxEngine() const; 0035 ElevationEngine *elevationEngine() const; 0036 MapWidget *mapWidget() const; 0037 CoordinatesFormatter *coordinatesFormatter() const; 0038 0039 void setBookmarks(const QHash<QString, Coordinates> *bookmarks); 0040 const QHash<QString, Coordinates> *bookmarks() const; 0041 0042 const QLocale *locale() const; 0043 0044 private: // Variables 0045 Settings *m_settings; 0046 ImagesModel *m_imagesModel; 0047 GeoDataModel *m_geoDataModel; 0048 GpxEngine *m_gpxEngine; 0049 ElevationEngine *m_elevationEngine; 0050 MapWidget *m_mapWidget; 0051 QLocale m_locale; 0052 CoordinatesFormatter *m_coordinatesFormatter; 0053 0054 const QHash<QString, Coordinates> *m_bookmarks; 0055 0056 }; 0057 0058 #endif // SHAREDOBJECTS_H