mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 21:20:19 +00:00
64697375cf
The selectedDivesChanged() signal from MapWidgetHelper is connected to a local slot. One problem here is that this crashes with the calls to DiveListView(). The dive list widget triggers events that call reload() on the MapWidget (same happens for Marble's Globe class) and that crashes somewhere in the QML shared library. TODO: investigate. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
44 lines
818 B
C++
44 lines
818 B
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef MAPWIDGET_H
|
|
#define MAPWIDGET_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();
|
|
|
|
public slots:
|
|
void centerOnDiveSite(struct dive_site *);
|
|
void centerOnIndex(const QModelIndex& idx);
|
|
void endGetDiveCoordinates();
|
|
void repopulateLabels();
|
|
void prepareForGetDiveCoordinates();
|
|
void selectedDivesChanged(QList<int>);
|
|
|
|
private:
|
|
static MapWidget *m_instance;
|
|
QQuickItem *m_rootItem;
|
|
MapWidgetHelper *m_mapHelper;
|
|
|
|
};
|
|
|
|
#endif // MAPWIDGET_H
|