subsurface/core/subsurface-qt/SettingsObjectWrapper.h
Robert C. Helling 920aa613c9 Add a preference to turn on ICD warnings
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2018-02-10 10:26:34 +01:00

737 lines
32 KiB
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef SETTINGSOBJECTWRAPPER_H
#define SETTINGSOBJECTWRAPPER_H
#include <QObject>
#include <QDate>
#include "../pref.h"
#include "../prefs-macros.h"
/* Wrapper class for the Settings. This will allow
* seamlessy integration of the settings with the QML
* and QWidget frontends. This class will be huge, since
* I need tons of properties, one for each option. */
class DiveComputerSettings : public QObject {
Q_OBJECT
Q_PROPERTY(QString vendor READ dc_vendor WRITE setVendor NOTIFY vendorChanged)
Q_PROPERTY(QString product READ dc_product WRITE setProduct NOTIFY productChanged)
Q_PROPERTY(QString device READ dc_device WRITE setDevice NOTIFY deviceChanged)
Q_PROPERTY(QString device_name READ dc_device_name WRITE setDeviceName NOTIFY deviceNameChanged)
Q_PROPERTY(int download_mode READ downloadMode WRITE setDownloadMode NOTIFY downloadModeChanged)
public:
DiveComputerSettings(QObject *parent);
QString dc_vendor() const;
QString dc_product() const;
QString dc_device() const;
QString dc_device_name() const;
int downloadMode() const;
public slots:
void setVendor(const QString& vendor);
void setProduct(const QString& product);
void setDevice(const QString& device);
void setDeviceName(const QString& device_name);
void setDownloadMode(int mode);
signals:
void vendorChanged(const QString& vendor);
void productChanged(const QString& product);
void deviceChanged(const QString& device);
void deviceNameChanged(const QString& device_name);
void downloadModeChanged(int mode);
private:
const QString group = QStringLiteral("DiveComputer");
};
class UpdateManagerSettings : public QObject {
Q_OBJECT
Q_PROPERTY(bool dont_check_for_updates READ dontCheckForUpdates WRITE setDontCheckForUpdates NOTIFY dontCheckForUpdatesChanged)
Q_PROPERTY(QString last_version_used READ lastVersionUsed WRITE setLastVersionUsed NOTIFY lastVersionUsedChanged)
Q_PROPERTY(QDate next_check READ nextCheck WRITE nextCheckChanged)
public:
UpdateManagerSettings(QObject *parent);
bool dontCheckForUpdates() const;
bool dontCheckExists() const;
QString lastVersionUsed() const;
QDate nextCheck() const;
public slots:
void setDontCheckForUpdates(bool value);
void setLastVersionUsed(const QString& value);
void setNextCheck(const QDate& date);
signals:
void dontCheckForUpdatesChanged(bool value);
void lastVersionUsedChanged(const QString& value);
void nextCheckChanged(const QDate& date);
private:
const QString group = QStringLiteral("UpdateManager");
};
/* Control the state of the Partial Pressure Graphs preferences */
class PartialPressureGasSettings : public QObject {
Q_OBJECT
Q_PROPERTY(bool show_po2 READ showPo2 WRITE setShowPo2 NOTIFY showPo2Changed)
Q_PROPERTY(bool show_pn2 READ showPn2 WRITE setShowPn2 NOTIFY showPn2Changed)
Q_PROPERTY(bool show_phe READ showPhe WRITE setShowPhe NOTIFY showPheChanged)
Q_PROPERTY(double po2_threshold_min READ po2ThresholdMin WRITE setPo2ThresholdMin NOTIFY po2ThresholdMinChanged)
Q_PROPERTY(double po2_threshold_max READ po2ThresholdMax WRITE setPo2ThresholdMax NOTIFY po2ThresholdMaxChanged)
Q_PROPERTY(double pn2_threshold READ pn2Threshold WRITE setPn2Threshold NOTIFY pn2ThresholdChanged)
Q_PROPERTY(double phe_threshold READ pheThreshold WRITE setPheThreshold NOTIFY pheThresholdChanged)
public:
PartialPressureGasSettings(QObject *parent);
bool showPo2() const;
bool showPn2() const;
bool showPhe() const;
double po2ThresholdMin() const;
double po2ThresholdMax() const;
double pn2Threshold() const;
double pheThreshold() const;
public slots:
void setShowPo2(bool value);
void setShowPn2(bool value);
void setShowPhe(bool value);
void setPo2ThresholdMin(double value);
void setPo2ThresholdMax(double value);
void setPn2Threshold(double value);
void setPheThreshold(double value);
signals:
void showPo2Changed(bool value);
void showPn2Changed(bool value);
void showPheChanged(bool value);
void po2ThresholdMaxChanged(double value);
void po2ThresholdMinChanged(double value);
void pn2ThresholdChanged(double value);
void pheThresholdChanged(double value);
private:
const QString group = QStringLiteral("TecDetails");
};
class TechnicalDetailsSettings : public QObject {
Q_OBJECT
Q_PROPERTY(double modpO2 READ modpO2 WRITE setModpO2 NOTIFY modpO2Changed)
Q_PROPERTY(bool ead READ ead WRITE setEad NOTIFY eadChanged)
Q_PROPERTY(bool mod READ mod WRITE setMod NOTIFY modChanged)
Q_PROPERTY(bool dcceiling READ dcceiling WRITE setDCceiling NOTIFY dcceilingChanged)
Q_PROPERTY(bool redceiling READ redceiling WRITE setRedceiling NOTIFY redceilingChanged)
Q_PROPERTY(bool calcceiling READ calcceiling WRITE setCalcceiling NOTIFY calcceilingChanged)
Q_PROPERTY(bool calcceiling3m READ calcceiling3m WRITE setCalcceiling3m NOTIFY calcceiling3mChanged)
Q_PROPERTY(bool calcalltissues READ calcalltissues WRITE setCalcalltissues NOTIFY calcalltissuesChanged)
Q_PROPERTY(bool calcndltts READ calcndltts WRITE setCalcndltts NOTIFY calcndlttsChanged)
Q_PROPERTY(bool buehlmann READ buehlmann WRITE setBuehlmann NOTIFY buehlmannChanged)
Q_PROPERTY(int gflow READ gflow WRITE setGflow NOTIFY gflowChanged)
Q_PROPERTY(int gfhigh READ gfhigh WRITE setGfhigh NOTIFY gfhighChanged)
Q_PROPERTY(short vpmb_conservatism READ vpmbConservatism WRITE setVpmbConservatism NOTIFY vpmbConservatismChanged)
Q_PROPERTY(bool hrgraph READ hrgraph WRITE setHRgraph NOTIFY hrgraphChanged)
Q_PROPERTY(bool tankbar READ tankBar WRITE setTankBar NOTIFY tankBarChanged)
Q_PROPERTY(bool percentagegraph READ percentageGraph WRITE setPercentageGraph NOTIFY percentageGraphChanged)
Q_PROPERTY(bool rulergraph READ rulerGraph WRITE setRulerGraph NOTIFY rulerGraphChanged)
Q_PROPERTY(bool show_ccr_setpoint READ showCCRSetpoint WRITE setShowCCRSetpoint NOTIFY showCCRSetpointChanged)
Q_PROPERTY(bool show_ccr_sensors READ showCCRSensors WRITE setShowCCRSensors NOTIFY showCCRSensorsChanged)
Q_PROPERTY(bool zoomed_plot READ zoomedPlot WRITE setZoomedPlot NOTIFY zoomedPlotChanged)
Q_PROPERTY(bool show_sac READ showSac WRITE setShowSac NOTIFY showSacChanged)
Q_PROPERTY(bool display_unused_tanks READ displayUnusedTanks WRITE setDisplayUnusedTanks NOTIFY displayUnusedTanksChanged)
Q_PROPERTY(bool show_average_depth READ showAverageDepth WRITE setShowAverageDepth NOTIFY showAverageDepthChanged)
Q_PROPERTY(bool show_icd READ showIcd WRITE setShowIcd NOTIFY showIcdChanged)
Q_PROPERTY(bool show_pictures_in_profile READ showPicturesInProfile WRITE setShowPicturesInProfile NOTIFY showPicturesInProfileChanged)
Q_PROPERTY(deco_mode deco READ deco WRITE setDecoMode NOTIFY decoModeChanged)
public:
TechnicalDetailsSettings(QObject *parent);
double modpO2() const;
bool ead() const;
bool mod() const;
bool dcceiling() const;
bool redceiling() const;
bool calcceiling() const;
bool calcceiling3m() const;
bool calcalltissues() const;
bool calcndltts() const;
bool buehlmann() const;
int gflow() const;
int gfhigh() const;
short vpmbConservatism() const;
bool hrgraph() const;
bool tankBar() const;
bool percentageGraph() const;
bool rulerGraph() const;
bool showCCRSetpoint() const;
bool showCCRSensors() const;
bool zoomedPlot() const;
bool showSac() const;
bool displayUnusedTanks() const;
bool showAverageDepth() const;
bool showIcd() const;
bool showPicturesInProfile() const;
deco_mode deco() const;
public slots:
void setMod(bool value);
void setModpO2(double value);
void setEad(bool value);
void setDCceiling(bool value);
void setRedceiling(bool value);
void setCalcceiling(bool value);
void setCalcceiling3m(bool value);
void setCalcalltissues(bool value);
void setCalcndltts(bool value);
void setBuehlmann(bool value);
void setGflow(int value);
void setGfhigh(int value);
void setVpmbConservatism(short);
void setHRgraph(bool value);
void setTankBar(bool value);
void setPercentageGraph(bool value);
void setRulerGraph(bool value);
void setShowCCRSetpoint(bool value);
void setShowCCRSensors(bool value);
void setZoomedPlot(bool value);
void setShowSac(bool value);
void setDisplayUnusedTanks(bool value);
void setShowAverageDepth(bool value);
void setShowIcd(bool value);
void setShowPicturesInProfile(bool value);
void setDecoMode(deco_mode d);
signals:
void modpO2Changed(double value);
void eadChanged(bool value);
void modChanged(bool value);
void dcceilingChanged(bool value);
void redceilingChanged(bool value);
void calcceilingChanged(bool value);
void calcceiling3mChanged(bool value);
void calcalltissuesChanged(bool value);
void calcndlttsChanged(bool value);
void buehlmannChanged(bool value);
void gflowChanged(int value);
void gfhighChanged(int value);
void vpmbConservatismChanged(short value);
void hrgraphChanged(bool value);
void tankBarChanged(bool value);
void percentageGraphChanged(bool value);
void rulerGraphChanged(bool value);
void showCCRSetpointChanged(bool value);
void showCCRSensorsChanged(bool value);
void zoomedPlotChanged(bool value);
void showSacChanged(bool value);
void displayUnusedTanksChanged(bool value);
void showAverageDepthChanged(bool value);
void showIcdChanged(bool value);
void showPicturesInProfileChanged(bool value);
void decoModeChanged(deco_mode m);
private:
const QString group = QStringLiteral("TecDetails");
};
/* Control the state of the Facebook preferences */
class FacebookSettings : public QObject {
Q_OBJECT
Q_PROPERTY(QString accessToken READ accessToken WRITE setAccessToken NOTIFY accessTokenChanged)
Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged)
Q_PROPERTY(QString albumId READ albumId WRITE setAlbumId NOTIFY albumIdChanged)
public:
FacebookSettings(QObject *parent);
QString accessToken() const;
QString userId() const;
QString albumId() const;
public slots:
void setAccessToken (const QString& value);
void setUserId(const QString& value);
void setAlbumId(const QString& value);
signals:
void accessTokenChanged(const QString& value);
void userIdChanged(const QString& value);
void albumIdChanged(const QString& value);
private:
QString group;
QString subgroup;
};
/* Control the state of the Geocoding preferences */
class GeocodingPreferences : public QObject {
Q_OBJECT
Q_PROPERTY(taxonomy_category first_category READ firstTaxonomyCategory WRITE setFirstTaxonomyCategory NOTIFY firstTaxonomyCategoryChanged)
Q_PROPERTY(taxonomy_category second_category READ secondTaxonomyCategory WRITE setSecondTaxonomyCategory NOTIFY secondTaxonomyCategoryChanged)
Q_PROPERTY(taxonomy_category third_category READ thirdTaxonomyCategory WRITE setThirdTaxonomyCategory NOTIFY thirdTaxonomyCategoryChanged)
public:
GeocodingPreferences(QObject *parent);
taxonomy_category firstTaxonomyCategory() const;
taxonomy_category secondTaxonomyCategory() const;
taxonomy_category thirdTaxonomyCategory() const;
public slots:
void setFirstTaxonomyCategory(taxonomy_category value);
void setSecondTaxonomyCategory(taxonomy_category value);
void setThirdTaxonomyCategory(taxonomy_category value);
signals:
void firstTaxonomyCategoryChanged(taxonomy_category value);
void secondTaxonomyCategoryChanged(taxonomy_category value);
void thirdTaxonomyCategoryChanged(taxonomy_category value);
private:
const QString group = QStringLiteral("geocoding");
};
class ProxySettings : public QObject {
Q_OBJECT
Q_PROPERTY(int type READ type WRITE setType NOTIFY typeChanged)
Q_PROPERTY(QString host READ host WRITE setHost NOTIFY hostChanged)
Q_PROPERTY(int port READ port WRITE setPort NOTIFY portChanged)
Q_PROPERTY(bool auth READ auth WRITE setAuth NOTIFY authChanged)
Q_PROPERTY(QString user READ user WRITE setUser NOTIFY userChanged)
Q_PROPERTY(QString pass READ pass WRITE setPass NOTIFY passChanged)
public:
ProxySettings(QObject *parent);
int type() const;
QString host() const;
int port() const;
bool auth() const;
QString user() const;
QString pass() const;
public slots:
void setType(int value);
void setHost(const QString& value);
void setPort(int value);
void setAuth(bool value);
void setUser(const QString& value);
void setPass(const QString& value);
signals:
void typeChanged(int value);
void hostChanged(const QString& value);
void portChanged(int value);
void authChanged(bool value);
void userChanged(const QString& value);
void passChanged(const QString& value);
private:
const QString group = QStringLiteral("Network");
};
class CloudStorageSettings : public QObject {
Q_OBJECT
Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged)
Q_PROPERTY(QString newpassword READ newPassword WRITE setNewPassword NOTIFY newPasswordChanged)
Q_PROPERTY(QString email READ email WRITE setEmail NOTIFY emailChanged)
Q_PROPERTY(QString email_encoded READ emailEncoded WRITE setEmailEncoded NOTIFY emailEncodedChanged)
Q_PROPERTY(QString userid READ userId WRITE setUserId NOTIFY userIdChanged)
Q_PROPERTY(QString base_url READ baseUrl WRITE setBaseUrl NOTIFY baseUrlChanged)
Q_PROPERTY(QString git_url READ gitUrl WRITE setGitUrl NOTIFY gitUrlChanged)
Q_PROPERTY(bool save_userid_local READ saveUserIdLocal WRITE setSaveUserIdLocal NOTIFY saveUserIdLocalChanged)
Q_PROPERTY(bool git_local_only READ gitLocalOnly WRITE setGitLocalOnly NOTIFY gitLocalOnlyChanged)
Q_PROPERTY(bool save_password_local READ savePasswordLocal WRITE setSavePasswordLocal NOTIFY savePasswordLocalChanged)
Q_PROPERTY(short verification_status READ verificationStatus WRITE setVerificationStatus NOTIFY verificationStatusChanged)
public:
CloudStorageSettings(QObject *parent);
QString password() const;
QString newPassword() const;
QString email() const;
QString emailEncoded() const;
QString userId() const;
QString baseUrl() const;
QString gitUrl() const;
bool savePasswordLocal() const;
short verificationStatus() const;
bool gitLocalOnly() const;
bool saveUserIdLocal() const;
public slots:
void setPassword(const QString& value);
void setNewPassword(const QString& value);
void setEmail(const QString& value);
void setEmailEncoded(const QString& value);
void setUserId(const QString& value);
void setBaseUrl(const QString& value);
void setGitUrl(const QString& value);
void setSavePasswordLocal(bool value);
void setVerificationStatus(short value);
void setGitLocalOnly(bool value);
void setSaveUserIdLocal(bool value);
signals:
void passwordChanged(const QString& value);
void newPasswordChanged(const QString& value);
void emailChanged(const QString& value);
void emailEncodedChanged(const QString& value);
void userIdChanged(const QString& value);
void baseUrlChanged(const QString& value);
void gitUrlChanged(const QString& value);
void savePasswordLocalChanged(bool value);
void verificationStatusChanged(short value);
void gitLocalOnlyChanged(bool value);
void saveUserIdLocalChanged(bool value);
private:
const QString group = QStringLiteral("CloudStorage");
};
class DivePlannerSettings : public QObject {
Q_OBJECT
Q_PROPERTY(bool last_stop READ lastStop WRITE setLastStop NOTIFY lastStopChanged)
Q_PROPERTY(bool verbatim_plan READ verbatimPlan WRITE setVerbatimPlan NOTIFY verbatimPlanChanged)
Q_PROPERTY(bool display_runtime READ displayRuntime WRITE setDisplayRuntime NOTIFY displayRuntimeChanged)
Q_PROPERTY(bool display_duration READ displayDuration WRITE setDisplayDuration NOTIFY displayDurationChanged)
Q_PROPERTY(bool display_transitions READ displayTransitions WRITE setDisplayTransitions NOTIFY displayTransitionsChanged)
Q_PROPERTY(bool display_variations READ displayVariations WRITE setDisplayVariations NOTIFY displayVariationsChanged)
Q_PROPERTY(bool doo2breaks READ doo2breaks WRITE setDoo2breaks NOTIFY doo2breaksChanged)
Q_PROPERTY(bool drop_stone_mode READ dropStoneMode WRITE setDropStoneMode NOTIFY dropStoneModeChanged)
Q_PROPERTY(bool safetystop READ safetyStop WRITE setSafetyStop NOTIFY safetyStopChanged)
Q_PROPERTY(bool switch_at_req_stop READ switchAtRequiredStop WRITE setSwitchAtRequiredStop NOTIFY switchAtRequiredStopChanged)
Q_PROPERTY(int ascrate75 READ ascrate75 WRITE setAscrate75 NOTIFY ascrate75Changed)
Q_PROPERTY(int ascrate50 READ ascrate50 WRITE setAscrate50 NOTIFY ascrate50Changed)
Q_PROPERTY(int ascratestops READ ascratestops WRITE setAscratestops NOTIFY ascratestopsChanged)
Q_PROPERTY(int ascratelast6m READ ascratelast6m WRITE setAscratelast6m NOTIFY ascratelast6mChanged)
Q_PROPERTY(int descrate READ descrate WRITE setDescrate NOTIFY descrateChanged)
Q_PROPERTY(int sacfactor READ sacfactor WRITE setSacFactor NOTIFY sacFactorChanged)
Q_PROPERTY(int problemsolvingtime READ problemsolvingtime WRITE setProblemSolvingTime NOTIFY problemSolvingTimeChanged)
Q_PROPERTY(int bottompo2 READ bottompo2 WRITE setBottompo2 NOTIFY bottompo2Changed)
Q_PROPERTY(int decopo2 READ decopo2 WRITE setDecopo2 NOTIFY decopo2Changed)
Q_PROPERTY(int bestmixend READ bestmixend WRITE setBestmixend NOTIFY bestmixendChanged)
Q_PROPERTY(int reserve_gas READ reserveGas WRITE setReserveGas NOTIFY reserveGasChanged)
Q_PROPERTY(int min_switch_duration READ minSwitchDuration WRITE setMinSwitchDuration NOTIFY minSwitchDurationChanged)
Q_PROPERTY(int bottomsac READ bottomSac WRITE setBottomSac NOTIFY bottomSacChanged)
Q_PROPERTY(int decosac READ decoSac WRITE setDecoSac NOTIFY decoSacChanged)
Q_PROPERTY(deco_mode decoMode READ decoMode WRITE setDecoMode NOTIFY decoModeChanged)
public:
DivePlannerSettings(QObject *parent = 0);
bool lastStop() const;
bool verbatimPlan() const;
bool displayRuntime() const;
bool displayDuration() const;
bool displayTransitions() const;
bool displayVariations() const;
bool doo2breaks() const;
bool dropStoneMode() const;
bool safetyStop() const;
bool switchAtRequiredStop() const;
int ascrate75() const;
int ascrate50() const;
int ascratestops() const;
int ascratelast6m() const;
int descrate() const;
int sacfactor() const;
int problemsolvingtime() const;
int bottompo2() const;
int decopo2() const;
int bestmixend() const;
int reserveGas() const;
int minSwitchDuration() const;
int bottomSac() const;
int decoSac() const;
deco_mode decoMode() const;
public slots:
void setLastStop(bool value);
void setVerbatimPlan(bool value);
void setDisplayRuntime(bool value);
void setDisplayDuration(bool value);
void setDisplayTransitions(bool value);
void setDisplayVariations(bool value);
void setDoo2breaks(bool value);
void setDropStoneMode(bool value);
void setSafetyStop(bool value);
void setSwitchAtRequiredStop(bool value);
void setAscrate75(int value);
void setAscrate50(int value);
void setAscratestops(int value);
void setAscratelast6m(int value);
void setDescrate(int value);
void setSacFactor(int value);
void setProblemSolvingTime(int value);
void setBottompo2(int value);
void setDecopo2(int value);
void setBestmixend(int value);
void setReserveGas(int value);
void setMinSwitchDuration(int value);
void setBottomSac(int value);
void setDecoSac(int value);
void setDecoMode(deco_mode value);
signals:
void lastStopChanged(bool value);
void verbatimPlanChanged(bool value);
void displayRuntimeChanged(bool value);
void displayDurationChanged(bool value);
void displayTransitionsChanged(bool value);
void displayVariationsChanged(bool value);
void doo2breaksChanged(bool value);
void dropStoneModeChanged(bool value);
void safetyStopChanged(bool value);
void switchAtRequiredStopChanged(bool value);
void ascrate75Changed(int value);
void ascrate50Changed(int value);
void ascratestopsChanged(int value);
void ascratelast6mChanged(int value);
void descrateChanged(int value);
void sacFactorChanged(int value);
void problemSolvingTimeChanged(int value);
void bottompo2Changed(int value);
void decopo2Changed(int value);
void bestmixendChanged(int value);
void reserveGasChanged(int value);
void minSwitchDurationChanged(int value);
void bottomSacChanged(int value);
void decoSacChanged(int value);
void decoModeChanged(deco_mode value);
private:
const QString group = QStringLiteral("Planner");
};
class UnitsSettings : public QObject {
Q_OBJECT
Q_PROPERTY(int length READ length WRITE setLength NOTIFY lengthChanged)
Q_PROPERTY(int pressure READ pressure WRITE setPressure NOTIFY pressureChanged)
Q_PROPERTY(int volume READ volume WRITE setVolume NOTIFY volumeChanged)
Q_PROPERTY(int temperature READ temperature WRITE setTemperature NOTIFY temperatureChanged)
Q_PROPERTY(int weight READ weight WRITE setWeight NOTIFY weightChanged)
Q_PROPERTY(QString unit_system READ unitSystem WRITE setUnitSystem NOTIFY unitSystemChanged)
Q_PROPERTY(bool coordinates_traditional READ coordinatesTraditional WRITE setCoordinatesTraditional NOTIFY coordinatesTraditionalChanged)
Q_PROPERTY(int vertical_speed_time READ verticalSpeedTime WRITE setVerticalSpeedTime NOTIFY verticalSpeedTimeChanged)
Q_PROPERTY(int duration_units READ durationUnits WRITE setDurationUnits NOTIFY durationUnitChanged)
Q_PROPERTY(bool show_units_table READ showUnitsTable WRITE setShowUnitsTable NOTIFY showUnitsTableChanged)
public:
UnitsSettings(QObject *parent = 0);
int length() const;
int pressure() const;
int volume() const;
int temperature() const;
int weight() const;
int verticalSpeedTime() const;
int durationUnits() const;
bool showUnitsTable() const;
QString unitSystem() const;
bool coordinatesTraditional() const;
public slots:
void setLength(int value);
void setPressure(int value);
void setVolume(int value);
void setTemperature(int value);
void setWeight(int value);
void setVerticalSpeedTime(int value);
void setDurationUnits(int value);
void setShowUnitsTable(bool value);
void setUnitSystem(const QString& value);
void setCoordinatesTraditional(bool value);
signals:
void lengthChanged(int value);
void pressureChanged(int value);
void volumeChanged(int value);
void temperatureChanged(int value);
void weightChanged(int value);
void verticalSpeedTimeChanged(int value);
void unitSystemChanged(const QString& value);
void coordinatesTraditionalChanged(bool value);
void durationUnitChanged(int value);
void showUnitsTableChanged(bool value);
private:
const QString group = QStringLiteral("Units");
};
class GeneralSettingsObjectWrapper : public QObject {
Q_OBJECT
Q_PROPERTY(QString default_filename READ defaultFilename WRITE setDefaultFilename NOTIFY defaultFilenameChanged)
Q_PROPERTY(QString default_cylinder READ defaultCylinder WRITE setDefaultCylinder NOTIFY defaultCylinderChanged)
Q_PROPERTY(short default_file_behavior READ defaultFileBehavior WRITE setDefaultFileBehavior NOTIFY defaultFileBehaviorChanged)
Q_PROPERTY(bool use_default_file READ useDefaultFile WRITE setUseDefaultFile NOTIFY useDefaultFileChanged)
Q_PROPERTY(int defaultsetpoint READ defaultSetPoint WRITE setDefaultSetPoint NOTIFY defaultSetPointChanged)
Q_PROPERTY(int o2consumption READ o2Consumption WRITE setO2Consumption NOTIFY o2ConsumptionChanged)
Q_PROPERTY(int pscr_ratio READ pscrRatio WRITE setPscrRatio NOTIFY pscrRatioChanged)
public:
GeneralSettingsObjectWrapper(QObject *parent);
QString defaultFilename() const;
QString defaultCylinder() const;
short defaultFileBehavior() const;
bool useDefaultFile() const;
int defaultSetPoint() const;
int o2Consumption() const;
int pscrRatio() const;
public slots:
void setDefaultFilename (const QString& value);
void setDefaultCylinder (const QString& value);
void setDefaultFileBehavior (short value);
void setUseDefaultFile (bool value);
void setDefaultSetPoint (int value);
void setO2Consumption (int value);
void setPscrRatio (int value);
signals:
void defaultFilenameChanged(const QString& value);
void defaultCylinderChanged(const QString& value);
void defaultFileBehaviorChanged(short value);
void useDefaultFileChanged(bool value);
void defaultSetPointChanged(int value);
void o2ConsumptionChanged(int value);
void pscrRatioChanged(int value);
private:
const QString group = QStringLiteral("GeneralSettings");
};
class DisplaySettingsObjectWrapper : public QObject {
Q_OBJECT
Q_PROPERTY(QString divelist_font READ divelistFont WRITE setDivelistFont NOTIFY divelistFontChanged)
Q_PROPERTY(double font_size READ fontSize WRITE setFontSize NOTIFY fontSizeChanged)
Q_PROPERTY(bool display_invalid_dives READ displayInvalidDives WRITE setDisplayInvalidDives NOTIFY displayInvalidDivesChanged)
public:
DisplaySettingsObjectWrapper(QObject *parent);
QString divelistFont() const;
double fontSize() const;
bool displayInvalidDives() const;
public slots:
void setDivelistFont(const QString& value);
void setFontSize(double value);
void setDisplayInvalidDives(bool value);
signals:
void divelistFontChanged(const QString& value);
void fontSizeChanged(double value);
void displayInvalidDivesChanged(bool value);
private:
const QString group = QStringLiteral("Display");
};
class LanguageSettingsObjectWrapper : public QObject {
Q_OBJECT
Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged)
Q_PROPERTY(QString time_format READ timeFormat WRITE setTimeFormat NOTIFY timeFormatChanged)
Q_PROPERTY(QString date_format READ dateFormat WRITE setDateFormat NOTIFY dateFormatChanged)
Q_PROPERTY(QString date_format_short READ dateFormatShort WRITE setDateFormatShort NOTIFY dateFormatShortChanged)
Q_PROPERTY(QString lang_locale READ langLocale WRITE setLangLocale NOTIFY langLocaleChanged)
Q_PROPERTY(bool time_format_override READ timeFormatOverride WRITE setTimeFormatOverride NOTIFY timeFormatOverrideChanged)
Q_PROPERTY(bool date_format_override READ dateFormatOverride WRITE setDateFormatOverride NOTIFY dateFormatOverrideChanged)
Q_PROPERTY(bool use_system_language READ useSystemLanguage WRITE setUseSystemLanguage NOTIFY useSystemLanguageChanged)
public:
LanguageSettingsObjectWrapper(QObject *parent);
QString language() const;
QString langLocale() const;
QString timeFormat() const;
QString dateFormat() const;
QString dateFormatShort() const;
bool timeFormatOverride() const;
bool dateFormatOverride() const;
bool useSystemLanguage() const;
public slots:
void setLangLocale (const QString& value);
void setLanguage (const QString& value);
void setTimeFormat (const QString& value);
void setDateFormat (const QString& value);
void setDateFormatShort (const QString& value);
void setTimeFormatOverride (bool value);
void setDateFormatOverride (bool value);
void setUseSystemLanguage (bool value);
signals:
void languageChanged(const QString& value);
void langLocaleChanged(const QString& value);
void timeFormatChanged(const QString& value);
void dateFormatChanged(const QString& value);
void dateFormatShortChanged(const QString& value);
void timeFormatOverrideChanged(bool value);
void dateFormatOverrideChanged(bool value);
void useSystemLanguageChanged(bool value);
private:
const QString group = QStringLiteral("Language");
};
class AnimationsSettingsObjectWrapper : public QObject {
Q_OBJECT
Q_PROPERTY(int animation_speed READ animationSpeed WRITE setAnimationSpeed NOTIFY animationSpeedChanged)
public:
AnimationsSettingsObjectWrapper(QObject *parent);
int animationSpeed() const;
public slots:
void setAnimationSpeed(int value);
signals:
void animationSpeedChanged(int value);
private:
const QString group = QStringLiteral("Animations");
};
class LocationServiceSettingsObjectWrapper : public QObject {
Q_OBJECT
Q_PROPERTY(int time_threshold READ timeThreshold WRITE setTimeThreshold NOTIFY timeThresholdChanged)
Q_PROPERTY(int distance_threshold READ distanceThreshold WRITE setDistanceThreshold NOTIFY distanceThresholdChanged)
public:
LocationServiceSettingsObjectWrapper(QObject *parent);
int timeThreshold() const;
int distanceThreshold() const;
public slots:
void setTimeThreshold(int value);
void setDistanceThreshold(int value);
signals:
void timeThresholdChanged(int value);
void distanceThresholdChanged(int value);
private:
const QString group = QStringLiteral("LocationService");
};
class SettingsObjectWrapper : public QObject {
Q_OBJECT
Q_PROPERTY(TechnicalDetailsSettings* techical_details MEMBER techDetails CONSTANT)
Q_PROPERTY(PartialPressureGasSettings* pp_gas MEMBER pp_gas CONSTANT)
Q_PROPERTY(FacebookSettings* facebook MEMBER facebook CONSTANT)
Q_PROPERTY(GeocodingPreferences* geocoding MEMBER geocoding CONSTANT)
Q_PROPERTY(ProxySettings* proxy MEMBER proxy CONSTANT)
Q_PROPERTY(CloudStorageSettings* cloud_storage MEMBER cloud_storage CONSTANT)
Q_PROPERTY(DivePlannerSettings* planner MEMBER planner_settings CONSTANT)
Q_PROPERTY(UnitsSettings* units MEMBER unit_settings CONSTANT)
Q_PROPERTY(GeneralSettingsObjectWrapper* general MEMBER general_settings CONSTANT)
Q_PROPERTY(DisplaySettingsObjectWrapper* display MEMBER display_settings CONSTANT)
Q_PROPERTY(LanguageSettingsObjectWrapper* language MEMBER language_settings CONSTANT)
Q_PROPERTY(AnimationsSettingsObjectWrapper* animation MEMBER animation_settings CONSTANT)
Q_PROPERTY(LocationServiceSettingsObjectWrapper* Location MEMBER location_settings CONSTANT)
Q_PROPERTY(UpdateManagerSettings* update MEMBER update_manager_settings CONSTANT)
Q_PROPERTY(DiveComputerSettings* dive_computer MEMBER dive_computer_settings CONSTANT)
public:
static SettingsObjectWrapper *instance();
TechnicalDetailsSettings *techDetails;
PartialPressureGasSettings *pp_gas;
FacebookSettings *facebook;
GeocodingPreferences *geocoding;
ProxySettings *proxy;
CloudStorageSettings *cloud_storage;
DivePlannerSettings *planner_settings;
UnitsSettings *unit_settings;
GeneralSettingsObjectWrapper *general_settings;
DisplaySettingsObjectWrapper *display_settings;
LanguageSettingsObjectWrapper *language_settings;
AnimationsSettingsObjectWrapper *animation_settings;
LocationServiceSettingsObjectWrapper *location_settings;
UpdateManagerSettings *update_manager_settings;
DiveComputerSettings *dive_computer_settings;
void sync();
void load();
private:
SettingsObjectWrapper(QObject *parent = NULL);
};
#endif