Use a progressbar in the configure dc dialog

This switches from a couple of labels in the dialog to a progress bar,
to later being able to use it to provide better user experience.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Anton Lundin 2015-01-20 22:40:50 +01:00 committed by Dirk Hohndel
parent 0787d941a0
commit ba525df766
2 changed files with 21 additions and 18 deletions

View file

@ -670,8 +670,10 @@ void ConfigureDiveComputerDialog::populateDeviceDetailsSuuntoVyper()
void ConfigureDiveComputerDialog::readSettings()
{
ui.statusLabel->clear();
ui.errorLabel->clear();
// Disable the retrieve button while read thread is running
ui.progressBar->setValue(0);
ui.progressBar->setFormat("%p%");
ui.progressBar->setTextVisible(true);
getDeviceData();
config->readSettings(&device_data);
@ -679,8 +681,9 @@ void ConfigureDiveComputerDialog::readSettings()
void ConfigureDiveComputerDialog::resetSettings()
{
ui.statusLabel->clear();
ui.errorLabel->clear();
ui.progressBar->setValue(0);
ui.progressBar->setFormat("%p%");
ui.progressBar->setTextVisible(true);
getDeviceData();
config->resetSettings(&device_data);
@ -688,13 +691,12 @@ void ConfigureDiveComputerDialog::resetSettings()
void ConfigureDiveComputerDialog::configMessage(QString msg)
{
ui.statusLabel->setText(msg);
ui.progressBar->setFormat(msg);
}
void ConfigureDiveComputerDialog::configError(QString err)
{
ui.statusLabel->setText("");
ui.errorLabel->setText(err);
ui.progressBar->setFormat("Error: " + err);
}
void ConfigureDiveComputerDialog::getDeviceData()
@ -716,6 +718,10 @@ void ConfigureDiveComputerDialog::on_cancel_clicked()
void ConfigureDiveComputerDialog::on_saveSettingsPushButton_clicked()
{
ui.progressBar->setValue(0);
ui.progressBar->setFormat("%p%");
ui.progressBar->setTextVisible(true);
populateDeviceDetails();
getDeviceData();
config->saveDeviceDetails(deviceDetails, &device_data);
@ -1058,6 +1064,10 @@ void ConfigureDiveComputerDialog::on_updateFirmwareButton_clicked()
QString firmwarePath = QFileDialog::getOpenFileName(this, tr("Select firmware file"),
filename, tr("All files (*.*)"));
if (!firmwarePath.isEmpty()) {
ui.progressBar->setValue(0);
ui.progressBar->setFormat("%p%");
ui.progressBar->setTextVisible(true);
getDeviceData();
config->startFirmwareUpdate(firmwarePath, &device_data);
}