digiKam
Loading...
Searching...
No Matches
geolocationsettings.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2023-12-21
7 * Description : Geolocation Settings.
8 *
9 * SPDX-FileCopyrightText: 2022-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QObject>
20
21// Local includes
22
23#include "digikam_export.h"
25#include "setupgeolocation.h"
26
27namespace Marble
28{
29 class MarbleWidget;
30}
31
32using namespace Marble;
33
34namespace Digikam
35{
36
37class MapWidget;
38
39class DIGIKAM_EXPORT GeolocationSettings : public QObject
40{
41 Q_OBJECT
42
43public:
44
48 static GeolocationSettings* instance();
49
53 GeolocationSettingsContainer settings() const;
54
58 void setSettings(const GeolocationSettingsContainer& settings);
59
63 void registerWidget(MapWidget* const widget);
64
68 void unregisterWidget(MapWidget* const widget);
69
73 void applySettingsToWidget(MapWidget* const widget);
74
79 MarbleWidget* mainMarbleWidget() const;
80
81 void openSetupGeolocation(SetupGeolocation::GeolocationTab tab);
82
83 void reloadGoogleMaps();
84
85Q_SIGNALS:
86
88
90 const GeolocationSettingsContainer& previous);
91
93
94private:
95
96 // Disabled
98 explicit GeolocationSettings(QObject*);
99 ~GeolocationSettings() override;
100
101 void readFromConfig();
102
103 void applySettingsToWidgets(const GeolocationSettingsContainer& settings);
104
105private:
106
107 class Private;
108 Private* const d = nullptr;
109
110 friend class GeolocationSettingsCreator;
111};
112
113} // namespace Digikam
Definition geolocationsettingscontainer.h:39
Definition geolocationsettings.h:40
void signalGeolocationSettingsChanged(const GeolocationSettingsContainer &current, const GeolocationSettingsContainer &previous)
void signalSetupGeolocation(int tab)
The central map view class of geolocation interface.
Definition mapwidget.h:77
GeolocationTab
Definition setupgeolocation.h:35
Definition datefolderview.cpp:34