forked from len0rd/rockbox
Make encoder selection update on device change. This includes a workaround as the settings object currently doesn't allow getting the encoder for any other than the selected device.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17968 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
341f831310
commit
b39c20e557
1 changed files with 13 additions and 1 deletions
|
@ -80,6 +80,7 @@ Config::Config(QWidget *parent,int index) : QDialog(parent)
|
|||
connect(ui.configTts, SIGNAL(clicked()), this, SLOT(configTts()));
|
||||
connect(ui.configEncoder, SIGNAL(clicked()), this, SLOT(configEnc()));
|
||||
connect(ui.comboTts, SIGNAL(currentIndexChanged(int)), this, SLOT(updateTtsState(int)));
|
||||
connect(ui.treeDevices, SIGNAL(itemSelectionChanged()), this, SLOT(updateEncState()));
|
||||
|
||||
}
|
||||
|
||||
|
@ -319,8 +320,19 @@ void Config::updateTtsState(int index)
|
|||
|
||||
void Config::updateEncState()
|
||||
{
|
||||
ui.encoderName->setText(EncBase::getEncoderName(settings->curEncoder()));
|
||||
// FIXME: this is a workaround to make the encoder follow the device selection
|
||||
// even with the settings (and thus the device) being saved. Needs to be redone
|
||||
// properly later by extending the settings object
|
||||
if(ui.treeDevices->selectedItems().size() == 0)
|
||||
return;
|
||||
|
||||
QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString();
|
||||
QString olddevice = settings->curPlatform();
|
||||
settings->setCurPlatform(devname);
|
||||
QString encoder = settings->curEncoder();
|
||||
ui.encoderName->setText(EncBase::getEncoderName(settings->curEncoder()));
|
||||
settings->setCurPlatform(olddevice);
|
||||
|
||||
EncBase* enc = EncBase::getEncoder(encoder);
|
||||
enc->setCfg(settings);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue