diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2022-03-20 09:58:04 +0100 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2022-03-20 10:00:25 +0100 |
commit | ccdd9e6784c1aaee8ebb35f192dae647895c67bc (patch) | |
tree | 2ec8164d4b6f504adc3f2d441f4c20a0e77ad8e7 /utils/rbutilqt/encttscfggui.cpp | |
parent | c21d10cb33e0d123d4b53acdc28e73002d240634 (diff) | |
download | rockbox-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.cpp | 33 |
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 | ||
282 | void EncTtsCfgGui::showBusy() | 282 | void 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 | } | |
289 | void 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 | ||