mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: activate qPrefDiveComputer
remove DiveComputer from SettingsObjectWrapper and reference qPrefDiveComputer update files using SettingsObjectWrapper/DiveComputer to use qPrefDiveComputer this activated qPrefDiveComputer and removed the similar class from SettingsObjectWrapper. Signed-off-by: Jan Iversen <jani@apache.org>
This commit is contained in:
parent
98820cf970
commit
3d6848b22c
9 changed files with 56 additions and 180 deletions
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue