mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	I'll connect this in the future with a few methods that will try to maintain state between dive changes. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
		
			
				
	
	
		
			73 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef GLOBE_H
 | |
| #define GLOBE_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 centerOnCurrentDive();
 | |
| };
 | |
| 
 | |
| #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
 |