mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-17 19:36:15 +00:00
The setEditMode(bool) function behaves very differently, when entering and exiting edit mode. Therefore, split it in two versions. This will allow to pass arguments that make sense only when entering the edit mode. Since setEditMode() doesn't exist anymore, turn the editMode Q_PROPERTY line to the MEMBER version. Accordingly, remove the reader function. If QML wants to enter edit mode, it should invoke the appropriate function and not simply set the flag. 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();
|
|
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
|