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 // Local includes
0006 #include "SharedObjects.h"
0007 #include "Settings.h"
0008 #include "ImagesModel.h"
0009 #include "GeoDataModel.h"
0010 #include "GpxEngine.h"
0011 #include "ElevationEngine.h"
0012 #include "MapWidget.h"
0013 #include "CoordinatesFormatter.h"
0014 
0015 SharedObjects::SharedObjects(QObject *parent) : QObject(parent)
0016 {
0017     m_settings = new Settings(this);
0018     m_imagesModel = new ImagesModel(this, m_settings->splitImagesList(),
0019                                     m_settings->thumbnailSize(), m_settings->previewSize());
0020     m_geoDataModel = new GeoDataModel(this);
0021     m_gpxEngine = new GpxEngine(this, m_geoDataModel);
0022     m_elevationEngine = new ElevationEngine(this, m_settings);
0023     m_mapWidget = new MapWidget(this);
0024     m_coordinatesFormatter = new CoordinatesFormatter(this, &m_locale);
0025 }
0026 
0027 Settings *SharedObjects::settings() const
0028 {
0029     return m_settings;
0030 }
0031 
0032 ImagesModel *SharedObjects::imagesModel() const
0033 {
0034     return m_imagesModel;
0035 }
0036 
0037 GeoDataModel *SharedObjects::geoDataModel() const
0038 {
0039     return m_geoDataModel;
0040 }
0041 
0042 GpxEngine *SharedObjects::gpxEngine() const
0043 {
0044     return m_gpxEngine;
0045 }
0046 
0047 ElevationEngine *SharedObjects::elevationEngine() const
0048 {
0049     return m_elevationEngine;
0050 }
0051 
0052 MapWidget *SharedObjects::mapWidget() const
0053 {
0054     return m_mapWidget;
0055 }
0056 
0057 CoordinatesFormatter *SharedObjects::coordinatesFormatter() const
0058 {
0059     return m_coordinatesFormatter;
0060 }
0061 
0062 void SharedObjects::setBookmarks(const QHash<QString, Coordinates> *bookmarks)
0063 {
0064     m_bookmarks = bookmarks;
0065 }
0066 
0067 const QHash<QString, Coordinates> *SharedObjects::bookmarks() const
0068 {
0069     return m_bookmarks;
0070 }
0071 
0072 const QLocale *SharedObjects::locale() const
0073 {
0074     return &m_locale;
0075 }