mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-01 01:33:23 +00:00
dd44dc4ab8
Instead of reading out the global object "displayed_dive_site", pass the dive site to be edited in arguments to prepareForGetDiveCoordinates() and enter edit mode. Simplify the code in LocationInformationWidget by not using signals to call the prepareForGetDiveCoordinates() function. While doing this, collect common code in accept() and reject() in the already existing resetState() function. This is another entry in a series of commits that makes data-flow more clear by removing access to the global "displayed_dive_site" object. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef MAPWIDGET_H
|
|
#define MAPWIDGET_H
|
|
|
|
#include "core/units.h"
|
|
#include <QQuickWidget>
|
|
#include <QList>
|
|
|
|
#undef IGNORE
|
|
|
|
class QResizeEvent;
|
|
class QQuickItem;
|
|
class MapWidgetHelper;
|
|
struct dive_site;
|
|
|
|
class MapWidget : public QQuickWidget {
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MapWidget(QWidget *parent = NULL);
|
|
~MapWidget();
|
|
|
|
static MapWidget *instance();
|
|
void reload();
|
|
|
|
signals:
|
|
void coordinatesChanged(degrees_t latitude, degrees_t longitude);
|
|
|
|
public slots:
|
|
void centerOnSelectedDiveSite();
|
|
void centerOnDiveSite(struct dive_site *);
|
|
void centerOnIndex(const QModelIndex& idx);
|
|
void endGetDiveCoordinates();
|
|
void repopulateLabels();
|
|
void prepareForGetDiveCoordinates(uint32_t uuid);
|
|
void selectedDivesChanged(QList<int>);
|
|
void coordinatesChangedLocal(degrees_t latitude, degrees_t longitude);
|
|
void doneLoading(QQuickWidget::Status status);
|
|
void updateDiveSiteCoordinates(uint32_t uuid, degrees_t latitude, degrees_t longitude);
|
|
|
|
private:
|
|
static MapWidget *m_instance;
|
|
QQuickItem *m_rootItem;
|
|
MapWidgetHelper *m_mapHelper;
|
|
};
|
|
|
|
#endif // MAPWIDGET_H
|