aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/divecomputer.cpp4
-rw-r--r--core/downloadfromdcthread.cpp24
-rw-r--r--core/settings/qPref.cpp1
-rw-r--r--core/subsurface-qt/SettingsObjectWrapper.cpp99
-rw-r--r--core/subsurface-qt/SettingsObjectWrapper.h37
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 &currentVendorText)
{
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();