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 <[email protected]>
---
 qt-ui/configuredivecomputerdialog.cpp | 24 +++++++++++++++++-------
 qt-ui/configuredivecomputerdialog.ui  | 15 ++++-----------
 2 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/qt-ui/configuredivecomputerdialog.cpp 
b/qt-ui/configuredivecomputerdialog.cpp
index bc9ff5e..ab9f032 100644
--- a/qt-ui/configuredivecomputerdialog.cpp
+++ b/qt-ui/configuredivecomputerdialog.cpp
@@ -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);
        }
diff --git a/qt-ui/configuredivecomputerdialog.ui 
b/qt-ui/configuredivecomputerdialog.ui
index 134c435..99d0743 100644
--- a/qt-ui/configuredivecomputerdialog.ui
+++ b/qt-ui/configuredivecomputerdialog.ui
@@ -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>
-- 
2.1.0

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to