subsurface/desktop-widgets/mapwidget.h
Berthold Stoeger 27944a52b1 Undo: don't send signals batched by trip
Since the default view is batched by trips, signals were sent trip-wise.
This seemed like a good idea at first, but when more and more parts used
these signals, it became a burden. Therefore push the batching to the
part of the code where it is needed: the trip view.

The divesAdded and divesDeleted are not yet converted, because these
are combined with trip addition/deletion. This should also be detangled,
but not now.

Since the dive-lists were sorted in the processByTrip function, the
dive-list model now does its own sorting. This will have to be
audited.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-06-23 20:08:46 +02:00

42 lines
907 B
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef MAPWIDGET_H
#define MAPWIDGET_H
#include "core/units.h"
#include "core/subsurface-qt/DiveListNotifier.h"
#include <QQuickWidget>
#include <QList>
#undef IGNORE
class QResizeEvent;
class QQuickItem;
class MapWidgetHelper;
class MapWidget : public QQuickWidget {
Q_OBJECT
public:
MapWidget(QWidget *parent = NULL);
~MapWidget();
static MapWidget *instance();
void reload();
public slots:
void centerOnDiveSite(struct dive_site *);
void centerOnIndex(const QModelIndex& idx);
void repopulateLabels();
void selectedDivesChanged(const QList<int> &);
void coordinatesChanged(struct dive_site *ds, const location_t &);
void doneLoading(QQuickWidget::Status status);
void divesChanged(const QVector<dive *> &, DiveField field);
private:
static MapWidget *m_instance;
QQuickItem *m_rootItem;
MapWidgetHelper *m_mapHelper;
};
#endif // MAPWIDGET_H