summaryrefslogtreecommitdiff
path: root/utils/rbutilqt/encttscfggui.cpp
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2022-03-20 09:58:04 +0100
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2022-03-20 10:00:25 +0100
commitccdd9e6784c1aaee8ebb35f192dae647895c67bc (patch)
tree2ec8164d4b6f504adc3f2d441f4c20a0e77ad8e7 /utils/rbutilqt/encttscfggui.cpp
parentc21d10cb33e0d123d4b53acdc28e73002d240634 (diff)
downloadrockbox-ccdd9e6784c1aaee8ebb35f192dae647895c67bc.tar.gz
rockbox-ccdd9e6784c1aaee8ebb35f192dae647895c67bc.zip
rbutil: Fix TTS "waiting for engine" appearing randomly.
QProgressDialog shows / hides itself automatically based on the progress value set, so calling hide() directly doesn't prevent the dialog from showing itself. Change the logic to set a value instead. Fixes the progress dialog sometimes appearing in situations where it wasn't used at all. Change-Id: Ifef063f31b7f888bb74f180dea0679e81cc5c8fe
Diffstat (limited to 'utils/rbutilqt/encttscfggui.cpp')
-rw-r--r--utils/rbutilqt/encttscfggui.cpp33
1 files changed, 18 insertions, 15 deletions
diff --git a/utils/rbutilqt/encttscfggui.cpp b/utils/rbutilqt/encttscfggui.cpp
index cd2cf24f5b..e0f203bc1c 100644
--- a/utils/rbutilqt/encttscfggui.cpp
+++ b/utils/rbutilqt/encttscfggui.cpp
@@ -40,14 +40,14 @@ EncTtsCfgGui::EncTtsCfgGui(QDialog* parent, EncTtsSettingInterface* iface, QStri
40 m_busyCnt(0) 40 m_busyCnt(0)
41{ 41{
42 // create a busy Dialog 42 // create a busy Dialog
43 m_busyDlg= new QProgressDialog("", "", 0, 0,this); 43 m_busyDlg= new QProgressDialog("", "", 0, 1, this);
44 m_busyDlg->setWindowTitle(tr("Waiting for engine...")); 44 m_busyDlg->setWindowTitle(tr("Waiting for engine..."));
45 m_busyDlg->setModal(true); 45 m_busyDlg->setModal(true);
46 m_busyDlg->setLabel(nullptr); 46 m_busyDlg->setLabel(nullptr);
47 m_busyDlg->setCancelButton(nullptr); 47 m_busyDlg->setCancelButton(nullptr);
48 m_busyDlg->hide(); 48 m_busyDlg->setMinimumDuration(100);
49 connect(iface, &EncTtsSettingInterface::busy, this, &EncTtsCfgGui::showBusy); 49 m_busyDlg->setValue(1);
50 connect(iface, &EncTtsSettingInterface::busyEnd, this, &EncTtsCfgGui::hideBusy); 50 connect(iface, &EncTtsSettingInterface::busy, this, &EncTtsCfgGui::busyDialog);
51 51
52 //setup the window 52 //setup the window
53 setWindowTitle(name); 53 setWindowTitle(name);
@@ -279,18 +279,21 @@ QWidget* EncTtsCfgGui::createButton(EncTtsSetting* setting)
279} 279}
280 280
281 281
282void EncTtsCfgGui::showBusy() 282void EncTtsCfgGui::busyDialog(bool show)
283{ 283{
284 if(m_busyCnt == 0) m_busyDlg->show(); 284 if(show)
285 285 {
286 m_busyCnt++; 286 m_busyDlg->setValue(0);
287} 287 m_busyCnt++;
288 288 }
289void EncTtsCfgGui::hideBusy() 289 else
290{ 290 {
291 m_busyCnt--; 291 m_busyDlg->setValue(1);
292 292 if(m_busyCnt > 0)
293 if(m_busyCnt == 0) m_busyDlg->hide(); 293 {
294 m_busyCnt--;
295 }
296 }
294} 297}
295 298
296 299