subsurface/helpers.h
Dirk Hohndel e2271f50ad Fix time zone issues in 32bit builds
The bug is obvious, tracking it down wasn't.
A simple thinko brought us time_t instead of timestamp_t - which doesn't
matter on 64bit builds, but makes things fail in weird ways on 32bit
builds - like our Windows binaries.
In this case instead of checking today's date to detect the timezone
offset we happened to be using a date in December 1969, so no dailight
savings, so the times were off.

Fixes #655
Fixes #667
See #670

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-01 15:25:53 -07:00

45 lines
1.6 KiB
C

/*
* helpers.h
*
* header file for random helper functions of Subsurface
*
*/
#ifndef HELPERS_H
#define HELPERS_H
#include <QString>
#include "dive.h"
#include "qthelper.h"
QString get_depth_string(depth_t depth, bool showunit = false, bool showdecimal = true);
QString get_depth_string(int mm, bool showunit = false, bool showdecimal = true);
QString get_depth_unit();
QString get_weight_string(weight_t weight, bool showunit = false);
QString get_weight_unit();
QString get_cylinder_used_gas_string(cylinder_t *cyl, bool showunit = false);
QString get_temperature_string(temperature_t temp, bool showunit = false);
QString get_temp_unit();
QString get_volume_string(volume_t volume, bool showunit = false, int mbar = 0);
QString get_volume_unit();
QString get_pressure_string(pressure_t pressure, bool showunit = false);
QString get_pressure_unit();
void set_default_dive_computer(const char *vendor, const char *product);
void set_default_dive_computer_device(const char *name);
QString getSubsurfaceDataPath(QString folderToFind);
extern const QString get_dc_nickname(const char *model, uint32_t deviceid);
int gettimezoneoffset(timestamp_t when = 0);
int parseTemperatureToMkelvin(const QString &text);
QString get_dive_date_string(timestamp_t when);
QString get_short_dive_date_string(timestamp_t when);
QString get_trip_date_string(timestamp_t when, int nr);
QString uiLanguage(QLocale *callerLoc);
QLocale getLocale();
QString getDateFormat();
void selectedDivesGasUsed(QVector<QPair<QString, int> > &gasUsed);
#if defined __APPLE__
#define TITLE_OR_TEXT(_t, _m) "", _t + "\n" + _m
#else
#define TITLE_OR_TEXT(_t, _m) _t, _m
#endif
#endif // HELPERS_H