summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar jan Iversen <jani@apache.org>2018-08-10 17:45:34 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2018-08-13 15:04:50 -0700
commitaf2201545205d5bf0844a993b05950e6f12805dd (patch)
tree9e368166d4a42e9d77974fbc25bc33313732fd42
parent3cd698361c3c1a8c8f5e455799d954e76f68d6bc (diff)
downloadsubsurface-af2201545205d5bf0844a993b05950e6f12805dd.tar.gz
core: activate qPrefGeocoding
remove Geocoding from SettingsObjectWrapper and reference qPrefFacebook update files using SettingsObjectWrapper/Geocoding to use qPrefFacebook this activated qPrefGeocoding and removed the similar class from SettingsObjectWrapper. Signed-off-by: Jan Iversen <jani@apache.org>
-rw-r--r--core/settings/qPref.cpp1
-rw-r--r--core/subsurface-qt/SettingsObjectWrapper.cpp65
-rw-r--r--core/subsurface-qt/SettingsObjectWrapper.h29
-rw-r--r--desktop-widgets/preferences/preferences_georeference.cpp8
-rw-r--r--subsurface-helper.cpp1
-rw-r--r--tests/testpreferences.cpp32
6 files changed, 26 insertions, 110 deletions
diff --git a/core/settings/qPref.cpp b/core/settings/qPref.cpp
index a74937921..299432d96 100644
--- a/core/settings/qPref.cpp
+++ b/core/settings/qPref.cpp
@@ -20,6 +20,7 @@ void qPref::loadSync(bool doSync)
qPrefDiveComputer::instance()->loadSync(doSync);
qPrefDivePlanner::instance()->loadSync(doSync);
// qPrefFaceook does not use disk.
+ qPrefGeocoding::instance()->loadSync(doSync);
qPrefLanguage::instance()->loadSync(doSync);
qPrefLocationService::instance()->loadSync(doSync);
qPrefProxy::instance()->loadSync(doSync);
diff --git a/core/subsurface-qt/SettingsObjectWrapper.cpp b/core/subsurface-qt/SettingsObjectWrapper.cpp
index 1fb770c56..ba03fc336 100644
--- a/core/subsurface-qt/SettingsObjectWrapper.cpp
+++ b/core/subsurface-qt/SettingsObjectWrapper.cpp
@@ -134,60 +134,6 @@ void PartialPressureGasSettings::setPheThreshold(double value)
emit pheThresholdChanged(value);
}
-GeocodingPreferences::GeocodingPreferences(QObject *parent) :
- QObject(parent)
-{
-
-}
-
-taxonomy_category GeocodingPreferences::firstTaxonomyCategory() const
-{
- return prefs.geocoding.category[0];
-}
-
-taxonomy_category GeocodingPreferences::secondTaxonomyCategory() const
-{
- return prefs.geocoding.category[1];
-}
-
-taxonomy_category GeocodingPreferences::thirdTaxonomyCategory() const
-{
- return prefs.geocoding.category[2];
-}
-
-void GeocodingPreferences::setFirstTaxonomyCategory(taxonomy_category value)
-{
- if (value == prefs.geocoding.category[0])
- return;
- QSettings s;
- s.beginGroup(group);
- s.setValue("cat0", value);
- prefs.geocoding.category[0] = value;
- emit firstTaxonomyCategoryChanged(value);
-}
-
-void GeocodingPreferences::setSecondTaxonomyCategory(taxonomy_category value)
-{
- if (value == prefs.geocoding.category[1])
- return;
- QSettings s;
- s.beginGroup(group);
- s.setValue("cat1", value);
- prefs.geocoding.category[1]= value;
- emit secondTaxonomyCategoryChanged(value);
-}
-
-void GeocodingPreferences::setThirdTaxonomyCategory(taxonomy_category value)
-{
- if (value == prefs.geocoding.category[2])
- return;
- QSettings s;
- s.beginGroup(group);
- s.setValue("cat2", value);
- prefs.geocoding.category[2] = value;
- emit thirdTaxonomyCategoryChanged(value);
-}
-
GeneralSettingsObjectWrapper::GeneralSettingsObjectWrapper(QObject *parent) :
QObject(parent)
{
@@ -395,7 +341,7 @@ QObject(parent),
techDetails(new qPrefTechnicalDetails(this)),
pp_gas(new PartialPressureGasSettings(this)),
facebook(new qPrefFacebook(this)),
- geocoding(new GeocodingPreferences(this)),
+ geocoding(new qPrefGeocoding(this)),
proxy(new qPrefProxy(this)),
cloud_storage(new qPrefCloudStorage(this)),
planner_settings(new qPrefDivePlanner(this)),
@@ -443,14 +389,7 @@ void SettingsObjectWrapper::load()
qPrefCloudStorage::instance()->load();
qPrefDisplay::instance()->load();
qPrefProxy::instance()->load();
-
- // GeoManagement
- s.beginGroup("geocoding");
-
- GET_ENUM("cat0", taxonomy_category, geocoding.category[0]);
- GET_ENUM("cat1", taxonomy_category, geocoding.category[1]);
- GET_ENUM("cat2", taxonomy_category, geocoding.category[2]);
- s.endGroup();
+ qPrefGeocoding::instance()->load();
// GPS service time and distance thresholds
qPrefLocationService::instance()->load();
diff --git a/core/subsurface-qt/SettingsObjectWrapper.h b/core/subsurface-qt/SettingsObjectWrapper.h
index 2fe2a7b5a..a34025da8 100644
--- a/core/subsurface-qt/SettingsObjectWrapper.h
+++ b/core/subsurface-qt/SettingsObjectWrapper.h
@@ -56,31 +56,6 @@ private:
const QString group = QStringLiteral("TecDetails");
};
-/* 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 GeneralSettingsObjectWrapper : public QObject {
Q_OBJECT
Q_PROPERTY(QString default_filename READ defaultFilename WRITE setDefaultFilename NOTIFY defaultFilenameChanged)
@@ -144,7 +119,7 @@ class SettingsObjectWrapper : public QObject {
Q_PROPERTY(qPrefTechnicalDetails* techical_details MEMBER techDetails CONSTANT)
Q_PROPERTY(PartialPressureGasSettings* pp_gas MEMBER pp_gas CONSTANT)
Q_PROPERTY(qPrefFacebook* facebook MEMBER facebook CONSTANT)
- Q_PROPERTY(GeocodingPreferences* geocoding MEMBER geocoding CONSTANT)
+ Q_PROPERTY(qPrefGeocoding* geocoding MEMBER geocoding CONSTANT)
Q_PROPERTY(qPrefProxy* proxy MEMBER proxy CONSTANT)
Q_PROPERTY(qPrefCloudStorage* cloud_storage MEMBER cloud_storage CONSTANT)
Q_PROPERTY(qPrefDivePlanner* planner MEMBER planner_settings CONSTANT)
@@ -163,7 +138,7 @@ public:
qPrefTechnicalDetails *techDetails;
PartialPressureGasSettings *pp_gas;
qPrefFacebook *facebook;
- GeocodingPreferences *geocoding;
+ qPrefGeocoding *geocoding;
qPrefProxy *proxy;
qPrefCloudStorage *cloud_storage;
qPrefDivePlanner *planner_settings;
diff --git a/desktop-widgets/preferences/preferences_georeference.cpp b/desktop-widgets/preferences/preferences_georeference.cpp
index cb75cb646..08764434a 100644
--- a/desktop-widgets/preferences/preferences_georeference.cpp
+++ b/desktop-widgets/preferences/preferences_georeference.cpp
@@ -30,8 +30,8 @@ void PreferencesGeoreference::refreshSettings()
void PreferencesGeoreference::syncSettings()
{
- auto geocoding = SettingsObjectWrapper::instance()->geocoding;
- geocoding->setFirstTaxonomyCategory((taxonomy_category) ui->first_item->currentIndex());
- geocoding->setSecondTaxonomyCategory((taxonomy_category) ui->second_item->currentIndex());
- geocoding->setThirdTaxonomyCategory((taxonomy_category) ui->third_item->currentIndex());
+ auto geocoding = qPrefGeocoding::instance();
+ geocoding->set_first_taxonomy_category((taxonomy_category) ui->first_item->currentIndex());
+ geocoding->set_second_taxonomy_category((taxonomy_category) ui->second_item->currentIndex());
+ geocoding->set_third_taxonomy_category((taxonomy_category) ui->third_item->currentIndex());
}
diff --git a/subsurface-helper.cpp b/subsurface-helper.cpp
index 10b7ccb49..faf0d2502 100644
--- a/subsurface-helper.cpp
+++ b/subsurface-helper.cpp
@@ -162,6 +162,7 @@ void register_qml_types()
REGISTER_TYPE(qPrefDiveComputer, "SsrfDiveComputerPrefs");
REGISTER_TYPE(qPrefDivePlanner, "SsrfDivePlannerPrefs");
REGISTER_TYPE(qPrefFacebook, "SsrfFacebookPrefs");
+ REGISTER_TYPE(qPrefGeocoding, "SsrfGeocodingPrefs");
REGISTER_TYPE(qPrefLanguage, "SsrfLanguagePrefs");
REGISTER_TYPE(qPrefLocationService, "SsrfLocationServicePrefs");
REGISTER_TYPE(qPrefProxy, "SsrfProxyPrefs");
diff --git a/tests/testpreferences.cpp b/tests/testpreferences.cpp
index 85534ccee..92e0596ef 100644
--- a/tests/testpreferences.cpp
+++ b/tests/testpreferences.cpp
@@ -57,22 +57,22 @@ void TestPreferences::testPreferences()
TEST(pp->po2ThresholdMin(), 4.0);
TEST(pp->po2ThresholdMax(), 5.0);
- auto geo = pref->geocoding;
- geo->setFirstTaxonomyCategory(TC_NONE);
- geo->setSecondTaxonomyCategory(TC_OCEAN);
- geo->setThirdTaxonomyCategory(TC_COUNTRY);
-
- TEST(geo->firstTaxonomyCategory(), TC_NONE);
- TEST(geo->secondTaxonomyCategory(), TC_OCEAN);
- TEST(geo->thirdTaxonomyCategory(), TC_COUNTRY);
-
- geo->setFirstTaxonomyCategory(TC_OCEAN);
- geo->setSecondTaxonomyCategory(TC_COUNTRY);
- geo->setThirdTaxonomyCategory(TC_NONE);
-
- TEST(geo->firstTaxonomyCategory(), TC_OCEAN);
- TEST(geo->secondTaxonomyCategory(), TC_COUNTRY);
- TEST(geo->thirdTaxonomyCategory(), TC_NONE);
+ auto geo = qPrefGeocoding::instance();
+ geo->set_first_taxonomy_category(TC_NONE);
+ geo->set_second_taxonomy_category(TC_OCEAN);
+ geo->set_third_taxonomy_category(TC_COUNTRY);
+
+ TEST(geo->first_taxonomy_category(), TC_NONE);
+ TEST(geo->second_taxonomy_category(), TC_OCEAN);
+ TEST(geo->third_taxonomy_category(), TC_COUNTRY);
+
+ geo->set_first_taxonomy_category(TC_OCEAN);
+ geo->set_second_taxonomy_category(TC_COUNTRY);
+ geo->set_third_taxonomy_category(TC_NONE);
+
+ TEST(geo->first_taxonomy_category(), TC_OCEAN);
+ TEST(geo->second_taxonomy_category(), TC_COUNTRY);
+ TEST(geo->third_taxonomy_category(), TC_NONE);
auto general = pref->general_settings;
general->setDefaultFilename("filename");