diff options
Diffstat (limited to 'rbutil/rbutilqt/configure.cpp')
-rw-r--r-- | rbutil/rbutilqt/configure.cpp | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp index 5731dbe78a..00a899abb4 100644 --- a/rbutil/rbutilqt/configure.cpp +++ b/rbutil/rbutilqt/configure.cpp | |||
@@ -27,6 +27,7 @@ | |||
27 | #include "encoders.h" | 27 | #include "encoders.h" |
28 | #include "tts.h" | 28 | #include "tts.h" |
29 | #include "detect.h" | 29 | #include "detect.h" |
30 | #include "encttscfggui.h" | ||
30 | 31 | ||
31 | #include <stdio.h> | 32 | #include <stdio.h> |
32 | #if defined(Q_OS_WIN32) | 33 | #if defined(Q_OS_WIN32) |
@@ -356,7 +357,7 @@ void Config::setDevices() | |||
356 | void Config::updateTtsState(int index) | 357 | void Config::updateTtsState(int index) |
357 | { | 358 | { |
358 | QString ttsName = ui.comboTts->itemData(index).toString(); | 359 | QString ttsName = ui.comboTts->itemData(index).toString(); |
359 | TTSBase* tts = TTSBase::getTTS(ttsName); | 360 | TTSBase* tts = TTSBase::getTTS(this,ttsName); |
360 | tts->setCfg(settings); | 361 | tts->setCfg(settings); |
361 | 362 | ||
362 | if(tts->configOk()) | 363 | if(tts->configOk()) |
@@ -386,7 +387,7 @@ void Config::updateEncState() | |||
386 | ui.encoderName->setText(EncBase::getEncoderName(settings->value(RbSettings::CurEncoder).toString())); | 387 | ui.encoderName->setText(EncBase::getEncoderName(settings->value(RbSettings::CurEncoder).toString())); |
387 | settings->setValue(RbSettings::Platform, olddevice); | 388 | settings->setValue(RbSettings::Platform, olddevice); |
388 | 389 | ||
389 | EncBase* enc = EncBase::getEncoder(encoder); | 390 | EncBase* enc = EncBase::getEncoder(this,encoder); |
390 | enc->setCfg(settings); | 391 | enc->setCfg(settings); |
391 | 392 | ||
392 | if(enc->configOk()) | 393 | if(enc->configOk()) |
@@ -666,19 +667,36 @@ void Config::cacheClear() | |||
666 | void Config::configTts() | 667 | void Config::configTts() |
667 | { | 668 | { |
668 | int index = ui.comboTts->currentIndex(); | 669 | int index = ui.comboTts->currentIndex(); |
669 | TTSBase* tts = TTSBase::getTTS(ui.comboTts->itemData(index).toString()); | 670 | TTSBase* tts = TTSBase::getTTS(this,ui.comboTts->itemData(index).toString()); |
670 | 671 | ||
671 | tts->setCfg(settings); | 672 | tts->setCfg(settings); |
672 | tts->showCfg(); | 673 | EncTtsCfgGui gui(this,tts,TTSBase::getTTSName(settings->value(RbSettings::Tts).toString())); |
674 | gui.exec(); | ||
673 | updateTtsState(ui.comboTts->currentIndex()); | 675 | updateTtsState(ui.comboTts->currentIndex()); |
674 | } | 676 | } |
675 | 677 | ||
676 | 678 | ||
677 | void Config::configEnc() | 679 | void Config::configEnc() |
678 | { | 680 | { |
679 | EncBase* enc = EncBase::getEncoder(settings->value(RbSettings::CurEncoder).toString()); | 681 | // FIXME: this is a workaround to make the encoder follow the device selection |
682 | // even with the settings (and thus the device) being saved. Needs to be redone | ||
683 | // properly later by extending the settings object | ||
684 | if(ui.treeDevices->selectedItems().size() == 0) | ||
685 | return; | ||
686 | |||
687 | QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); | ||
688 | QString olddevice = settings->value(RbSettings::CurrentPlatform).toString(); | ||
689 | settings->setValue(RbSettings::CurrentPlatform,devname); | ||
690 | QString encoder = settings->value(RbSettings::CurEncoder).toString(); | ||
691 | ui.encoderName->setText(EncBase::getEncoderName(settings->value(RbSettings::CurEncoder).toString())); | ||
692 | settings->setValue(RbSettings::CurrentPlatform,olddevice); | ||
693 | |||
694 | |||
695 | EncBase* enc = EncBase::getEncoder(this,encoder); | ||
680 | 696 | ||
681 | enc->setCfg(settings); | 697 | enc->setCfg(settings); |
682 | enc->showCfg(); | 698 | EncTtsCfgGui gui(this,enc,EncBase::getEncoderName(encoder)); |
699 | gui.exec(); | ||
700 | |||
683 | updateEncState(); | 701 | updateEncState(); |
684 | } | 702 | } |