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);
}

View file

@ -2373,18 +2373,11 @@
</widget>
</item>
<item>
<widget class="QLabel" name="errorLabel">
<property name="styleSheet">
<string notr="true">color: rgb(242, 19, 25);</string>
<widget class="QProgressBar" name="progressBar">
<property name="value">
<number>0</number>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="statusLabel">
<property name="text">
<property name="format">
<string/>
</property>
</widget>