blob: 1cef9e57a49bbeb70a512c9303b0de26ee1ea7fa (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
// SPDX-License-Identifier: GPL-2.0
#ifndef IMPORT_GPS_H
#define IMPORT_GPS_H
#include "ui_importgps.h"
#include "desktop-widgets/locationinformation.h"
#include <QFile>
struct dive_coords { // This structure holds important information after parsing the GPX file:
time_t start_dive; // Start time of the current dive, obtained using current_dive (local time)
time_t end_dive; // End time of current dive (local time)
time_t start_track; // Start time of GPX track (UCT)
time_t end_track; // End time of GPX track (UCT)
double lon; // Longitude of the first trackpoint after the start of the dive
double lat; // Latitude of the first trackpoint after the start of the dive
int64_t settingsDiff_offset; // Local time difference between dive computer and GPS equipment
int64_t timeZone_offset; // UCT international time zone offset of dive site
};
class ImportGPS : public QDialog {
Q_OBJECT
public:
Ui::ImportGPS ui;
explicit ImportGPS(QWidget *parent, QString fileName, class Ui::LocationInformation *LocationUI);
struct dive_coords coords;
int getCoordsFromFile();
void updateUI();
private
slots:
void timeDiffEditChanged();
void timeZoneEditChanged();
void changeZoneForward();
void changeZoneBackwards();
void changeDiffForward();
void changeDiffBackwards();
void buttonClicked(QAbstractButton *button);
private:
QString fileName;
class Ui::LocationInformation *LocationUI;
int getSubstring(QFile *f, QString *buf, char delim);
int findXmlElement(QFile *f, QString target, QString *buf, char termc);
int pixmapSize;
};
#endif
|