mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
b42df1dab6
For some reasons Marble appears to sometimes not detect double clicks and call the correct callback. With this commit we manually intercept the double clocks and route them to the right function. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
66 lines
1.4 KiB
C++
66 lines
1.4 KiB
C++
#ifndef GLOBE_H
|
|
#define GLOBE_H
|
|
#ifndef NO_MARBLE
|
|
|
|
#include <marble/MarbleWidget.h>
|
|
#include <marble/GeoDataCoordinates.h>
|
|
#include <marble/GeoDataDocument.h>
|
|
|
|
#include <QHash>
|
|
|
|
class KMessageWidget;
|
|
using namespace Marble;
|
|
struct dive;
|
|
|
|
class GlobeGPS : public MarbleWidget {
|
|
Q_OBJECT
|
|
public:
|
|
using MarbleWidget::centerOn;
|
|
GlobeGPS(QWidget *parent);
|
|
void reload();
|
|
void repopulateLabels();
|
|
void centerOnCurrentDive();
|
|
bool eventFilter(QObject *, QEvent *);
|
|
|
|
protected:
|
|
/* reimp */ void resizeEvent(QResizeEvent *event);
|
|
/* reimp */ void mousePressEvent(QMouseEvent *event);
|
|
/* reimp */ void contextMenuEvent(QContextMenuEvent *);
|
|
|
|
private:
|
|
GeoDataDocument *loadedDives;
|
|
KMessageWidget *messageWidget;
|
|
QTimer *fixZoomTimer;
|
|
int currentZoomLevel;
|
|
bool needResetZoom;
|
|
bool editingDiveLocation;
|
|
bool doubleClick;
|
|
|
|
public
|
|
slots:
|
|
void changeDiveGeoPosition(qreal lon, qreal lat, GeoDataCoordinates::Unit);
|
|
void mouseClicked(qreal lon, qreal lat, GeoDataCoordinates::Unit);
|
|
void fixZoom();
|
|
void zoomOutForNoGPS();
|
|
void prepareForGetDiveCoordinates();
|
|
};
|
|
|
|
#else // NO_MARBLE
|
|
/* Dummy widget for when we don't have MarbleWidget */
|
|
#include <QLabel>
|
|
|
|
class GlobeGPS : public QLabel {
|
|
Q_OBJECT
|
|
public:
|
|
GlobeGPS(QWidget *parent);
|
|
void reload();
|
|
void repopulateLabels();
|
|
void centerOnCurrentDive();
|
|
bool eventFilter(QObject *, QEvent *);
|
|
public
|
|
slots:
|
|
void prepareForGetDiveCoordinates();
|
|
};
|
|
|
|
#endif // NO_MARBLE
|
|
#endif // GLOBE_H
|