mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Finalize the Settings
This was the hammer part of the settings, now I need to make it able to compile ;p Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
ac3ba70fdb
commit
b01bca7953
2 changed files with 134 additions and 14 deletions
|
@ -8,6 +8,13 @@
|
|||
|
||||
static QString tecDetails = QStringLiteral("TecDetails");
|
||||
|
||||
PartialPressureGasSettings::PartialPressureGasSettings(QObject* parent):
|
||||
QObject(parent),
|
||||
group("TecDetails")
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
short PartialPressureGasSettings::showPo2() const
|
||||
{
|
||||
return prefs.pp_graphs.po2;
|
||||
|
@ -93,6 +100,11 @@ void PartialPressureGasSettings::setPheThreshold(double value)
|
|||
}
|
||||
|
||||
|
||||
TechnicalDetailsSettings::TechnicalDetailsSettings(QObject* parent): QObject(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
double TechnicalDetailsSettings:: modp02() const
|
||||
{
|
||||
return prefs.modpO2;
|
||||
|
@ -203,7 +215,12 @@ short int TechnicalDetailsSettings::mod() const
|
|||
return prefs.mod;
|
||||
}
|
||||
|
||||
void TechnicalDetailsSettings::setModpO2(double value)
|
||||
bool TechnicalDetailsSettings::showPicturesInProfile() const
|
||||
{
|
||||
return prefs.show_pictures_in_profile;
|
||||
}
|
||||
|
||||
void TechnicalDetailsSettings::setModp02(double value)
|
||||
{
|
||||
QSettings s;
|
||||
s.beginGroup(tecDetails);
|
||||
|
@ -212,6 +229,15 @@ void TechnicalDetailsSettings::setModpO2(double value)
|
|||
emit modpO2Changed(value);
|
||||
}
|
||||
|
||||
void TechnicalDetailsSettings::setShowPicturesInProfile(bool value)
|
||||
{
|
||||
QSettings s;
|
||||
s.beginGroup(tecDetails);
|
||||
s.setValue("show_pictures_in_profile", value);
|
||||
prefs.show_pictures_in_profile = value;
|
||||
emit showPicturesInProfileChanged(value);
|
||||
}
|
||||
|
||||
void TechnicalDetailsSettings::setEad(short value)
|
||||
{
|
||||
QSettings s;
|
||||
|
@ -230,7 +256,7 @@ void TechnicalDetailsSettings::setMod(short value)
|
|||
emit modChanged(value);
|
||||
}
|
||||
|
||||
void TechnicalDetailsSettings::setDcceiling(short value)
|
||||
void TechnicalDetailsSettings::setDCceiling(short value)
|
||||
{
|
||||
QSettings s;
|
||||
s.beginGroup(tecDetails);
|
||||
|
@ -405,6 +431,8 @@ void TechnicalDetailsSettings::setShowAverageDepth(short value)
|
|||
emit showAverageDepthChanged(value);
|
||||
}
|
||||
|
||||
|
||||
|
||||
FacebookSettings::FacebookSettings(QObject *parent) :
|
||||
group(QStringLiteral("WebApps")),
|
||||
subgroup(QStringLiteral("Facebook"))
|
||||
|
@ -651,6 +679,11 @@ CloudStorageSettings::CloudStorageSettings(QObject *parent) :
|
|||
|
||||
}
|
||||
|
||||
bool CloudStorageSettings::gitLocalOnly() const
|
||||
{
|
||||
return prefs.git_local_only;
|
||||
}
|
||||
|
||||
QString CloudStorageSettings::password() const
|
||||
{
|
||||
return QString(prefs.cloud_storage_password);
|
||||
|
@ -787,6 +820,16 @@ void CloudStorageSettings::setCloudUrl(const QString& value) /* no-op */
|
|||
Q_UNUSED(value);
|
||||
}
|
||||
|
||||
void CloudStorageSettings::setGitUrl(const QString& value)
|
||||
{
|
||||
Q_UNUSED(value); /* no op */
|
||||
}
|
||||
|
||||
void CloudStorageSettings::setGitLocalOnly(bool value)
|
||||
{
|
||||
prefs.git_local_only = value;
|
||||
}
|
||||
|
||||
DivePlannerSettings::DivePlannerSettings(QObject *parent) :
|
||||
QObject(parent),
|
||||
group(QStringLiteral("Planner"))
|
||||
|
@ -1486,3 +1529,21 @@ void LanguageSettingsObjectWrapper::setDateFormatOverride(bool value)
|
|||
prefs.date_format_override = value.;
|
||||
emit dateFormatOverrideChanged(value);
|
||||
}
|
||||
|
||||
SettingsObjectWrapper::SettingsObjectWrapper(QObject* parent):
|
||||
QObject(parent),
|
||||
techDetails(new TechnicalDetailsSettings()),
|
||||
pp_gas(new PartialPressureGasSettings()),
|
||||
facebook(new FacebookSettings()),
|
||||
geocoding(new GeocodingPreferences()),
|
||||
proxy(new ProxySettings()),
|
||||
cloud_storage(new CloudStorageSettings()),
|
||||
planner_settings(new DivePlannerSettings()),
|
||||
unit_settings(new UnitsSettings()),
|
||||
general_settings(new GeneralSettingsObjectWrapper()),
|
||||
display_settings(new DisplaySettingsObjectWrapper()),
|
||||
language_settings(new LanguageSettingsObjectWrapper()),
|
||||
animation_settings(new AnimationsSettingsObjectWrapper()),
|
||||
location_settings(new LocationServiceSettingsObjectWrapper())
|
||||
{
|
||||
}
|
||||
|
|
|
@ -45,6 +45,8 @@ signals:
|
|||
void po2ThresholdChanged(double value);
|
||||
void pn2ThresholdChanged(double value);
|
||||
void pheThresholdChanged(double value);
|
||||
private:
|
||||
QString group;
|
||||
};
|
||||
|
||||
class TechnicalDetailsSettings : public QObject {
|
||||
|
@ -71,7 +73,7 @@ class TechnicalDetailsSettings : public QObject {
|
|||
Q_PROPERTY(bool gf_low_at_maxdepth READ gfLowAtMaxDepth WRITE setGfLowAtMaxDepth NOTIFY gfLowAtMaxDepthChanged)
|
||||
Q_PROPERTY(short display_unused_tanks READ displayUnusedTanks WRITE setDisplayUnusedTanks NOTIFY displayUnusedTanksChanged)
|
||||
Q_PROPERTY(short show_average_depth READ showAverageDepth WRITE setShowAverageDepth NOTIFY showAverageDepthChanged)
|
||||
|
||||
Q_PROPERTY(bool show_pictures_in_profile READ showPicturesInProfile WRITE setShowPicturesInProfile NOTIFY showPicturesInProfileChanged)
|
||||
public:
|
||||
TechnicalDetailsSettings(QObject *parent);
|
||||
|
||||
|
@ -97,6 +99,7 @@ public:
|
|||
bool gfLowAtMaxDepth() const;
|
||||
short displayUnusedTanks() const;
|
||||
short showAverageDepth() const;
|
||||
bool showPicturesInProfile() const;
|
||||
|
||||
public slots:
|
||||
void setMod(short value);
|
||||
|
@ -121,6 +124,7 @@ public slots:
|
|||
void setGfLowAtMaxDepth(bool value);
|
||||
void setDisplayUnusedTanks(short value);
|
||||
void setShowAverageDepth(short value);
|
||||
void setShowPicturesInProfile(bool value);
|
||||
|
||||
signals:
|
||||
void modpO2Changed(double value);
|
||||
|
@ -145,6 +149,7 @@ signals:
|
|||
void gfLowAtMaxDepthChanged(bool value);
|
||||
void displayUnusedTanksChanged(short value);
|
||||
void showAverageDepthChanged(short value);
|
||||
void showPicturesInProfileChanged(bool value);
|
||||
};
|
||||
|
||||
/* Control the state of the Facebook preferences */
|
||||
|
@ -257,6 +262,7 @@ class CloudStorageSettings : public QObject {
|
|||
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 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)
|
||||
Q_PROPERTY(bool background_sync READ backgroundSync WRITE setBackgroundSync NOTIFY backgroundSyncChanged)
|
||||
|
@ -272,6 +278,7 @@ public:
|
|||
bool savePasswordLocal() const;
|
||||
short verificationStatus() const;
|
||||
bool backgroundSync() const;
|
||||
bool gitLocalOnly() const;
|
||||
|
||||
public slots:
|
||||
void setPassword(const QString& value);
|
||||
|
@ -284,6 +291,7 @@ public slots:
|
|||
void setSavePasswordLocal(bool value);
|
||||
void setVerificationStatus(short value);
|
||||
void setBackgroundSync(bool value);
|
||||
void setGitLocalOnly(bool value);
|
||||
|
||||
signals:
|
||||
void passwordChanged(const QString& value);
|
||||
|
@ -296,6 +304,7 @@ signals:
|
|||
void savePasswordLocalChanged(bool value);
|
||||
void verificationStatusChanged(short value);
|
||||
void backgroundSyncChanged(bool value);
|
||||
void gitLocalOnlyChanged(bool value);
|
||||
private:
|
||||
QString group;
|
||||
};
|
||||
|
@ -401,9 +410,6 @@ signals:
|
|||
private:
|
||||
QString group;
|
||||
};
|
||||
/* Monster class, should be breaken into a few more understandable classes later, wich will be easy to do:
|
||||
* grab the Q_PROPERTYES and create a wrapper class like the ones above.
|
||||
*/
|
||||
|
||||
class UnitsSettings : public QObject {
|
||||
Q_OBJECT
|
||||
|
@ -554,15 +560,62 @@ private:
|
|||
QString group;
|
||||
};
|
||||
|
||||
class SettingsObjectWrapper : public QObject {
|
||||
class AnimationsSettingsObjectWrapper : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(int animation_speed READ animationSpeed WRITE setAnimationSpeed NOTIFY animationSpeedChanged)
|
||||
Q_PROPERTY(short save_userid_local READ saveUserIdLocal WRITE setSaveUserIdLocal NOTIFY saveUserIdLocalChanged)
|
||||
Q_PROPERTY(bool show_pictures_in_profile READ showPicturesInProfile WRITE setShowPicturesInProfile NOTIFY showPicturesInProfileChanged)
|
||||
public:
|
||||
AnimationsSettingsObjectWrapper(QObject *parent);
|
||||
int animationSpeed() const;
|
||||
|
||||
public slots:
|
||||
void setAnimationSpeed(int value);
|
||||
|
||||
signals:
|
||||
void animationSpeedChanged(int value);
|
||||
|
||||
private:
|
||||
QString group;
|
||||
};
|
||||
|
||||
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)
|
||||
Q_PROPERTY(bool git_local_only READ gitLocalOnly WRITE setGitLocalOnly NOTIFY gitLocalOnlyChanged)
|
||||
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:
|
||||
QString group;
|
||||
};
|
||||
|
||||
class SettingsObjectWrapper : public QObject {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(short save_userid_local READ saveUserIdLocal WRITE setSaveUserIdLocal NOTIFY saveUserIdLocalChanged)
|
||||
|
||||
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)
|
||||
public:
|
||||
SettingsObjectWrapper(QObject *parent = NULL);
|
||||
short saveUserIdLocal() const;
|
||||
|
||||
TechnicalDetailsSettings *techDetails;
|
||||
PartialPressureGasSettings *pp_gas;
|
||||
|
@ -574,8 +627,14 @@ class SettingsObjectWrapper : public QObject {
|
|||
UnitsSettings *unit_settings;
|
||||
GeneralSettingsObjectWrapper *general_settings;
|
||||
DisplaySettingsObjectWrapper *display_settings;
|
||||
public:
|
||||
SettingsObjectWrapper(QObject *parent = NULL);
|
||||
LanguageSettingsObjectWrapper *language_settings;
|
||||
AnimationsSettingsObjectWrapper *animation_settings;
|
||||
LocationServiceSettingsObjectWrapper *location_settings;
|
||||
|
||||
public slots:
|
||||
void setSaveUserIdLocal(short value);
|
||||
signals:
|
||||
void saveUserIdLocalChanged(short value);
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue