6 #include <QNetworkSession>
9 #include <QProgressBar>
12 //QtMobility API headers
13 #include <qmobilityglobal.h>
14 #include <qgeosatelliteinfosource.h>
15 #include <qnmeapositioninfosource.h>
16 #include <qgeopositioninfo.h>
17 #include <qnetworkconfigmanager.h>
18 #include <qnetworksession.h>
23 #include "loadTracksWindow.h"
24 #include "settingsWindow.h"
25 #include "activityinfo.h"
26 #include "downloadingStatus.h"
29 class ConnectivityHelper;
30 class SatelliteDialog;
33 // Use the QtMobility namespace
37 class WindowMap : public QMainWindow
65 QGeoPositionInfoSource *location;
69 QNetworkSession *nSession;
70 ConnectivityHelper *nConHelp;
76 QAction *startNetworkAction;
77 QAction *loadTrackAction;
78 QAction *downloadMapsAction;
79 QAction *newActivityAction;
80 QAction *simulatedActivityAction;
83 QAction *settingsAction;
86 QAction *tracksAction;
87 QAction *satelliteAction;
91 LoadTracksWindow *loadTracksWindow;
92 SettingsWindow *settingsWindow;
93 ActivityInfo *infoWindow;
97 DownloadingStatus* downloadingStatus;
99 QGeoSatelliteInfoSource *satelliteInfo;
100 SatelliteDialog *satelliteDialog;
108 QList<GpsPoint*> trackToSimulate;
112 int invalidPositions;
114 QTimer *autosaveTimer;
115 QTimer *sPossitioningTimer;
116 QTimer *simulatePossitioningTimer;
121 void closeEvent(QCloseEvent *event);
122 void showEvent(QShowEvent *);
123 void paintEvent(QPaintEvent *event);
124 void mousePressEvent(QMouseEvent *event);
125 void mouseMoveEvent(QMouseEvent *event);
126 void mouseReleaseEvent(QMouseEvent *event);
127 void resizeEvent(QResizeEvent * );
131 QToolButton *zoomInButton;
132 QToolButton *zoomOutButton;
136 enum ScreenOrientation {
137 ScreenOrientationLockPortrait,
138 ScreenOrientationLockLandscape,
139 ScreenOrientationAuto
142 explicit WindowMap(QWidget *parent = 0,Settings* settings=0, Log *log=0);
143 virtual ~WindowMap();
145 void fixZoomButtons();
146 void updateSummary();
148 void setMenuActivity();
149 void setMenuLoadTracks();
150 void setTopLeft(qreal lat, qreal lng);
151 bool drawTrack(Track* track_p, QPainter* p, QString color, bool boolLast);
152 bool drawTrack(Track* track_p, QPainter* p, QString color);
153 void drawFullTrackMaps(Track* track_p);
155 void changeMapType(MapType map);
156 void changeUpdateInterval(int millis);
161 void showSatelliteInfo();
162 void startNetworking();
163 void stopNetworking();
164 void setOrientation(ScreenOrientation orientation);
166 void startServices();
167 inline Track* getTrack(){return track;}
168 inline Track* getTrackToSniff(){return trackToSniff;}
169 inline void setTrackToSimulate(QList<GpsPoint*> toDo){trackToSimulate=toDo;}
170 inline bool hasTrackToSimulate(){(trackToSimulate.size()>0);}
171 inline void startAutosaveTimer(int milliseconds){autosaveTimer->start(milliseconds);}
172 inline void startSimulatePossitioning(int milliseconds){simulatePossitioningTimer->start(milliseconds);}
173 inline void startSimulatePossitioning(){simulatePossitioningTimer->start();}
174 inline void startSPositioningTimer(){sPossitioningTimer->start();}
175 inline void saveXml(){autosave();}
176 inline void setMode(Mode m){mode=m;}
177 inline Mode getMode(){return mode;}
178 inline void setTrackToSniff(Track* t){trackToSniff=t;}
179 inline bool simulatingGPS(){return simulateGPS;}
180 inline void setSimulateGPS(bool value){simulateGPS=value;}
181 inline int getTilesToDownload(){return tilesToDownload;}
183 void setTrack(QString filename,QString activity);
184 void setCenter(qreal lat, qreal lng);
188 void desactivatePossitionPaint();
189 void activatePossitionPaint();
190 void simulatedPossitionUpdated();
191 void updateProgress(int val);
194 void networkSessionOpened();
195 void error(QNetworkSession::SessionError error);
197 void startActivity();
198 void configureSettings();
200 void tracksActivity();
201 void newSimulation();
205 void downloadMapTrack();
206 void newActivityTrack();
215 void startPositioning();
216 void stopPositioning();
219 //void networkSessionOpened();
221 void updateMap(const QRect &r);
224 void positionUpdated(const QGeoPositionInfo &info);
229 #endif // ACTIVITYMAP_H