digiKam
Loading...
Searching...
No Matches
mapwidget_p.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 : 2009-12-01
7 * Description : world map widget library - Private container
8 *
9 * SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2009-2011 by Michael G. Hansen <mike at mghansen dot de>
11 * SPDX-FileCopyrightText: 2014 by Justus Schwartz <justus at gmx dot li>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19#include "mapwidget.h"
20
21// C++ includes
22
23#include <cmath>
24
25// Qt includes
26
27#include <QDragEnterEvent>
28#include <QDropEvent>
29#include <QItemSelectionModel>
30#include <QMenu>
31#include <QPainter>
32#include <QPointer>
33#include <QStackedLayout>
34#include <QTimer>
35#include <QPushButton>
36#include <QToolButton>
37#include <QHBoxLayout>
38#include <QAction>
39#include <QActionGroup>
40#include <QFrame>
41
42// KDE includes
43
44#include <klocalizedstring.h>
45#include <kconfiggroup.h>
46
47// Marble includes
48
49#ifdef HAVE_GEOLOCATION
50
51# include "GeoDataLineString.h"
52# include "GeoDataLatLonBox.h"
53# include "MarbleGlobal.h"
54
55#endif
56
57// local includes
58
59#include "geoifacecommon.h"
60#include "geodragdrophandler.h"
61#include "geomodelhelper.h"
62#include "trackmanager.h"
63#include "placeholderwidget.h"
64#include "tilegrouper.h"
65#include "digikam_debug.h"
66#include "abstractmarkertiler.h"
67#include "backendgooglemaps.h"
68#include "geolocationsettings.h"
69
70#ifdef HAVE_GEOLOCATION
71
72# include "backendmarble.h"
73
74#endif
75
76namespace Digikam
77{
78
79class Q_DECL_HIDDEN MapWidget::Private
80{
81public:
82
83 Private() = default;
84
85 QList<MapBackend*> loadedBackends;
86 MapBackend* currentBackend = nullptr;
88 QStackedLayout* stackedLayout = nullptr;
89
91
92 GeoCoordinates cacheCenterCoordinate = GeoCoordinates(52.0, 6.0);
93 QString cacheZoom = QLatin1String("marble:900");
94
96
97 QMenu* configurationMenu = nullptr;
98 QActionGroup* actionGroupBackendSelection = nullptr;
99 QAction* actionZoomIn = nullptr;
100 QAction* actionZoomOut = nullptr;
101 QAction* actionShowThumbnails = nullptr;
102 QWidget* mouseModesHolder = nullptr;
103 QPointer<QWidget> controlWidget;
104 QAction* actionPreviewSingleItems = nullptr;
105 QAction* actionPreviewGroupedItems = nullptr;
106 QAction* actionShowNumbersOnItems = nullptr;
107
108 bool lazyReclusteringRequested = false;
109
110 GeoDragDropHandler* dragDropHandler = nullptr;
111
112 QMenu* sortMenu = nullptr;
113 QAction* actionIncreaseThumbnailSize = nullptr;
114 QAction* actionDecreaseThumbnailSize = nullptr;
115 QWidget* hBoxForAdditionalControlWidgetItems = nullptr;
116
117 QActionGroup* mouseModeActionGroup = nullptr;
118 QAction* actionRemoveCurrentRegionSelection = nullptr;
119 QAction* actionSetRegionSelectionMode = nullptr;
120 QAction* actionSetPanMode = nullptr;
121 QAction* actionSetZoomIntoGroupMode = nullptr;
122 QAction* actionSetRegionSelectionFromIconMode = nullptr;
123 QAction* actionSetFilterMode = nullptr;
124 QAction* actionRemoveFilter = nullptr;
125 QAction* actionSetSelectThumbnailMode = nullptr;
126 QAction* actionLoadTracksFromAlbums = nullptr;
127 QToolButton* setPanModeButton = nullptr;
128 QToolButton* setSelectionModeButton = nullptr;
129 QToolButton* removeCurrentSelectionButton = nullptr;
130 QToolButton* setZoomModeButton = nullptr;
131 QToolButton* setRegionSelectionFromIconModeButton = nullptr;
132 QToolButton* setFilterModeButton = nullptr;
133 QToolButton* removeFilterModeButton = nullptr;
134 QToolButton* setSelectThumbnailMode = nullptr;
135 QToolButton* loadTracksFromAlbums = nullptr;
136
137 QTimer* thumbnailTimer = nullptr;
138 int thumbnailTimerCount = 0;
139 bool thumbnailsHaveBeenLoaded = false;
140
141 GeoExtraActions availableExtraActions;
142 GeoExtraActions visibleExtraActions;
143 QAction* actionStickyMode = nullptr;
144 QToolButton* buttonStickyMode = nullptr;
145
147
148 PlaceholderWidget* placeholderWidget = nullptr;
149};
150
151} // namespace Digikam
Definition geocoordinates.h:44
Definition geodragdrophandler.h:30
Definition mapbackend.h:46
Definition mapwidget_p.h:80
GeoExtraActions visibleExtraActions
Definition mapwidget_p.h:142
QPointer< QWidget > controlWidget
Definition mapwidget_p.h:103
QString currentBackendName
Definition mapwidget_p.h:87
QList< MapBackend * > loadedBackends
Definition mapwidget_p.h:85
GeoExtraActions availableExtraActions
Definition mapwidget_p.h:141
The central map view class of geolocation interface.
Definition mapwidget.h:77
Definition placeholderwidget.h:30
Definition datefolderview.cpp:34