diff options
Diffstat (limited to 'core/subsurface-qt')
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.cpp | 99 | ||||
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.h | 37 |
2 files changed, 4 insertions, 132 deletions
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(); |