digiKam
Loading...
Searching...
No Matches
gpscorrelatorwidget.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 : 2010-03-26
7 * Description : A widget to configure the GPS correlation
8 *
9 * SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2010-2014 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// Qt includes
20
21#include <QUrl>
22#include <QWidget>
23#include <QItemSelectionModel>
24
25// local includes
26
27#include "track_correlator.h"
28#include "digikam_export.h"
29
30class KConfigGroup;
31
32namespace Digikam
33{
34
35class GPSItemModel;
36class GPSUndoCommand;
37
38class DIGIKAM_EXPORT GPSCorrelatorWidget : public QWidget
39{
40 Q_OBJECT
41
42public:
43
44 explicit GPSCorrelatorWidget(QWidget* const parent,
45 GPSItemModel* const imageModel,
46 QItemSelectionModel* const selectionModel,
47 TrackManager* const trackManager);
48 ~GPSCorrelatorWidget() override;
49
50 void setUIEnabledExternal(const bool state);
51 void saveSettingsToGroup(KConfigGroup* const group);
52 void readSettingsFromGroup(const KConfigGroup* const group);
53 QList<GeoCoordinates::List> getTrackCoordinates() const;
54 bool getShowTracksOnMap() const;
55
56protected:
57
58 void setUIEnabledInternal(const bool state);
59
60Q_SIGNALS:
61
62 void signalSetUIEnabled(const bool enabledState);
63 void signalSetUIEnabled(const bool enabledState, QObject* const cancelObject, const QString& cancelSlot);
64 void signalProgressSetup(const int maxProgress, const QString& progressText);
65 void signalProgressChanged(const int currentProgress);
69
70public Q_SLOTS:
71
72 void slotCancelCorrelation();
73
74private Q_SLOTS:
75
76 void updateUIState();
77 void slotLoadTrackFiles();
78 void slotAllTrackFilesReady();
79 void slotCorrelate();
80 void slotItemsCorrelated(const Digikam::TrackCorrelator::Correlation::List& correlatedItems);
81 void slotAllItemsCorrelated();
82 void slotCorrelationCanceled();
83 void slotShowTracksStateChanged(int state);
84 void slotCurrentChanged(const QModelIndex& current, const QModelIndex& previous);
85
86private:
87
88 class Private;
89 const QScopedPointer<Private> d;
90};
91
92} // namespace Digikam
Definition gpscorrelatorwidget.h:39
void signalSetUIEnabled(const bool enabledState, QObject *const cancelObject, const QString &cancelSlot)
void signalSetUIEnabled(const bool enabledState)
void signalProgressSetup(const int maxProgress, const QString &progressText)
void signalTrackListChanged(const Digikam::GeoCoordinates &coordinate)
void signalUndoCommand(GPSUndoCommand *undoCommand)
void signalProgressChanged(const int currentProgress)
Definition gpsitemmodel.h:33
Definition gpsundocommand.h:31
Definition geocoordinates.h:44
QList< Correlation > List
Definition track_correlator.h:49
Definition trackmanager.h:36
Definition datefolderview.cpp:34