mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 13:10:19 +00:00
d88da53586
We can't build with -DNO_MARBLE after some previous commit broke
globe.cpp
- centerOnCurrentDive() is still existing in the code while removed from
header in 6b81fb49d0
.
- Some referenced to MainWindow::instance()->globe() even if we are
building with no marble.
- include stdint.h
Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
77 lines
1.6 KiB
C++
77 lines
1.6 KiB
C++
#ifndef GLOBE_H
|
|
#define GLOBE_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#ifndef NO_MARBLE
|
|
#include <marble/MarbleWidget.h>
|
|
#include <marble/GeoDataCoordinates.h>
|
|
|
|
#include <QHash>
|
|
|
|
namespace Marble{
|
|
class GeoDataDocument;
|
|
}
|
|
|
|
class KMessageWidget;
|
|
using namespace Marble;
|
|
struct dive;
|
|
|
|
class GlobeGPS : public MarbleWidget {
|
|
Q_OBJECT
|
|
public:
|
|
using MarbleWidget::centerOn;
|
|
GlobeGPS(QWidget *parent = 0);
|
|
void reload();
|
|
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;
|
|
|
|
signals:
|
|
void coordinatesChanged();
|
|
|
|
public
|
|
slots:
|
|
void repopulateLabels();
|
|
void changeDiveGeoPosition(qreal lon, qreal lat, GeoDataCoordinates::Unit);
|
|
void mouseClicked(qreal lon, qreal lat, GeoDataCoordinates::Unit);
|
|
void fixZoom();
|
|
void zoomOutForNoGPS();
|
|
void prepareForGetDiveCoordinates();
|
|
void endGetDiveCoordinates();
|
|
void centerOnDiveSite(uint32_t uuid);
|
|
};
|
|
|
|
#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 centerOnDiveSite(uint32_t uuid);
|
|
void centerOnCurrentDive();
|
|
bool eventFilter(QObject *, QEvent *);
|
|
public
|
|
slots:
|
|
void prepareForGetDiveCoordinates();
|
|
void endGetDiveCoordinates();
|
|
};
|
|
|
|
#endif // NO_MARBLE
|
|
#endif // GLOBE_H
|