summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/configure.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/configure.cpp')
-rw-r--r--rbutil/rbutilqt/configure.cpp30
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()
356void Config::updateTtsState(int index) 357void 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()
666void Config::configTts() 667void 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
677void Config::configEnc() 679void 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}