diff options
author | jan Iversen <jani@apache.org> | 2018-08-10 17:45:34 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2018-08-13 15:04:50 -0700 |
commit | af2201545205d5bf0844a993b05950e6f12805dd (patch) | |
tree | 9e368166d4a42e9d77974fbc25bc33313732fd42 | |
parent | 3cd698361c3c1a8c8f5e455799d954e76f68d6bc (diff) | |
download | subsurface-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.cpp | 1 | ||||
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.cpp | 65 | ||||
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.h | 29 | ||||
-rw-r--r-- | desktop-widgets/preferences/preferences_georeference.cpp | 8 | ||||
-rw-r--r-- | subsurface-helper.cpp | 1 | ||||
-rw-r--r-- | tests/testpreferences.cpp | 32 |
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"); |