mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 21:20:19 +00:00
7ffe7a8c8a
If the QML UI needs the GPS information, we need a way to get to it. I'm not convinced that having it as comma separated string is the best way to go, but that's what I need for the Google API so that's what I picked for now. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
151 lines
3.6 KiB
C++
151 lines
3.6 KiB
C++
#ifndef QTHELPER_H
|
|
#define QTHELPER_H
|
|
|
|
#include <QMultiMap>
|
|
#include <QString>
|
|
#include <stdint.h>
|
|
#include "dive.h"
|
|
#include "divelist.h"
|
|
#include <QTranslator>
|
|
#include <QDir>
|
|
|
|
class Dive {
|
|
private:
|
|
int m_number;
|
|
int m_id;
|
|
int m_rating;
|
|
QString m_date;
|
|
timestamp_t m_timestamp;
|
|
QString m_time;
|
|
QString m_location;
|
|
QString m_gps;
|
|
QString m_duration;
|
|
QString m_depth;
|
|
QString m_divemaster;
|
|
QString m_buddy;
|
|
QString m_airTemp;
|
|
QString m_waterTemp;
|
|
QString m_notes;
|
|
QString m_tags;
|
|
QString m_gas;
|
|
QString m_sac;
|
|
QStringList m_weights;
|
|
QString m_suit;
|
|
QStringList m_cylinders;
|
|
QString m_trip;
|
|
QString m_maxcns;
|
|
QString m_otu;
|
|
struct dive *dive;
|
|
void put_date_time();
|
|
void put_timestamp();
|
|
void put_location();
|
|
void put_gps();
|
|
void put_duration();
|
|
void put_depth();
|
|
void put_divemaster();
|
|
void put_buddy();
|
|
void put_temp();
|
|
void put_notes();
|
|
void put_tags();
|
|
void put_gas();
|
|
void put_sac();
|
|
void put_weight();
|
|
void put_suit();
|
|
void put_cylinder();
|
|
void put_trip();
|
|
void put_maxcns();
|
|
void put_otu();
|
|
|
|
public:
|
|
Dive(struct dive *dive)
|
|
: dive(dive)
|
|
{
|
|
m_number = dive->number;
|
|
m_id = dive->id;
|
|
m_rating = dive->rating;
|
|
put_date_time();
|
|
put_location();
|
|
put_gps();
|
|
put_duration();
|
|
put_depth();
|
|
put_divemaster();
|
|
put_buddy();
|
|
put_temp();
|
|
put_notes();
|
|
put_tags();
|
|
put_gas();
|
|
put_sac();
|
|
put_timestamp();
|
|
put_weight();
|
|
put_suit();
|
|
put_cylinder();
|
|
put_trip();
|
|
put_maxcns();
|
|
put_otu();
|
|
}
|
|
Dive();
|
|
~Dive();
|
|
int number() const;
|
|
int id() const;
|
|
int rating() const;
|
|
QString date() const;
|
|
timestamp_t timestamp() const;
|
|
QString time() const;
|
|
QString location() const;
|
|
QString gps() const;
|
|
QString duration() const;
|
|
QString depth() const;
|
|
QString divemaster() const;
|
|
QString buddy() const;
|
|
QString airTemp() const;
|
|
QString waterTemp() const;
|
|
QString notes() const;
|
|
QString tags() const;
|
|
QString gas() const;
|
|
QString sac() const;
|
|
QString weights() const;
|
|
QString weight(int idx) const;
|
|
QString suit() const;
|
|
QString cylinders() const;
|
|
QString cylinder(int idx) const;
|
|
QString trip() const;
|
|
QString maxcns() const;
|
|
QString otu() const;
|
|
};
|
|
|
|
// global pointers for our translation
|
|
extern QTranslator *qtTranslator, *ssrfTranslator;
|
|
|
|
QString weight_string(int weight_in_grams);
|
|
QString distance_string(int distanceInMeters);
|
|
bool gpsHasChanged(struct dive *dive, struct dive *master, const QString &gps_text, bool *parsed_out = 0);
|
|
extern "C" const char *printGPSCoords(int lat, int lon);
|
|
QList<int> getDivesInTrip(dive_trip_t *trip);
|
|
QString get_gas_string(struct gasmix gas);
|
|
QString get_divepoint_gas_string(const divedatapoint& dp);
|
|
void read_hashes();
|
|
void write_hashes();
|
|
void updateHash(struct picture *picture);
|
|
QByteArray hashFile(const QString filename);
|
|
void learnImages(const QDir dir, int max_recursions, bool recursed);
|
|
void add_hash(const QString filename, QByteArray hash);
|
|
QString localFilePath(const QString originalFilename);
|
|
QString fileFromHash(char *hash);
|
|
void learnHash(struct picture *picture, QByteArray hash);
|
|
extern "C" void cache_picture(struct picture *picture);
|
|
weight_t string_to_weight(const char *str);
|
|
depth_t string_to_depth(const char *str);
|
|
pressure_t string_to_pressure(const char *str);
|
|
volume_t string_to_volume(const char *str, pressure_t workp);
|
|
fraction_t string_to_fraction(const char *str);
|
|
int getCloudURL(QString &filename);
|
|
void loadPreferences();
|
|
bool parseGpsText(const QString &gps_text, double *latitude, double *longitude);
|
|
QByteArray getCurrentAppState();
|
|
void setCurrentAppState(QByteArray state);
|
|
extern "C" bool in_planner();
|
|
extern "C" void subsurface_mkdir(const char *dir);
|
|
void init_proxy();
|
|
QString getUUID();
|
|
|
|
#endif // QTHELPER_H
|