Polish up on classes

This patch polishes up on all classes added for dive computer
configuration to give a clean workflow. The classes can now
write and read data from the OSTC 3.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>
Signed-off-by: Thiago Macieira <thiago@macieira.org>
This commit is contained in:
Joseph W. Joshua 2014-06-10 18:25:25 +03:00 committed by Thiago Macieira
parent 4fc16b1674
commit 20eb62a98a
7 changed files with 150 additions and 60 deletions

View file

@ -8,6 +8,7 @@
#include "../divelist.h"
#include "configuredivecomputer.h"
#include <QInputDialog>
#include <QDebug>
struct product {
const char *product;
@ -43,6 +44,8 @@ ConfigureDiveComputerDialog::ConfigureDiveComputerDialog(QWidget *parent) :
connect (config, SIGNAL(error(QString)), this, SLOT(configError(QString)));
connect (config, SIGNAL(message(QString)), this, SLOT(configMessage(QString)));
connect (config, SIGNAL(readFinished()), this, SLOT(deviceReadFinished()));
connect (config, SIGNAL(deviceDetailsChanged(DeviceDetails*)),
this, SLOT(deviceDetailsReceived(DeviceDetails*)));
fill_computer_list();
@ -159,7 +162,7 @@ void ConfigureDiveComputerDialog::readSettings()
ui->errorLabel->clear();
getDeviceData();
config->readSettings(deviceDetails, &device_data);
config->readSettings(&device_data);
}
void ConfigureDiveComputerDialog::configMessage(QString msg)
@ -183,8 +186,6 @@ void ConfigureDiveComputerDialog::getDeviceData()
set_default_dive_computer(device_data.vendor, device_data.product);
set_default_dive_computer_device(device_data.devname);
//deviceDetails->setData(&device_data);
}
void ConfigureDiveComputerDialog::on_cancel_clicked()
@ -194,11 +195,32 @@ void ConfigureDiveComputerDialog::on_cancel_clicked()
void ConfigureDiveComputerDialog::deviceReadFinished()
{
ui->brightnessComboBox->setCurrentIndex(config->m_deviceDetails->brightness());
}
void ConfigureDiveComputerDialog::on_saveSettingsPushButton_clicked()
{
config->saveDeviceDetails();
deviceDetails->setBrightness(ui->brightnessComboBox->currentIndex());
deviceDetails->setLanguage(ui->languageComboBox->currentIndex());
deviceDetails->setDateFormat(ui->dateFormatComboBox->currentIndex());
deviceDetails->setCustomText(ui->customTextLlineEdit->text());
getDeviceData();
config->saveDeviceDetails(deviceDetails, &device_data);
}
void ConfigureDiveComputerDialog::deviceDetailsReceived(DeviceDetails *newDeviceDetails)
{
deviceDetails = newDeviceDetails;
reloadValues();
}
void ConfigureDiveComputerDialog::reloadValues()
{
ui->serialNoLineEdit->setText(deviceDetails->serialNo());
ui->firmwareVersionLineEdit->setText(deviceDetails->firmwareVersion());
ui->customTextLlineEdit->setText(deviceDetails->customText());
ui->brightnessComboBox->setCurrentIndex(deviceDetails->brightness());
ui->languageComboBox->setCurrentIndex(deviceDetails->language());
ui->dateFormatComboBox->setCurrentIndex(deviceDetails->dateFormat());
}