[PATCH 2/7] Use a progressbar in the configure dc dialog

Anton Lundin glance at acc.umu.se
Tue Jan 20 13:40:50 PST 2015


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 at acc.umu.se>
---
 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



More information about the subsurface mailing list