diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/divecomputer.cpp | 4 | ||||
-rw-r--r-- | core/downloadfromdcthread.cpp | 24 | ||||
-rw-r--r-- | core/settings/qPref.cpp | 1 | ||||
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.cpp | 99 | ||||
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.h | 37 |
5 files changed, 19 insertions, 146 deletions
diff --git a/core/divecomputer.cpp b/core/divecomputer.cpp index b3f01fb78..5a6353f1f 100644 --- a/core/divecomputer.cpp +++ b/core/divecomputer.cpp @@ -125,13 +125,13 @@ extern "C" void call_for_each_dc (void *f, void (*callback)(void *, const char * extern "C" int is_default_dive_computer(const char *vendor, const char *product) { auto dc = SettingsObjectWrapper::instance()->dive_computer_settings; - return dc->dc_vendor() == vendor && dc->dc_product() == product; + return dc->vendor() == vendor && dc->product() == product; } extern "C" int is_default_dive_computer_device(const char *name) { auto dc = SettingsObjectWrapper::instance()->dive_computer_settings; - return dc->dc_device() == name; + return dc->device() == name; } extern "C" void set_dc_nickname(struct dive *dive) diff --git a/core/downloadfromdcthread.cpp b/core/downloadfromdcthread.cpp index c0b4f691b..17bcb9647 100644 --- a/core/downloadfromdcthread.cpp +++ b/core/downloadfromdcthread.cpp @@ -56,10 +56,10 @@ void DownloadThread::run() qDebug() << "Finishing download thread:" << downloadTable.nr << "dives downloaded"; } auto dcs = SettingsObjectWrapper::instance()->dive_computer_settings; - dcs->setVendor(internalData->vendor); - dcs->setProduct(internalData->product); - dcs->setDevice(internalData->devname); - dcs->setDeviceName(m_data->devBluetoothName()); + dcs->set_vendor(internalData->vendor); + dcs->set_product(internalData->product); + dcs->set_device(internalData->devname); + dcs->set_device_name(m_data->devBluetoothName()); } static void fill_supported_mobile_list() @@ -247,12 +247,12 @@ QStringList DCDeviceData::getProductListFromVendor(const QString &vendor) int DCDeviceData::getMatchingAddress(const QString &vendor, const QString &product) { auto dcs = SettingsObjectWrapper::instance()->dive_computer_settings; - if (dcs->dc_vendor() == vendor && - dcs->dc_product() == product) { + if (dcs->vendor() == vendor && + dcs->product() == product) { // we are trying to show the last dive computer selected for (int i = 0; i < connectionListModel.rowCount(); i++) { QString address = connectionListModel.address(i); - if (address.contains(dcs->dc_device())) + if (address.contains(dcs->device())) return i; } } @@ -410,10 +410,10 @@ device_data_t* DCDeviceData::internalData() int DCDeviceData::getDetectedVendorIndex() { auto dcs = SettingsObjectWrapper::instance()->dive_computer_settings; - if (!dcs->dc_vendor().isEmpty()) { + if (!dcs->vendor().isEmpty()) { // use the last one for (int i = 0; i < vendorList.length(); i++) { - if (vendorList[i] == dcs->dc_vendor()) + if (vendorList[i] == dcs->vendor()) return i; } } @@ -431,11 +431,11 @@ int DCDeviceData::getDetectedVendorIndex() int DCDeviceData::getDetectedProductIndex(const QString ¤tVendorText) { auto dcs = SettingsObjectWrapper::instance()->dive_computer_settings; - if (!dcs->dc_vendor().isEmpty()) { - if (dcs->dc_vendor() == currentVendorText) { + if (!dcs->vendor().isEmpty()) { + if (dcs->vendor() == currentVendorText) { // we are trying to show the last dive computer selected for (int i = 0; i < productList[currentVendorText].length(); i++) { - if (productList[currentVendorText][i] == dcs->dc_product()) + if (productList[currentVendorText][i] == dcs->product()) return i; } } diff --git a/core/settings/qPref.cpp b/core/settings/qPref.cpp index f5239ac5d..eabd6e7a9 100644 --- a/core/settings/qPref.cpp +++ b/core/settings/qPref.cpp @@ -18,6 +18,7 @@ void qPref::loadSync(bool doSync) qPrefAnimations::instance()->loadSync(doSync); qPrefCloudStorage::instance()->loadSync(doSync); qPrefDisplay::instance()->loadSync(doSync); + qPrefDiveComputer::instance()->loadSync(doSync); } const QString qPref::canonical_version() const diff --git a/core/subsurface-qt/SettingsObjectWrapper.cpp b/core/subsurface-qt/SettingsObjectWrapper.cpp index 9020143d2..9e0e8992c 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.cpp +++ b/core/subsurface-qt/SettingsObjectWrapper.cpp @@ -9,95 +9,6 @@ #include "core/qthelper.h" #include "core/prefs-macros.h" -DiveComputerSettings::DiveComputerSettings(QObject *parent): - QObject(parent) -{ -} - -QString DiveComputerSettings::dc_vendor() const -{ - return prefs.dive_computer.vendor; -} - -QString DiveComputerSettings::dc_product() const -{ - return prefs.dive_computer.product; -} - -QString DiveComputerSettings::dc_device() const -{ - return prefs.dive_computer.device; -} - -QString DiveComputerSettings::dc_device_name() const -{ - return prefs.dive_computer.device_name; -} - -int DiveComputerSettings::downloadMode() const -{ - return prefs.dive_computer.download_mode; -} - -void DiveComputerSettings::setVendor(const QString& vendor) -{ - if (vendor == prefs.dive_computer.vendor) - return; - - QSettings s; - s.beginGroup(group); - s.setValue("dive_computer_vendor", vendor); - free((void *)prefs.dive_computer.vendor); - prefs.dive_computer.vendor = copy_qstring(vendor); -} - -void DiveComputerSettings::setProduct(const QString& product) -{ - if (product == prefs.dive_computer.product) - return; - - QSettings s; - s.beginGroup(group); - s.setValue("dive_computer_product", product); - free((void *)prefs.dive_computer.product); - prefs.dive_computer.product = copy_qstring(product); -} - -void DiveComputerSettings::setDevice(const QString& device) -{ - if (device == prefs.dive_computer.device) - return; - - QSettings s; - s.beginGroup(group); - s.setValue("dive_computer_device", device); - free((void *)prefs.dive_computer.device); - prefs.dive_computer.device = copy_qstring(device); -} - -void DiveComputerSettings::setDeviceName(const QString& device_name) -{ - if (device_name == prefs.dive_computer.device_name) - return; - - QSettings s; - s.beginGroup(group); - s.setValue("dive_computer_device_name", device_name); - free((void *)prefs.dive_computer.device_name); - prefs.dive_computer.device_name = copy_qstring(device_name); -} - -void DiveComputerSettings::setDownloadMode(int mode) -{ - if (mode == prefs.dive_computer.download_mode) - return; - - QSettings s; - s.beginGroup(group); - s.setValue("dive_computer_download_mode", mode); - prefs.dive_computer.download_mode = mode; -} - UpdateManagerSettings::UpdateManagerSettings(QObject *parent) : QObject(parent) { @@ -1930,7 +1841,7 @@ QObject(parent), animation_settings(new qPrefAnimations(this)), location_settings(new LocationServiceSettingsObjectWrapper(this)), update_manager_settings(new UpdateManagerSettings(this)), - dive_computer_settings(new DiveComputerSettings(this)) + dive_computer_settings(new qPrefDiveComputer(this)) { } @@ -2077,13 +1988,7 @@ void SettingsObjectWrapper::load() prefs.planner_deco_mode = deco_mode(s.value("deco_mode", default_prefs.planner_deco_mode).toInt()); s.endGroup(); - s.beginGroup("DiveComputer"); - GET_TXT("dive_computer_vendor",dive_computer.vendor); - GET_TXT("dive_computer_product", dive_computer.product); - GET_TXT("dive_computer_device", dive_computer.device); - GET_TXT("dive_computer_device_name", dive_computer.device_name); - GET_INT("dive_computer_download_mode", dive_computer.download_mode); - s.endGroup(); + qPrefDiveComputer::instance()->load(); s.beginGroup("UpdateManager"); prefs.update_manager.dont_check_exists = s.contains("DontCheckForUpdates"); diff --git a/core/subsurface-qt/SettingsObjectWrapper.h b/core/subsurface-qt/SettingsObjectWrapper.h index fdf0b08f6..9cb707044 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.h +++ b/core/subsurface-qt/SettingsObjectWrapper.h @@ -13,39 +13,6 @@ * 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) @@ -620,7 +587,7 @@ class SettingsObjectWrapper : public QObject { 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) + Q_PROPERTY(qPrefDiveComputer* dive_computer MEMBER dive_computer_settings CONSTANT) public: static SettingsObjectWrapper *instance(); @@ -638,7 +605,7 @@ public: qPrefAnimations *animation_settings; LocationServiceSettingsObjectWrapper *location_settings; UpdateManagerSettings *update_manager_settings; - DiveComputerSettings *dive_computer_settings; + qPrefDiveComputer *dive_computer_settings; void sync(); void load(); |