forked from len0rd/rockbox
Completely rework RbSettings class.
- use a single member function for accessing a settings value. - use an enum to figure the correct value in the settings file instead of functions. - return the settings value as QVariant instead and leave converting to the caller. - accept QVariant as value when setting values. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20823 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
3c5e67516b
commit
3d2e42ab4c
16 changed files with 557 additions and 840 deletions
|
|
@ -401,12 +401,13 @@ QString Detect::check(RbSettings* settings, bool permission)
|
|||
}
|
||||
|
||||
// Check TargetId
|
||||
QString installed = installedTarget(settings->mountpoint());
|
||||
if(!installed.isEmpty() && installed != settings->curConfigure_Modelname())
|
||||
QString installed = installedTarget(settings->value(RbSettings::Mountpoint).toString());
|
||||
if(!installed.isEmpty() && installed != settings->value(RbSettings::CurConfigureModel).toString())
|
||||
{
|
||||
text += QObject::tr("<li>Target mismatch detected.\n"
|
||||
"Installed target: %1, selected target: %2.</li>")
|
||||
.arg(installed, settings->curName());
|
||||
.arg(installed, settings->value(RbSettings::CurPlatformName).toString());
|
||||
// FIXME: replace installed by human-friendly name
|
||||
}
|
||||
|
||||
if(!text.isEmpty())
|
||||
|
|
|
|||
|
|
@ -103,20 +103,20 @@ void Config::accept()
|
|||
proxy.setPort(ui.proxyPort->text().toInt());
|
||||
}
|
||||
|
||||
settings->setProxy(proxy.toString());
|
||||
settings->setValue(RbSettings::Proxy, proxy.toString());
|
||||
qDebug() << "new proxy:" << proxy;
|
||||
// proxy type
|
||||
QString proxyType;
|
||||
if(ui.radioNoProxy->isChecked()) proxyType = "none";
|
||||
else if(ui.radioSystemProxy->isChecked()) proxyType = "system";
|
||||
else proxyType = "manual";
|
||||
settings->setProxyType(proxyType);
|
||||
settings->setValue(RbSettings::ProxyType, proxyType);
|
||||
|
||||
// language
|
||||
if(settings->curLang() != language && !language.isEmpty()) {
|
||||
if(settings->value(RbSettings::Language).toString() != language && !language.isEmpty()) {
|
||||
QMessageBox::information(this, tr("Language changed"),
|
||||
tr("You need to restart the application for the changed language to take effect."));
|
||||
settings->setLang(language);
|
||||
settings->setValue(RbSettings::Language, language);
|
||||
}
|
||||
|
||||
// mountpoint
|
||||
|
|
@ -138,14 +138,14 @@ void Config::accept()
|
|||
error = true;
|
||||
}
|
||||
else {
|
||||
settings->setMountpoint(QDir::fromNativeSeparators(mp));
|
||||
settings->setValue(RbSettings::Mountpoint, QDir::fromNativeSeparators(mp));
|
||||
}
|
||||
|
||||
// platform
|
||||
QString nplat;
|
||||
if(ui.treeDevices->selectedItems().size() != 0) {
|
||||
nplat = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString();
|
||||
settings->setCurPlatform(nplat);
|
||||
settings->setValue(RbSettings::Platform, nplat);
|
||||
}
|
||||
else {
|
||||
errormsg += "<li>" + tr("No player selected") + "</li>";
|
||||
|
|
@ -160,18 +160,18 @@ void Config::accept()
|
|||
error = true;
|
||||
}
|
||||
else
|
||||
settings->setCachePath(ui.cachePath->text());
|
||||
settings->setValue(RbSettings::CachePath, ui.cachePath->text());
|
||||
}
|
||||
else // default to system temp path
|
||||
settings->setCachePath(QDir::tempPath());
|
||||
settings->setCacheDisable(ui.cacheDisable->isChecked());
|
||||
settings->setCacheOffline(ui.cacheOfflineMode->isChecked());
|
||||
settings->setValue(RbSettings::CachePath, QDir::tempPath());
|
||||
settings->setValue(RbSettings::CacheDisabled, ui.cacheDisable->isChecked());
|
||||
settings->setValue(RbSettings::CacheOffline, ui.cacheOfflineMode->isChecked());
|
||||
|
||||
// tts settings
|
||||
int i = ui.comboTts->currentIndex();
|
||||
settings->setCurTTS(ui.comboTts->itemData(i).toString());
|
||||
settings->setValue(RbSettings::Tts, ui.comboTts->itemData(i).toString());
|
||||
|
||||
settings->setCurVersion(PUREVERSION);
|
||||
settings->setValue(RbSettings::RbutilVersion, PUREVERSION);
|
||||
|
||||
errormsg += "</ul>";
|
||||
errormsg += tr("You need to fix the above errors before you can continue.");
|
||||
|
|
@ -205,7 +205,7 @@ void Config::setSettings(RbSettings* sett)
|
|||
void Config::setUserSettings()
|
||||
{
|
||||
// set proxy
|
||||
proxy = settings->proxy();
|
||||
proxy = settings->value(RbSettings::Proxy).toString();
|
||||
|
||||
if(proxy.port() > 0)
|
||||
ui.proxyPort->setText(QString("%1").arg(proxy.port()));
|
||||
|
|
@ -214,7 +214,7 @@ void Config::setUserSettings()
|
|||
ui.proxyUser->setText(proxy.userName());
|
||||
ui.proxyPass->setText(proxy.password());
|
||||
|
||||
QString proxyType = settings->proxyType();
|
||||
QString proxyType = settings->value(RbSettings::ProxyType).toString();
|
||||
if(proxyType == "manual") ui.radioManualProxy->setChecked(true);
|
||||
else if(proxyType == "system") ui.radioSystemProxy->setChecked(true);
|
||||
else ui.radioNoProxy->setChecked(true);
|
||||
|
|
@ -224,12 +224,15 @@ void Config::setUserSettings()
|
|||
QString b;
|
||||
// find key for lang value
|
||||
QMap<QString, QString>::const_iterator i = lang.constBegin();
|
||||
QString l = settings->value(RbSettings::Language).toString();
|
||||
if(l.isEmpty())
|
||||
l = QLocale::system().name();
|
||||
while (i != lang.constEnd()) {
|
||||
if(i.value() == settings->curLang()) {
|
||||
if(i.value() == l) {
|
||||
b = i.key();
|
||||
break;
|
||||
}
|
||||
else if(settings->curLang().startsWith(i.value(), Qt::CaseInsensitive)) {
|
||||
else if(l.startsWith(i.value(), Qt::CaseInsensitive)) {
|
||||
// check if there is a base language (en -> en_US, etc.)
|
||||
b = i.key();
|
||||
break;
|
||||
|
|
@ -244,15 +247,15 @@ void Config::setUserSettings()
|
|||
connect(ui.listLanguages, SIGNAL(itemSelectionChanged()), this, SLOT(updateLanguage()));
|
||||
|
||||
// devices tab
|
||||
ui.mountPoint->setText(QDir::toNativeSeparators(settings->mountpoint()));
|
||||
ui.mountPoint->setText(QDir::toNativeSeparators(settings->value(RbSettings::Mountpoint).toString()));
|
||||
|
||||
// cache tab
|
||||
if(!QFileInfo(settings->cachePath()).isDir())
|
||||
settings->setCachePath(QDir::tempPath());
|
||||
ui.cachePath->setText(QDir::toNativeSeparators(settings->cachePath()));
|
||||
ui.cacheDisable->setChecked(settings->cacheDisabled());
|
||||
ui.cacheOfflineMode->setChecked(settings->cacheOffline());
|
||||
updateCacheInfo(settings->cachePath());
|
||||
if(!QFileInfo(settings->value(RbSettings::CachePath).toString()).isDir())
|
||||
settings->setValue(RbSettings::CachePath, QDir::tempPath());
|
||||
ui.cachePath->setText(QDir::toNativeSeparators(settings->value(RbSettings::CachePath).toString()));
|
||||
ui.cacheDisable->setChecked(settings->value(RbSettings::CacheDisabled).toBool());
|
||||
ui.cacheOfflineMode->setChecked(settings->value(RbSettings::CacheOffline).toBool());
|
||||
updateCacheInfo(settings->value(RbSettings::CachePath).toString());
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -276,7 +279,7 @@ void Config::setDevices()
|
|||
// setup devices table
|
||||
qDebug() << "Config::setDevices()";
|
||||
|
||||
QStringList platformList = settings->allPlatforms();
|
||||
QStringList platformList = settings->platforms();
|
||||
|
||||
QMap <QString, QString> manuf;
|
||||
QMap <QString, QString> devcs;
|
||||
|
|
@ -289,7 +292,7 @@ void Config::setDevices()
|
|||
}
|
||||
|
||||
QString platform;
|
||||
platform = devcs.value(settings->curPlatform());
|
||||
platform = devcs.value(settings->value(RbSettings::Platform).toString());
|
||||
|
||||
// set up devices table
|
||||
ui.treeDevices->header()->hide();
|
||||
|
|
@ -342,7 +345,7 @@ void Config::setDevices()
|
|||
for(int a = 0; a < ttslist.size(); a++)
|
||||
ui.comboTts->addItem(TTSBase::getTTSName(ttslist.at(a)), ttslist.at(a));
|
||||
//update index of combobox
|
||||
int index = ui.comboTts->findData(settings->curTTS());
|
||||
int index = ui.comboTts->findData(settings->value(RbSettings::Tts).toString());
|
||||
if(index < 0) index = 0;
|
||||
ui.comboTts->setCurrentIndex(index);
|
||||
updateTtsState(index);
|
||||
|
|
@ -377,11 +380,11 @@ void Config::updateEncState()
|
|||
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);
|
||||
QString olddevice = settings->value(RbSettings::Platform).toString();
|
||||
settings->setValue(RbSettings::Platform, devname);
|
||||
QString encoder = settings->value(RbSettings::CurEncoder).toString();
|
||||
ui.encoderName->setText(EncBase::getEncoderName(settings->value(RbSettings::CurEncoder).toString()));
|
||||
settings->setValue(RbSettings::Platform, olddevice);
|
||||
|
||||
EncBase* enc = EncBase::getEncoder(encoder);
|
||||
enc->setCfg(settings);
|
||||
|
|
@ -597,9 +600,10 @@ void Config::autodetect()
|
|||
QString text;
|
||||
// we need to set the platform here to get the brand from the
|
||||
// settings object
|
||||
settings->setCurPlatform(detector.incompatdev());
|
||||
settings->setValue(RbSettings::Platform, detector.incompatdev());
|
||||
text = tr("Detected an unsupported %1 player variant. Sorry, "
|
||||
"Rockbox doesn't run on your player.").arg(settings->curBrand());
|
||||
"Rockbox doesn't run on your player.")
|
||||
.arg(settings->value(RbSettings::CurBrand).toString());
|
||||
|
||||
QMessageBox::critical(this, tr("Fatal error: incompatible player found"),
|
||||
text, QMessageBox::Ok);
|
||||
|
|
@ -655,7 +659,7 @@ void Config::cacheClear()
|
|||
QFile::remove(f);
|
||||
qDebug() << "removed:" << f;
|
||||
}
|
||||
updateCacheInfo(settings->cachePath());
|
||||
updateCacheInfo(settings->value(RbSettings::CachePath).toString());
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -672,7 +676,7 @@ void Config::configTts()
|
|||
|
||||
void Config::configEnc()
|
||||
{
|
||||
EncBase* enc = EncBase::getEncoder(settings->curEncoder());
|
||||
EncBase* enc = EncBase::getEncoder(settings->value(RbSettings::CurEncoder).toString());
|
||||
|
||||
enc->setCfg(settings);
|
||||
enc->showCfg();
|
||||
|
|
|
|||
|
|
@ -49,14 +49,14 @@ void CreateVoiceWindow::accept()
|
|||
int wvThreshold = ui.wavtrimthreshold->value();
|
||||
|
||||
//safe selected language
|
||||
settings->setVoiceLanguage(lang);
|
||||
settings->setWavtrimTh(wvThreshold);
|
||||
settings->setValue(RbSettings::Language, lang);
|
||||
settings->setValue(RbSettings::WavtrimThreshold, wvThreshold);
|
||||
settings->sync();
|
||||
|
||||
//configure voicecreator
|
||||
voicecreator->setSettings(settings);
|
||||
voicecreator->setMountPoint(settings->mountpoint());
|
||||
voicecreator->setTargetId(settings->curTargetId());
|
||||
voicecreator->setMountPoint(settings->value(RbSettings::Mountpoint).toString());
|
||||
voicecreator->setTargetId(settings->value(RbSettings::CurTargetId).toInt());
|
||||
voicecreator->setLang(lang);
|
||||
voicecreator->setWavtrimThreshold(wvThreshold);
|
||||
|
||||
|
|
@ -79,14 +79,14 @@ void CreateVoiceWindow::setSettings(RbSettings* sett)
|
|||
void CreateVoiceWindow::updateSettings(void)
|
||||
{
|
||||
// fill in language combobox
|
||||
QStringList languages = settings->allLanguages();
|
||||
QStringList languages = settings->languages();
|
||||
languages.sort();
|
||||
ui.comboLanguage->addItems(languages);
|
||||
// set saved lang
|
||||
int sel = ui.comboLanguage->findText(settings->voiceLanguage());
|
||||
int sel = ui.comboLanguage->findText(settings->value(RbSettings::VoiceLanguage).toString());
|
||||
// if no saved language is found try to figure the language from the UI lang
|
||||
if(sel == -1) {
|
||||
QString f = settings->curLang();
|
||||
QString f = settings->value(RbSettings::Language).toString();
|
||||
// if no language is set default to english. Make sure not to check an empty string.
|
||||
if(f.isEmpty()) f = "english";
|
||||
sel = ui.comboLanguage->findText(f, Qt::MatchStartsWith);
|
||||
|
|
@ -97,7 +97,7 @@ void CreateVoiceWindow::updateSettings(void)
|
|||
}
|
||||
ui.comboLanguage->setCurrentIndex(sel);
|
||||
|
||||
QString ttsName = settings->curTTS();
|
||||
QString ttsName = settings->value(RbSettings::Tts).toString();
|
||||
TTSBase* tts = TTSBase::getTTS(ttsName);
|
||||
tts->setCfg(settings);
|
||||
if(tts->configOk())
|
||||
|
|
@ -107,7 +107,7 @@ void CreateVoiceWindow::updateSettings(void)
|
|||
ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>")
|
||||
.arg("Invalid TTS configuration!"));
|
||||
|
||||
QString encoder = settings->curEncoder();
|
||||
QString encoder = settings->value(RbSettings::CurEncoder).toString();
|
||||
// only proceed if encoder setting is set
|
||||
EncBase* enc = EncBase::getEncoder(encoder);
|
||||
if(enc != NULL) {
|
||||
|
|
@ -122,7 +122,7 @@ void CreateVoiceWindow::updateSettings(void)
|
|||
else
|
||||
ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>")
|
||||
.arg("Invalid encoder configuration!"));
|
||||
ui.wavtrimthreshold->setValue(settings->wavtrimTh());
|
||||
ui.wavtrimthreshold->setValue(settings->value(RbSettings::WavtrimThreshold).toInt());
|
||||
emit settingsUpdated();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -99,8 +99,8 @@ EncExes::EncExes(QString name,QObject *parent) : EncBase(parent)
|
|||
|
||||
bool EncExes::start()
|
||||
{
|
||||
m_EncExec = settings->encoderPath(m_name);
|
||||
m_EncOpts = settings->encoderOptions(m_name);
|
||||
m_EncExec = settings->subValue(m_name, RbSettings::EncoderPath).toString();
|
||||
m_EncOpts = settings->subValue(m_name, RbSettings::EncoderOptions).toString();
|
||||
|
||||
m_EncTemplate = m_TemplateMap.value(m_name);
|
||||
|
||||
|
|
@ -144,7 +144,7 @@ void EncExes::showCfg()
|
|||
|
||||
bool EncExes::configOk()
|
||||
{
|
||||
QString path = settings->encoderPath(m_name);
|
||||
QString path = settings->subValue(m_name, RbSettings::EncoderPath).toString();
|
||||
|
||||
if (QFileInfo(path).exists())
|
||||
return true;
|
||||
|
|
@ -171,10 +171,10 @@ bool EncRbSpeex::start()
|
|||
{
|
||||
|
||||
// try to get config from settings
|
||||
quality = settings->encoderQuality("rbspeex");
|
||||
complexity = settings->encoderComplexity("rbspeex");
|
||||
volume = settings->encoderVolume("rbspeex");
|
||||
narrowband = settings->encoderNarrowband("rbspeex");
|
||||
quality = settings->subValue("rbspeex", RbSettings::EncoderQuality).toDouble();
|
||||
complexity = settings->subValue("rbspeex", RbSettings::EncoderComplexity).toInt();
|
||||
volume = settings->subValue("rbspeex", RbSettings::EncoderVolume).toDouble();
|
||||
narrowband = settings->subValue("rbspeex", RbSettings::EncoderNarrowBand).toBool();
|
||||
|
||||
|
||||
return true;
|
||||
|
|
@ -227,13 +227,13 @@ bool EncRbSpeex::configOk()
|
|||
bool result=true;
|
||||
// check config
|
||||
|
||||
if(settings->encoderVolume("rbspeex") <= 0)
|
||||
if(settings->subValue("rbspeex", RbSettings::EncoderVolume).toDouble() <= 0)
|
||||
result =false;
|
||||
|
||||
if(settings->encoderQuality("rbspeex") <= 0)
|
||||
if(settings->subValue("rbspeex", RbSettings::EncoderQuality).toDouble() <= 0)
|
||||
result =false;
|
||||
|
||||
if(settings->encoderComplexity("rbspeex") <= 0)
|
||||
if(settings->subValue("rbspeex", RbSettings::EncoderComplexity).toInt() <= 0)
|
||||
result =false;
|
||||
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ void EncExesGui::showCfg(QString name)
|
|||
{
|
||||
m_name = name;
|
||||
// try to get config from settings
|
||||
QString exepath =settings->encoderPath(m_name);
|
||||
ui.encoderoptions->setText(settings->encoderOptions(m_name));
|
||||
QString exepath =settings->subValue(m_name, RbSettings::EncoderPath).toString();
|
||||
ui.encoderoptions->setText(settings->subValue(m_name, RbSettings::EncoderOptions).toString());
|
||||
|
||||
if(exepath == "")
|
||||
{
|
||||
|
|
@ -75,8 +75,8 @@ void EncExesGui::showCfg(QString name)
|
|||
void EncExesGui::accept(void)
|
||||
{
|
||||
//save settings in user config
|
||||
settings->setEncoderPath(m_name,ui.encoderpath->text());
|
||||
settings->setEncoderOptions(m_name,ui.encoderoptions->text());
|
||||
settings->setSubValue(m_name, RbSettings::EncoderPath, ui.encoderpath->text());
|
||||
settings->setSubValue(m_name, RbSettings::EncoderOptions, ui.encoderoptions->text());
|
||||
|
||||
// sync settings
|
||||
settings->sync();
|
||||
|
|
@ -130,11 +130,11 @@ void EncRbSpeexGui::showCfg(float defQ,float defV,int defC, bool defB)
|
|||
defaultBand =defB;
|
||||
|
||||
//fill in the usersettings
|
||||
ui.volume->setValue(settings->encoderVolume("rbspeex"));
|
||||
ui.quality->setValue(settings->encoderQuality("rbspeex"));
|
||||
ui.complexity->setValue(settings->encoderComplexity("rbspeex"));
|
||||
ui.volume->setValue(settings->subValue("rbspeex", RbSettings::EncoderVolume).toDouble());
|
||||
ui.quality->setValue(settings->subValue("rbspeex", RbSettings::EncoderQuality).toDouble());
|
||||
ui.complexity->setValue(settings->subValue("rbspeex", RbSettings::EncoderComplexity).toInt());
|
||||
|
||||
if(settings->encoderNarrowband("rbspeex"))
|
||||
if(settings->subValue("rbspeex", RbSettings::EncoderNarrowBand).toBool())
|
||||
ui.narrowband->setCheckState(Qt::Checked);
|
||||
else
|
||||
ui.narrowband->setCheckState(Qt::Unchecked);
|
||||
|
|
@ -146,10 +146,10 @@ void EncRbSpeexGui::showCfg(float defQ,float defV,int defC, bool defB)
|
|||
void EncRbSpeexGui::accept(void)
|
||||
{
|
||||
//save settings in user config
|
||||
settings->setEncoderVolume("rbspeex",ui.volume->value());
|
||||
settings->setEncoderQuality("rbspeex",ui.quality->value());
|
||||
settings->setEncoderComplexity("rbspeex",ui.complexity->value());
|
||||
settings->setEncoderNarrowband("rbspeex",ui.narrowband->isChecked() ? true : false);
|
||||
settings->setSubValue("rbspeex", RbSettings::EncoderVolume, ui.volume->value());
|
||||
settings->setSubValue("rbspeex", RbSettings::EncoderQuality, ui.quality->value());
|
||||
settings->setSubValue("rbspeex", RbSettings::EncoderComplexity, ui.complexity->value());
|
||||
settings->setSubValue("rbspeex", RbSettings::EncoderNarrowBand, ui.narrowband->isChecked() ? true : false);
|
||||
|
||||
// sync settings
|
||||
settings->sync();
|
||||
|
|
|
|||
|
|
@ -34,12 +34,12 @@ Install::Install(RbSettings *sett,QWidget *parent) : QDialog(parent)
|
|||
connect(ui.backup, SIGNAL(stateChanged(int)), this, SLOT(backupCheckboxChanged(int)));
|
||||
|
||||
//! check if rockbox is already installed
|
||||
QString version = Detect::installedVersion(settings->mountpoint());
|
||||
QString version = Detect::installedVersion(settings->value(RbSettings::Mountpoint).toString());
|
||||
|
||||
if(version != "")
|
||||
{
|
||||
ui.Backupgroup->show();
|
||||
m_backupName = settings->mountpoint();
|
||||
m_backupName = settings->value(RbSettings::Mountpoint).toString();
|
||||
if(!m_backupName.endsWith("/")) m_backupName += "/";
|
||||
m_backupName += ".backup/rockbox-backup-"+version+".zip";
|
||||
// for some reason the label doesn't return its final size yet.
|
||||
|
|
@ -91,8 +91,8 @@ void Install::accept()
|
|||
{
|
||||
logger = new ProgressLoggerGui(this);
|
||||
logger->show();
|
||||
QString mountPoint = settings->mountpoint();
|
||||
qDebug() << "mountpoint:" << settings->mountpoint();
|
||||
QString mountPoint = settings->value(RbSettings::Mountpoint).toString();
|
||||
qDebug() << "mountpoint:" << settings->value(RbSettings::Mountpoint).toString();
|
||||
// show dialog with error if mount point is wrong
|
||||
if(!QFileInfo(mountPoint).isDir()) {
|
||||
logger->addItem(tr("Mount point is wrong!"),LOGERROR);
|
||||
|
|
@ -101,30 +101,30 @@ void Install::accept()
|
|||
}
|
||||
|
||||
QString myversion;
|
||||
QString buildname = settings->curBuildserver_Modelname();
|
||||
QString buildname = settings->value(RbSettings::CurBuildserverModel).toString();
|
||||
if(ui.radioStable->isChecked()) {
|
||||
file = QString("%1/%2/rockbox-%3-%4.zip")
|
||||
.arg(settings->releaseUrl(), version.value("rel_rev"),
|
||||
.arg(settings->value(RbSettings::ReleaseUrl).toString(), version.value("rel_rev"),
|
||||
buildname, version.value("rel_rev"));
|
||||
fileName = QString("rockbox-%1-%2.zip")
|
||||
.arg(version.value("rel_rev"), buildname);
|
||||
settings->setBuild("stable");
|
||||
settings->setValue(RbSettings::Build, "stable");
|
||||
myversion = version.value("rel_rev");
|
||||
}
|
||||
else if(ui.radioArchived->isChecked()) {
|
||||
file = QString("%1%2/rockbox-%3-%4.zip")
|
||||
.arg(settings->dailyUrl(),
|
||||
.arg(settings->value(RbSettings::DailyUrl).toString(),
|
||||
buildname, buildname, version.value("arch_date"));
|
||||
fileName = QString("rockbox-%1-%2.zip")
|
||||
.arg(buildname, version.value("arch_date"));
|
||||
settings->setBuild("archived");
|
||||
settings->setValue(RbSettings::Build, "archived");
|
||||
myversion = "r" + version.value("arch_rev") + "-" + version.value("arch_date");
|
||||
}
|
||||
else if(ui.radioCurrent->isChecked()) {
|
||||
file = QString("%1%2/rockbox.zip")
|
||||
.arg(settings->bleedingUrl(), buildname);
|
||||
.arg(settings->value(RbSettings::BleedingUrl).toString(), buildname);
|
||||
fileName = QString("rockbox.zip");
|
||||
settings->setBuild("current");
|
||||
settings->setValue(RbSettings::Build, "current");
|
||||
myversion = "r" + version.value("bleed_rev");
|
||||
}
|
||||
else {
|
||||
|
|
@ -162,7 +162,8 @@ void Install::accept()
|
|||
//! create backup
|
||||
RbZip backup;
|
||||
connect(&backup,SIGNAL(zipProgress(int,int)),logger,SLOT(setProgress(int,int)));
|
||||
if(backup.createZip(m_backupName,settings->mountpoint() + "/.rockbox") == Zip::Ok)
|
||||
if(backup.createZip(m_backupName,
|
||||
settings->value(RbSettings::Mountpoint).toString() + "/.rockbox") == Zip::Ok)
|
||||
{
|
||||
logger->addItem(tr("Backup successful"),LOGOK);
|
||||
}
|
||||
|
|
@ -178,7 +179,7 @@ void Install::accept()
|
|||
installer = new ZipInstaller(this);
|
||||
installer->setUrl(file);
|
||||
installer->setLogSection("Rockbox (Base)");
|
||||
if(!settings->cacheDisabled()
|
||||
if(!settings->value(RbSettings::CacheDisabled).toBool()
|
||||
&& !ui.checkBoxCache->isChecked())
|
||||
{
|
||||
installer->setCache(true);
|
||||
|
|
@ -218,9 +219,9 @@ void Install::done(bool error)
|
|||
// no error, close the window, when the logger is closed
|
||||
connect(logger,SIGNAL(closed()),this,SLOT(close()));
|
||||
// add platform info to log file for later detection
|
||||
QSettings installlog(settings->mountpoint()
|
||||
QSettings installlog(settings->value(RbSettings::Mountpoint).toString()
|
||||
+ "/.rockbox/rbutil.log", QSettings::IniFormat, 0);
|
||||
installlog.setValue("platform", settings->curPlatform());
|
||||
installlog.setValue("platform", settings->value(RbSettings::Platform).toString());
|
||||
installlog.sync();
|
||||
}
|
||||
|
||||
|
|
@ -288,11 +289,12 @@ void Install::setVersionStrings(QMap<QString, QString>& ver)
|
|||
|
||||
// try to use the old selection first. If no selection has been made
|
||||
// in the past, use a preselection based on released status.
|
||||
if(settings->build() == "stable" && !version.value("rel_rev").isEmpty())
|
||||
if(settings->value(RbSettings::Build).toString() == "stable"
|
||||
&& !version.value("rel_rev").isEmpty())
|
||||
ui.radioStable->setChecked(true);
|
||||
else if(settings->build() == "archived")
|
||||
else if(settings->value(RbSettings::Build).toString() == "archived")
|
||||
ui.radioArchived->setChecked(true);
|
||||
else if(settings->build() == "current")
|
||||
else if(settings->value(RbSettings::Build).toString() == "current")
|
||||
ui.radioCurrent->setChecked(true);
|
||||
else if(!version.value("rel_rev").isEmpty()) {
|
||||
ui.radioStable->setChecked(true);
|
||||
|
|
|
|||
|
|
@ -88,13 +88,13 @@ void InstallTalkWindow::accept()
|
|||
return;
|
||||
}
|
||||
|
||||
settings->setLastTalkedDir(folderToTalk);
|
||||
settings->setValue(RbSettings::LastTalkedFolder, folderToTalk);
|
||||
|
||||
settings->sync();
|
||||
|
||||
talkcreator->setSettings(settings);
|
||||
talkcreator->setDir(QDir(folderToTalk));
|
||||
talkcreator->setMountPoint(settings->mountpoint());
|
||||
talkcreator->setMountPoint(settings->value(RbSettings::Mountpoint).toString());
|
||||
|
||||
talkcreator->setOverwriteTalk(ui.OverwriteTalk->isChecked());
|
||||
talkcreator->setRecursive(ui.recursive->isChecked());
|
||||
|
|
@ -115,7 +115,7 @@ void InstallTalkWindow::setSettings(RbSettings* sett)
|
|||
|
||||
void InstallTalkWindow::updateSettings(void)
|
||||
{
|
||||
QString ttsName = settings->curTTS();
|
||||
QString ttsName = settings->value(RbSettings::Tts).toString();
|
||||
TTSBase* tts = TTSBase::getTTS(ttsName);
|
||||
tts->setCfg(settings);
|
||||
if(tts->configOk())
|
||||
|
|
@ -125,7 +125,7 @@ void InstallTalkWindow::updateSettings(void)
|
|||
ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>")
|
||||
.arg("Invalid TTS configuration!"));
|
||||
|
||||
QString encoder = settings->curEncoder();
|
||||
QString encoder = settings->value(RbSettings::CurEncoder).toString();
|
||||
EncBase* enc = EncBase::getEncoder(encoder);
|
||||
if(enc != NULL) {
|
||||
enc->setCfg(settings);
|
||||
|
|
@ -140,7 +140,7 @@ void InstallTalkWindow::updateSettings(void)
|
|||
ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>")
|
||||
.arg("Invalid encoder configuration!"));
|
||||
|
||||
setTalkFolder(settings->lastTalkedFolder());
|
||||
setTalkFolder(settings->value(RbSettings::LastTalkedFolder).toString());
|
||||
emit settingsUpdated();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,10 +25,79 @@
|
|||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
// device settings
|
||||
const static struct {
|
||||
RbSettings::SystemSettings setting;
|
||||
const char* name;
|
||||
const char* def;
|
||||
} SystemSettingsList[] = {
|
||||
{ RbSettings::ManualUrl, "manual_url", "" },
|
||||
{ RbSettings::BleedingUrl, "bleeding_url", "" },
|
||||
{ RbSettings::BootloaderUrl, "bootloader_url", "" },
|
||||
{ RbSettings::BootloaderInfoUrl, "bootloader_info_url", "" },
|
||||
{ RbSettings::FontUrl, "font_url", "" },
|
||||
{ RbSettings::VoiceUrl, "voice_url", "" },
|
||||
{ RbSettings::DoomUrl, "doom_url", "" },
|
||||
{ RbSettings::ReleaseUrl, "release_url", "" },
|
||||
{ RbSettings::DailyUrl, "daily_url", "" },
|
||||
{ RbSettings::ServerConfUrl, "server_conf_url", "" },
|
||||
{ RbSettings::GenlangUrl, "genlang_url", "" },
|
||||
{ RbSettings::ThemesUrl, "themes_url", "" },
|
||||
{ RbSettings::BleedingInfo, "bleeding_info", "" },
|
||||
{ RbSettings::CurPlatformName, ":platform:/name", "" },
|
||||
{ RbSettings::CurManual, ":platform:/manual", "rockbox-:platform:" },
|
||||
{ RbSettings::CurBootloaderMethod, ":platform:/bootloadermethod", "none" },
|
||||
{ RbSettings::CurBootloaderName, ":platform:/bootloadername", "" },
|
||||
{ RbSettings::CurBootloaderFile, ":platform:/bootloaderfile", "" },
|
||||
{ RbSettings::CurEncoder, ":platform:/encoder", "" },
|
||||
{ RbSettings::CurResolution, ":platform:/resolution", "" },
|
||||
{ RbSettings::CurBrand, ":platform:/brand", "" },
|
||||
{ RbSettings::CurName, ":platform:/name", "" },
|
||||
{ RbSettings::CurBuildserverModel, ":platform:/buildserver_modelname", "" },
|
||||
{ RbSettings::CurConfigureModel, ":platform:/configure_modelname", "" },
|
||||
{ RbSettings::CurTargetId, ":platform:/targetid", "" },
|
||||
};
|
||||
|
||||
// user settings
|
||||
const static struct {
|
||||
RbSettings::UserSettings setting;
|
||||
const char* name;
|
||||
const char* def;
|
||||
} UserSettingsList[] = {
|
||||
{ RbSettings::RbutilVersion, "rbutil_version", "" },
|
||||
{ RbSettings::CurrentPlatform, "platform", "" },
|
||||
{ RbSettings::Mountpoint, "mountpoint", "" },
|
||||
{ RbSettings::CachePath, "cachepath", "" },
|
||||
{ RbSettings::Build, "build", "" },
|
||||
{ RbSettings::ProxyType, "proxytype", "" },
|
||||
{ RbSettings::Proxy, "proxy", "" },
|
||||
{ RbSettings::OfPath, "ofpath", "" },
|
||||
{ RbSettings::Platform, "platform", "" },
|
||||
{ RbSettings::Language, "lang", "" },
|
||||
{ RbSettings::Tts, "tts", "" },
|
||||
{ RbSettings::LastTalkedFolder, "last_talked_folder", "" },
|
||||
{ RbSettings::VoiceLanguage, "voicelanguage", "" },
|
||||
{ RbSettings::TtsLanguage, ":tts:/language", "" },
|
||||
{ RbSettings::TtsOptions, ":tts:/options", "" },
|
||||
{ RbSettings::TtsPath, ":tts:/path", "" },
|
||||
{ RbSettings::TtsVoice, ":tts:/voice", "" },
|
||||
{ RbSettings::EncoderPath, ":encoder:/encoderpath", "" },
|
||||
{ RbSettings::EncoderOptions, ":encoder:/encoderoptions", "" },
|
||||
{ RbSettings::CacheOffline, "offline", "false" },
|
||||
{ RbSettings::CacheDisabled, "cachedisable", "false" },
|
||||
{ RbSettings::TtsUseSapi4, "sapi/useSapi4", "false" },
|
||||
{ RbSettings::EncoderNarrowBand, ":encoder:/narrowband", "false" },
|
||||
{ RbSettings::WavtrimThreshold, "wavtrimthreshold", "500"},
|
||||
{ RbSettings::TtsSpeed, ":tts:/speed", "0" },
|
||||
{ RbSettings::EncoderComplexity, ":encoder:/complexity", "10" },
|
||||
{ RbSettings::EncoderQuality, ":encoder:/quality", "8.0" },
|
||||
{ RbSettings::EncoderVolume, ":encoder:/volume", "1.0" },
|
||||
};
|
||||
|
||||
void RbSettings::open()
|
||||
{
|
||||
// only use built-in rbutil.ini
|
||||
devices = new QSettings(":/ini/rbutil.ini", QSettings::IniFormat, 0);
|
||||
systemSettings = new QSettings(":/ini/rbutil.ini", QSettings::IniFormat, 0);
|
||||
// portable installation:
|
||||
// check for a configuration file in the program folder.
|
||||
QFileInfo config;
|
||||
|
|
@ -74,321 +143,89 @@ void RbSettings::sync()
|
|||
#endif
|
||||
}
|
||||
|
||||
QVariant RbSettings::deviceSettingCurGet(QString entry,QString def)
|
||||
|
||||
QVariant RbSettings::value(enum SystemSettings setting)
|
||||
{
|
||||
QString platform = userSettings->value("platform").toString();
|
||||
devices->beginGroup(platform);
|
||||
QVariant result = devices->value(entry,def);
|
||||
devices->endGroup();
|
||||
return result;
|
||||
// locate setting item
|
||||
int i = 0;
|
||||
while(SystemSettingsList[i].setting != setting)
|
||||
i++;
|
||||
|
||||
QString s = constructSettingPath(SystemSettingsList[i].name);
|
||||
QString d = SystemSettingsList[i].def;
|
||||
d.replace(":platform:", userSettings->value("platform").toString());
|
||||
qDebug() << "[Settings] GET S:" << s << systemSettings->value(s, d).toString();
|
||||
return systemSettings->value(s, d);
|
||||
}
|
||||
|
||||
QVariant RbSettings::userSettingsGroupGet(QString group,QString entry,QVariant def)
|
||||
{
|
||||
userSettings->beginGroup(group);
|
||||
QVariant result = userSettings->value(entry,def);
|
||||
userSettings->endGroup();
|
||||
return result;
|
||||
}
|
||||
|
||||
void RbSettings::userSettingsGroupSet(QString group,QString entry,QVariant value)
|
||||
{
|
||||
userSettings->beginGroup(group);
|
||||
userSettings->setValue(entry,value);
|
||||
userSettings->endGroup();
|
||||
}
|
||||
|
||||
QString RbSettings::userSettingFilename()
|
||||
{
|
||||
return userSettings->fileName();
|
||||
}
|
||||
|
||||
QString RbSettings::curVersion()
|
||||
|
||||
QVariant RbSettings::subValue(QString& sub, enum UserSettings setting)
|
||||
{
|
||||
return userSettings->value("rbutil_version").toString();
|
||||
// locate setting item
|
||||
int i = 0;
|
||||
while(UserSettingsList[i].setting != setting)
|
||||
i++;
|
||||
|
||||
QString s = constructSettingPath(UserSettingsList[i].name, sub);
|
||||
qDebug() << "[Settings] GET U:" << s << userSettings->value(s).toString();
|
||||
return userSettings->value(s, UserSettingsList[i].def);
|
||||
}
|
||||
|
||||
bool RbSettings::cacheOffline()
|
||||
|
||||
void RbSettings::setSubValue(QString& sub, enum UserSettings setting, QVariant value)
|
||||
{
|
||||
return userSettings->value("offline").toBool();
|
||||
// locate setting item
|
||||
int i = 0;
|
||||
while(UserSettingsList[i].setting != setting)
|
||||
i++;
|
||||
|
||||
QString s = constructSettingPath(UserSettingsList[i].name, sub);
|
||||
qDebug() << "[Settings] SET U:" << s << userSettings->value(s).toString();
|
||||
userSettings->setValue(s, value);
|
||||
}
|
||||
|
||||
QString RbSettings::mountpoint()
|
||||
{
|
||||
return userSettings->value("mountpoint").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::manualUrl()
|
||||
{
|
||||
return devices->value("manual_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::bleedingUrl()
|
||||
{
|
||||
return devices->value("bleeding_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::cachePath()
|
||||
{
|
||||
return userSettings->value("cachepath", QDir::tempPath()).toString();
|
||||
}
|
||||
|
||||
QString RbSettings::build()
|
||||
{
|
||||
return userSettings->value("build").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::bootloaderUrl()
|
||||
{
|
||||
return devices->value("bootloader_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::bootloaderInfoUrl()
|
||||
{
|
||||
return devices->value("bootloader_info_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::fontUrl()
|
||||
{
|
||||
return devices->value("font_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::voiceUrl()
|
||||
{
|
||||
return devices->value("voice_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::doomUrl()
|
||||
{
|
||||
return devices->value("doom_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::releaseUrl()
|
||||
{
|
||||
return devices->value("release_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::dailyUrl()
|
||||
{
|
||||
return devices->value("daily_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::serverConfUrl()
|
||||
{
|
||||
return devices->value("server_conf_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::genlangUrl()
|
||||
{
|
||||
return devices->value("genlang_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::themeUrl()
|
||||
{
|
||||
return devices->value("themes_url").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::bleedingInfo()
|
||||
{
|
||||
return devices->value("bleeding_info").toString();
|
||||
}
|
||||
|
||||
bool RbSettings::cacheDisabled()
|
||||
{
|
||||
return userSettings->value("cachedisable").toBool();
|
||||
}
|
||||
|
||||
QString RbSettings::proxyType()
|
||||
{
|
||||
return userSettings->value("proxytype", "none").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::proxy()
|
||||
{
|
||||
return userSettings->value("proxy").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::ofPath()
|
||||
{
|
||||
return userSettings->value("ofpath").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::curBrand()
|
||||
{
|
||||
QString platform = userSettings->value("platform").toString();
|
||||
return brand(platform);
|
||||
}
|
||||
|
||||
QString RbSettings::curName()
|
||||
{
|
||||
QString platform = userSettings->value("platform").toString();
|
||||
return name(platform);
|
||||
}
|
||||
|
||||
QString RbSettings::curPlatform()
|
||||
{
|
||||
return userSettings->value("platform").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::curBuildserver_Modelname()
|
||||
{
|
||||
return deviceSettingCurGet("buildserver_modelname").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::curManual()
|
||||
{
|
||||
return deviceSettingCurGet("manualname","rockbox-" +
|
||||
devices->value("platform").toString()).toString();
|
||||
}
|
||||
|
||||
QString RbSettings::curBootloaderMethod()
|
||||
{
|
||||
return deviceSettingCurGet("bootloadermethod", "none").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::curBootloaderName()
|
||||
{
|
||||
return deviceSettingCurGet("bootloadername").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::curBootloaderFile()
|
||||
{
|
||||
return deviceSettingCurGet("bootloaderfile").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::curConfigure_Modelname()
|
||||
{
|
||||
return deviceSettingCurGet("configure_modelname").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::curLang()
|
||||
{
|
||||
// QSettings::value only returns the default when the setting
|
||||
// doesn't exist. Make sure to return the system language if
|
||||
// the language in the configuration is present but empty too.
|
||||
QString lang = userSettings->value("lang").toString();
|
||||
if(lang.isEmpty())
|
||||
lang = QLocale::system().name();
|
||||
return lang;
|
||||
}
|
||||
|
||||
QString RbSettings::curEncoder()
|
||||
{
|
||||
return deviceSettingCurGet("encoder").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::curTTS()
|
||||
{
|
||||
return userSettings->value("tts").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::lastTalkedFolder()
|
||||
{
|
||||
return userSettings->value("last_talked_folder").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::voiceLanguage()
|
||||
{
|
||||
return userSettings->value("voicelanguage").toString();
|
||||
}
|
||||
|
||||
int RbSettings::wavtrimTh()
|
||||
{
|
||||
return userSettings->value("wavtrimthreshold",500).toInt();
|
||||
}
|
||||
|
||||
QString RbSettings::ttsPath(QString tts)
|
||||
{
|
||||
return userSettingsGroupGet(tts,"ttspath").toString();
|
||||
}
|
||||
QString RbSettings::ttsOptions(QString tts)
|
||||
{
|
||||
return userSettingsGroupGet(tts,"ttsoptions").toString();
|
||||
}
|
||||
QString RbSettings::ttsVoice(QString tts)
|
||||
{
|
||||
return userSettingsGroupGet(tts,"ttsvoice","Microsoft Sam").toString();
|
||||
}
|
||||
int RbSettings::ttsSpeed(QString tts)
|
||||
{
|
||||
return userSettingsGroupGet(tts,"ttsspeed",0).toInt();
|
||||
}
|
||||
QString RbSettings::ttsLang(QString tts)
|
||||
{
|
||||
return userSettingsGroupGet(tts,"ttslanguage","english").toString();
|
||||
}
|
||||
|
||||
bool RbSettings::ttsUseSapi4()
|
||||
{
|
||||
return userSettingsGroupGet("sapi","useSapi4",false).toBool();
|
||||
}
|
||||
|
||||
QString RbSettings::encoderPath(QString enc)
|
||||
{
|
||||
return userSettingsGroupGet(enc,"encoderpath").toString();
|
||||
}
|
||||
QString RbSettings::encoderOptions(QString enc)
|
||||
{
|
||||
return userSettingsGroupGet(enc,"encoderoptions").toString();
|
||||
}
|
||||
|
||||
double RbSettings::encoderQuality(QString enc)
|
||||
{
|
||||
return userSettingsGroupGet(enc,"quality",8.f).toDouble();
|
||||
}
|
||||
int RbSettings::encoderComplexity(QString enc)
|
||||
{
|
||||
return userSettingsGroupGet(enc,"complexity",10).toInt();
|
||||
}
|
||||
double RbSettings::encoderVolume(QString enc)
|
||||
{
|
||||
return userSettingsGroupGet(enc,"volume",1.f).toDouble();
|
||||
}
|
||||
bool RbSettings::encoderNarrowband(QString enc)
|
||||
{
|
||||
return userSettingsGroupGet(enc,"narrowband",false).toBool();
|
||||
}
|
||||
|
||||
QStringList RbSettings::allPlatforms()
|
||||
QStringList RbSettings::platforms()
|
||||
{
|
||||
QStringList result;
|
||||
devices->beginGroup("platforms");
|
||||
QStringList a = devices->childKeys();
|
||||
systemSettings->beginGroup("platforms");
|
||||
QStringList a = systemSettings->childKeys();
|
||||
for(int i = 0; i < a.size(); i++)
|
||||
{
|
||||
result.append(devices->value(a.at(i), "null").toString());
|
||||
result.append(systemSettings->value(a.at(i), "null").toString());
|
||||
}
|
||||
devices->endGroup();
|
||||
systemSettings->endGroup();
|
||||
return result;
|
||||
}
|
||||
|
||||
QStringList RbSettings::allLanguages()
|
||||
QStringList RbSettings::languages()
|
||||
{
|
||||
QStringList result;
|
||||
devices->beginGroup("languages");
|
||||
QStringList a = devices->childKeys();
|
||||
systemSettings->beginGroup("languages");
|
||||
QStringList a = systemSettings->childKeys();
|
||||
for(int i = 0; i < a.size(); i++)
|
||||
{
|
||||
result.append(devices->value(a.at(i), "null").toString());
|
||||
result.append(systemSettings->value(a.at(i), "null").toString());
|
||||
}
|
||||
devices->endGroup();
|
||||
systemSettings->endGroup();
|
||||
return result;
|
||||
}
|
||||
|
||||
QString RbSettings::name(QString plattform)
|
||||
QString RbSettings::name(QString platform)
|
||||
{
|
||||
devices->beginGroup(plattform);
|
||||
QString name = devices->value("name").toString();
|
||||
devices->endGroup();
|
||||
return name;
|
||||
return systemSettings->value(platform + "/name").toString();
|
||||
}
|
||||
|
||||
QString RbSettings::brand(QString plattform)
|
||||
QString RbSettings::brand(QString platform)
|
||||
{
|
||||
devices->beginGroup(plattform);
|
||||
QString brand = devices->value("brand").toString();
|
||||
devices->endGroup();
|
||||
return brand;
|
||||
return systemSettings->value(platform + "/brand").toString();
|
||||
}
|
||||
|
||||
QMap<int, QString> RbSettings::usbIdMap(enum MapType type)
|
||||
|
|
@ -396,9 +233,9 @@ QMap<int, QString> RbSettings::usbIdMap(enum MapType type)
|
|||
QMap<int, QString> map;
|
||||
// get a list of ID -> target name
|
||||
QStringList platforms;
|
||||
devices->beginGroup("platforms");
|
||||
platforms = devices->childKeys();
|
||||
devices->endGroup();
|
||||
systemSettings->beginGroup("platforms");
|
||||
platforms = systemSettings->childKeys();
|
||||
systemSettings->endGroup();
|
||||
|
||||
QString t;
|
||||
switch(type) {
|
||||
|
|
@ -415,161 +252,34 @@ QMap<int, QString> RbSettings::usbIdMap(enum MapType type)
|
|||
|
||||
for(int i = 0; i < platforms.size(); i++)
|
||||
{
|
||||
devices->beginGroup("platforms");
|
||||
QString target = devices->value(platforms.at(i)).toString();
|
||||
devices->endGroup();
|
||||
devices->beginGroup(target);
|
||||
QStringList ids = devices->value(t).toStringList();
|
||||
systemSettings->beginGroup("platforms");
|
||||
QString target = systemSettings->value(platforms.at(i)).toString();
|
||||
systemSettings->endGroup();
|
||||
systemSettings->beginGroup(target);
|
||||
QStringList ids = systemSettings->value(t).toStringList();
|
||||
int j = ids.size();
|
||||
while(j--)
|
||||
map.insert(ids.at(j).toInt(0, 16), target);
|
||||
|
||||
devices->endGroup();
|
||||
systemSettings->endGroup();
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
|
||||
QString RbSettings::curResolution()
|
||||
QString RbSettings::constructSettingPath(QString path, QString substitute)
|
||||
{
|
||||
return deviceSettingCurGet("resolution").toString();
|
||||
}
|
||||
|
||||
int RbSettings::curTargetId()
|
||||
{
|
||||
return deviceSettingCurGet("targetid").toInt();
|
||||
}
|
||||
|
||||
void RbSettings::setCurVersion(QString version)
|
||||
{
|
||||
userSettings->setValue("rbutil_version",version);
|
||||
}
|
||||
|
||||
void RbSettings::setOfPath(QString path)
|
||||
{
|
||||
userSettings->setValue("ofpath",path);
|
||||
}
|
||||
|
||||
void RbSettings::setCachePath(QString path)
|
||||
{
|
||||
userSettings->setValue("cachepath", path);
|
||||
}
|
||||
|
||||
void RbSettings::setBuild(QString build)
|
||||
{
|
||||
userSettings->setValue("build", build);
|
||||
}
|
||||
|
||||
void RbSettings::setLastTalkedDir(QString dir)
|
||||
{
|
||||
userSettings->setValue("last_talked_folder", dir);
|
||||
}
|
||||
|
||||
void RbSettings::setVoiceLanguage(QString dir)
|
||||
{
|
||||
userSettings->setValue("voicelanguage", dir);
|
||||
}
|
||||
|
||||
void RbSettings::setWavtrimTh(int th)
|
||||
{
|
||||
userSettings->setValue("wavtrimthreshold", th);
|
||||
}
|
||||
|
||||
void RbSettings::setProxy(QString proxy)
|
||||
{
|
||||
userSettings->setValue("proxy", proxy);
|
||||
}
|
||||
|
||||
void RbSettings::setProxyType(QString proxytype)
|
||||
{
|
||||
userSettings->setValue("proxytype", proxytype);
|
||||
}
|
||||
|
||||
void RbSettings::setLang(QString lang)
|
||||
{
|
||||
userSettings->setValue("lang", lang);
|
||||
}
|
||||
|
||||
void RbSettings::setMountpoint(QString mp)
|
||||
{
|
||||
userSettings->setValue("mountpoint",mp);
|
||||
}
|
||||
|
||||
void RbSettings::setCurPlatform(QString platt)
|
||||
{
|
||||
userSettings->setValue("platform",platt);
|
||||
}
|
||||
|
||||
|
||||
void RbSettings::setCacheDisable(bool on)
|
||||
{
|
||||
userSettings->setValue("cachedisable",on);
|
||||
}
|
||||
|
||||
void RbSettings::setCacheOffline(bool on)
|
||||
{
|
||||
userSettings->setValue("offline",on);
|
||||
}
|
||||
|
||||
void RbSettings::setCurTTS(QString tts)
|
||||
{
|
||||
userSettings->setValue("tts",tts);
|
||||
}
|
||||
|
||||
void RbSettings::setTTSPath(QString tts, QString path)
|
||||
{
|
||||
userSettingsGroupSet(tts,"ttspath",path);
|
||||
}
|
||||
|
||||
void RbSettings::setTTSOptions(QString tts, QString options)
|
||||
{
|
||||
userSettingsGroupSet(tts,"ttsoptions",options);
|
||||
}
|
||||
|
||||
void RbSettings::setTTSVoice(QString tts, QString voice)
|
||||
{
|
||||
userSettingsGroupSet(tts,"ttsvoice",voice);
|
||||
}
|
||||
|
||||
void RbSettings::setTTSSpeed(QString tts, int speed)
|
||||
{
|
||||
userSettingsGroupSet(tts,"ttsspeed",speed);
|
||||
}
|
||||
|
||||
void RbSettings::setTTSLang(QString tts, QString lang)
|
||||
{
|
||||
userSettingsGroupSet(tts,"ttslanguage",lang);
|
||||
}
|
||||
|
||||
void RbSettings::setTTSUseSapi4(bool value)
|
||||
{
|
||||
userSettingsGroupSet("sapi","useSapi4",value);
|
||||
}
|
||||
|
||||
void RbSettings::setEncoderPath(QString enc, QString path)
|
||||
{
|
||||
userSettingsGroupSet(enc,"encoderpath",path);
|
||||
}
|
||||
|
||||
void RbSettings::setEncoderOptions(QString enc, QString options)
|
||||
{
|
||||
userSettingsGroupSet(enc,"encoderoptions",options);
|
||||
}
|
||||
|
||||
void RbSettings::setEncoderQuality(QString enc, double q)
|
||||
{
|
||||
userSettingsGroupSet(enc,"quality",q);
|
||||
}
|
||||
void RbSettings::setEncoderComplexity(QString enc, int c)
|
||||
{
|
||||
userSettingsGroupSet(enc,"complexity",c);
|
||||
}
|
||||
void RbSettings::setEncoderVolume(QString enc,double v)
|
||||
{
|
||||
userSettingsGroupSet(enc,"volume",v);
|
||||
}
|
||||
void RbSettings::setEncoderNarrowband(QString enc,bool nb)
|
||||
{
|
||||
userSettingsGroupSet(enc,"narrowband",nb);
|
||||
QString platform = userSettings->value("platform").toString();
|
||||
if(!substitute.isEmpty()) {
|
||||
path.replace(":tts:", substitute);
|
||||
path.replace(":encoder:", substitute);
|
||||
}
|
||||
else {
|
||||
path.replace(":tts:", userSettings->value("tts").toString());
|
||||
path.replace(":encoder:", systemSettings->value(platform + "/encoder").toString());
|
||||
}
|
||||
path.replace(":platform:", platform);
|
||||
|
||||
return path;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,118 +46,97 @@ class RbSettings : public QObject
|
|||
MapError,
|
||||
MapIncompatible,
|
||||
};
|
||||
enum UserSettings {
|
||||
RbutilVersion,
|
||||
CurrentPlatform,
|
||||
Mountpoint,
|
||||
CachePath,
|
||||
Build,
|
||||
ProxyType,
|
||||
Proxy,
|
||||
OfPath,
|
||||
Platform,
|
||||
Language,
|
||||
Tts,
|
||||
LastTalkedFolder,
|
||||
VoiceLanguage,
|
||||
TtsLanguage,
|
||||
TtsOptions,
|
||||
TtsPath,
|
||||
TtsVoice,
|
||||
EncoderPath,
|
||||
EncoderOptions,
|
||||
WavtrimThreshold,
|
||||
EncoderComplexity,
|
||||
TtsSpeed,
|
||||
CacheOffline,
|
||||
CacheDisabled,
|
||||
TtsUseSapi4,
|
||||
EncoderNarrowBand,
|
||||
EncoderQuality,
|
||||
EncoderVolume,
|
||||
};
|
||||
enum SystemSettings {
|
||||
ManualUrl,
|
||||
BleedingUrl,
|
||||
BootloaderUrl,
|
||||
BootloaderInfoUrl,
|
||||
FontUrl,
|
||||
VoiceUrl,
|
||||
DoomUrl,
|
||||
ReleaseUrl,
|
||||
DailyUrl,
|
||||
ServerConfUrl,
|
||||
GenlangUrl,
|
||||
ThemesUrl,
|
||||
BleedingInfo,
|
||||
CurPlatformName,
|
||||
CurManual,
|
||||
CurBootloaderMethod,
|
||||
CurBootloaderName,
|
||||
CurBootloaderFile,
|
||||
CurEncoder,
|
||||
CurResolution,
|
||||
CurBrand,
|
||||
CurName,
|
||||
CurBuildserverModel,
|
||||
CurConfigureModel,
|
||||
CurTargetId,
|
||||
};
|
||||
|
||||
//! access functions for the settings
|
||||
QString curVersion();
|
||||
bool cacheOffline();
|
||||
bool cacheDisabled();
|
||||
QString mountpoint();
|
||||
QString manualUrl();
|
||||
QString bleedingUrl();
|
||||
QString cachePath();
|
||||
QString build(void);
|
||||
QString bootloaderUrl();
|
||||
QString bootloaderInfoUrl();
|
||||
QString fontUrl();
|
||||
QString voiceUrl();
|
||||
QString doomUrl();
|
||||
QString releaseUrl();
|
||||
QString dailyUrl();
|
||||
QString serverConfUrl();
|
||||
QString themeUrl();
|
||||
QString genlangUrl();
|
||||
QString proxyType();
|
||||
QString proxy();
|
||||
QString bleedingInfo();
|
||||
QString ofPath();
|
||||
QString lastTalkedFolder();
|
||||
QString voiceLanguage();
|
||||
int wavtrimTh();
|
||||
QString ttsPath(QString tts);
|
||||
QString ttsOptions(QString tts);
|
||||
QString ttsVoice(QString tts);
|
||||
int ttsSpeed(QString tts);
|
||||
QString ttsLang(QString tts);
|
||||
bool ttsUseSapi4();
|
||||
QString encoderPath(QString enc);
|
||||
QString encoderOptions(QString enc);
|
||||
double encoderQuality(QString enc);
|
||||
int encoderComplexity(QString enc);
|
||||
double encoderVolume(QString enc);
|
||||
bool encoderNarrowband(QString enc);
|
||||
QVariant value(enum SystemSettings setting);
|
||||
// generic and "current selection" values -- getters
|
||||
QVariant value(enum UserSettings setting)
|
||||
{ QString empty; return subValue(empty, setting); }
|
||||
void setValue(enum UserSettings setting , QVariant value)
|
||||
{ QString empty; return setSubValue(empty, setting, value); }
|
||||
|
||||
QStringList allPlatforms(void);
|
||||
QStringList allLanguages(void);
|
||||
QVariant subValue(QString& sub, enum UserSettings setting);
|
||||
QVariant subValue(const char* sub, enum UserSettings setting)
|
||||
{ QString s = sub; return subValue(s, setting); }
|
||||
void setSubValue(QString& sub, enum UserSettings setting, QVariant value);
|
||||
void setSubValue(const char* sub, enum UserSettings setting, QVariant value)
|
||||
{ QString s = sub; return setSubValue(s, setting, value); }
|
||||
|
||||
QStringList platforms(void);
|
||||
QStringList languages(void);
|
||||
|
||||
QString name(QString plattform);
|
||||
QString brand(QString plattform);
|
||||
|
||||
QMap<int, QString> usbIdMap(enum MapType);
|
||||
|
||||
QString curBrand();
|
||||
QString curName();
|
||||
QString curPlatform(); // rbutil internal target name.
|
||||
QString curBuildserver_Modelname(); // modelnames used by the buildserver
|
||||
QString curManual();
|
||||
QString curBootloaderMethod();
|
||||
QString curBootloaderName();
|
||||
QString curConfigure_Modelname(); // modelname from configure (used for themes, voice, rockbox-info comparing.
|
||||
QString curLang();
|
||||
QString curEncoder();
|
||||
QString curTTS();
|
||||
QString curResolution();
|
||||
QString curBootloaderFile();
|
||||
int curTargetId();
|
||||
|
||||
//! Set Functions
|
||||
void setCurVersion(QString version);
|
||||
void setOfPath(QString path);
|
||||
void setCachePath(QString path);
|
||||
void setBuild(QString build);
|
||||
void setLastTalkedDir(QString dir);
|
||||
void setVoiceLanguage(QString lang);
|
||||
void setWavtrimTh(int th);
|
||||
void setProxy(QString proxy);
|
||||
void setProxyType(QString proxytype);
|
||||
void setLang(QString lang);
|
||||
void setMountpoint(QString mp);
|
||||
void setCurPlatform(QString platt);
|
||||
void setCacheDisable(bool on);
|
||||
void setCacheOffline(bool on);
|
||||
void setCurTTS(QString tts);
|
||||
void setTTSPath(QString tts, QString path);
|
||||
void setTTSOptions(QString tts, QString options);
|
||||
void setTTSSpeed(QString tts, int speed);
|
||||
void setTTSVoice(QString tts, QString voice);
|
||||
void setTTSLang(QString tts, QString lang);
|
||||
void setTTSUseSapi4(bool value);
|
||||
void setEncoderPath(QString enc, QString path);
|
||||
void setEncoderOptions(QString enc, QString options);
|
||||
void setEncoderQuality(QString enc, double q);
|
||||
void setEncoderComplexity(QString enc, int c);
|
||||
void setEncoderVolume(QString enc,double v);
|
||||
void setEncoderNarrowband(QString enc,bool nb);
|
||||
|
||||
private:
|
||||
|
||||
//! helper function to get an entry in the current platform section
|
||||
QVariant deviceSettingCurGet(QString entry,QString def="");
|
||||
//! helper function to get an entry out of a group in the userSettings
|
||||
QVariant userSettingsGroupGet(QString group,QString entry,QVariant def="");
|
||||
//! helper function to set an entry in a group in the userSettings
|
||||
void userSettingsGroupSet(QString group,QString entry,QVariant value);
|
||||
|
||||
|
||||
//! private copy constructors to prvent copying
|
||||
RbSettings& operator= (const RbSettings& other)
|
||||
{ (void)other; return *this; }
|
||||
RbSettings(const RbSettings& other) :QObject()
|
||||
{ (void)other; }
|
||||
QString constructSettingPath(QString path, QString substitute = QString());
|
||||
|
||||
//! pointers to our setting objects
|
||||
QSettings *devices;
|
||||
QSettings *systemSettings;
|
||||
QSettings *userSettings;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -154,13 +154,13 @@ void RbUtilQt::downloadInfo()
|
|||
connect(daily, SIGNAL(done(bool)), this, SLOT(downloadDone(bool)));
|
||||
connect(daily, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool)));
|
||||
connect(qApp, SIGNAL(lastWindowClosed()), daily, SLOT(abort()));
|
||||
if(settings->cacheOffline())
|
||||
if(settings->value(RbSettings::CacheOffline).toBool())
|
||||
daily->setCache(true);
|
||||
else
|
||||
daily->setCache(false);
|
||||
qDebug() << "downloading build info";
|
||||
daily->setFile(&buildInfo);
|
||||
daily->getFile(QUrl(settings->serverConfUrl()));
|
||||
daily->getFile(QUrl(settings->value(RbSettings::ServerConfUrl).toString()));
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -181,7 +181,7 @@ void RbUtilQt::downloadDone(bool error)
|
|||
versmap.insert("arch_date", info.value("dailies/date").toString());
|
||||
|
||||
info.beginGroup("release");
|
||||
versmap.insert("rel_rev", info.value(settings->curBuildserver_Modelname()).toString());
|
||||
versmap.insert("rel_rev", info.value(settings->value(RbSettings::CurBuildserverModel).toString()).toString());
|
||||
info.endGroup();
|
||||
|
||||
if(versmap.value("rel_rev").isEmpty()) {
|
||||
|
|
@ -197,12 +197,12 @@ void RbUtilQt::downloadDone(bool error)
|
|||
connect(bleeding, SIGNAL(done(bool)), this, SLOT(downloadBleedingDone(bool)));
|
||||
connect(bleeding, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool)));
|
||||
connect(qApp, SIGNAL(lastWindowClosed()), daily, SLOT(abort()));
|
||||
if(settings->cacheOffline())
|
||||
if(settings->value(RbSettings::CacheOffline).toBool())
|
||||
bleeding->setCache(true);
|
||||
bleeding->setFile(&bleedingInfo);
|
||||
bleeding->getFile(QUrl(settings->bleedingInfo()));
|
||||
bleeding->getFile(QUrl(settings->value(RbSettings::BleedingInfo).toString()));
|
||||
|
||||
if(settings->curVersion() != PUREVERSION) {
|
||||
if(settings->value(RbSettings::RbutilVersion) != PUREVERSION) {
|
||||
QApplication::processEvents();
|
||||
QMessageBox::information(this, tr("New installation"),
|
||||
tr("This is a new installation of Rockbox Utility, or a new version. "
|
||||
|
|
@ -303,23 +303,23 @@ void RbUtilQt::updateSettings()
|
|||
qDebug() << "updateSettings()";
|
||||
updateDevice();
|
||||
updateManual();
|
||||
if(settings->proxyType() == "system") {
|
||||
if(settings->value(RbSettings::ProxyType) == "system") {
|
||||
HttpGet::setGlobalProxy(Detect::systemProxy());
|
||||
}
|
||||
else if(settings->proxyType() == "manual") {
|
||||
HttpGet::setGlobalProxy(settings->proxy());
|
||||
else if(settings->value(RbSettings::ProxyType) == "manual") {
|
||||
HttpGet::setGlobalProxy(settings->value(RbSettings::Proxy).toString());
|
||||
}
|
||||
else {
|
||||
HttpGet::setGlobalProxy(QUrl(""));
|
||||
}
|
||||
HttpGet::setGlobalCache(settings->cachePath());
|
||||
HttpGet::setGlobalDumbCache(settings->cacheOffline());
|
||||
HttpGet::setGlobalCache(settings->value(RbSettings::CachePath).toString());
|
||||
HttpGet::setGlobalDumbCache(settings->value(RbSettings::CacheOffline).toBool());
|
||||
}
|
||||
|
||||
|
||||
void RbUtilQt::updateDevice()
|
||||
{
|
||||
if(settings->curBootloaderMethod() == "none" ) {
|
||||
if(settings->value(RbSettings::CurBootloaderMethod) == "none" ) {
|
||||
ui.buttonBootloader->setEnabled(false);
|
||||
ui.buttonRemoveBootloader->setEnabled(false);
|
||||
ui.labelBootloader->setEnabled(false);
|
||||
|
|
@ -328,7 +328,7 @@ void RbUtilQt::updateDevice()
|
|||
else {
|
||||
ui.buttonBootloader->setEnabled(true);
|
||||
ui.labelBootloader->setEnabled(true);
|
||||
if(settings->curBootloaderMethod() == "fwpatcher") {
|
||||
if(settings->value(RbSettings::CurBootloaderMethod) == "fwpatcher") {
|
||||
ui.labelRemoveBootloader->setEnabled(false);
|
||||
ui.buttonRemoveBootloader->setEnabled(false);
|
||||
}
|
||||
|
|
@ -339,9 +339,9 @@ void RbUtilQt::updateDevice()
|
|||
}
|
||||
|
||||
// displayed device info
|
||||
QString mountpoint = settings->mountpoint();
|
||||
QString brand = settings->curBrand();
|
||||
QString name = settings->curName();
|
||||
QString mountpoint = settings->value(RbSettings::Mountpoint).toString();
|
||||
QString brand = settings->value(RbSettings::CurBrand).toString();
|
||||
QString name = settings->value(RbSettings::CurName).toString();
|
||||
if(name.isEmpty()) name = "<none>";
|
||||
if(mountpoint.isEmpty()) mountpoint = "<invalid>";
|
||||
ui.labelDevice->setText(tr("<b>%1 %2</b> at <b>%3</b>")
|
||||
|
|
@ -351,16 +351,18 @@ void RbUtilQt::updateDevice()
|
|||
|
||||
void RbUtilQt::updateManual()
|
||||
{
|
||||
if(settings->curPlatform() != "")
|
||||
if(settings->value(RbSettings::Platform) != "")
|
||||
{
|
||||
QString manual= settings->curManual();
|
||||
QString manual= settings->value(RbSettings::CurManual).toString();
|
||||
|
||||
if(manual == "")
|
||||
manual = "rockbox-" + settings->curPlatform();
|
||||
manual = "rockbox-" + settings->value(RbSettings::Platform).toString();
|
||||
QString pdfmanual;
|
||||
pdfmanual = settings->manualUrl() + "/" + manual + ".pdf";
|
||||
pdfmanual = settings->value(RbSettings::ManualUrl).toString()
|
||||
+ "/" + manual + ".pdf";
|
||||
QString htmlmanual;
|
||||
htmlmanual = settings->manualUrl() + "/" + manual + "/rockbox-build.html";
|
||||
htmlmanual = settings->value(RbSettings::ManualUrl).toString()
|
||||
+ "/" + manual + "/rockbox-build.html";
|
||||
ui.labelPdfManual->setText(tr("<a href='%1'>PDF Manual</a>")
|
||||
.arg(pdfmanual));
|
||||
ui.labelHtmlManual->setText(tr("<a href='%1'>HTML Manual (opens in browser)</a>")
|
||||
|
|
@ -453,7 +455,7 @@ void RbUtilQt::smallInstall()
|
|||
|
||||
bool RbUtilQt::smallInstallInner()
|
||||
{
|
||||
QString mountpoint = settings->mountpoint();
|
||||
QString mountpoint = settings->value(RbSettings::Mountpoint).toString();
|
||||
// show dialog with error if mount point is wrong
|
||||
if(!QFileInfo(mountpoint).isDir()) {
|
||||
logger->addItem(tr("Mount point is wrong!"),LOGERROR);
|
||||
|
|
@ -461,7 +463,7 @@ bool RbUtilQt::smallInstallInner()
|
|||
return true;
|
||||
}
|
||||
// Bootloader
|
||||
if(settings->curBootloaderMethod() != "none")
|
||||
if(settings->value(RbSettings::CurBootloaderMethod) != "none")
|
||||
{
|
||||
m_error = false;
|
||||
m_installed = false;
|
||||
|
|
@ -513,14 +515,16 @@ void RbUtilQt::installBtn()
|
|||
bool RbUtilQt::installAuto()
|
||||
{
|
||||
QString file = QString("%1/%2/rockbox-%3-%4.zip")
|
||||
.arg(settings->releaseUrl(), versmap.value("rel_rev"),
|
||||
settings->curBuildserver_Modelname(), versmap.value("rel_rev"));
|
||||
.arg(settings->value(RbSettings::ReleaseUrl).toString(),
|
||||
versmap.value("rel_rev"),
|
||||
settings->value(RbSettings::CurBuildserverModel).toString(),
|
||||
versmap.value("rel_rev"));
|
||||
buildInfo.open();
|
||||
QSettings info(buildInfo.fileName(), QSettings::IniFormat, this);
|
||||
buildInfo.close();
|
||||
|
||||
// check installed Version and Target
|
||||
QString rbVersion = Detect::installedVersion(settings->mountpoint());
|
||||
QString rbVersion = Detect::installedVersion(settings->value(RbSettings::Mountpoint).toString());
|
||||
QString warning = Detect::check(settings, false);
|
||||
|
||||
if(!warning.isEmpty())
|
||||
|
|
@ -542,7 +546,7 @@ bool RbUtilQt::installAuto()
|
|||
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes)
|
||||
{
|
||||
logger->addItem(tr("Starting backup..."),LOGINFO);
|
||||
QString backupName = settings->mountpoint()
|
||||
QString backupName = settings->value(RbSettings::Mountpoint).toString()
|
||||
+ "/.backup/rockbox-backup-" + rbVersion + ".zip";
|
||||
|
||||
//! create dir, if it doesnt exist
|
||||
|
|
@ -556,7 +560,8 @@ bool RbUtilQt::installAuto()
|
|||
//! create backup
|
||||
RbZip backup;
|
||||
connect(&backup,SIGNAL(zipProgress(int,int)),logger, SLOT(setProgress(int,int)));
|
||||
if(backup.createZip(backupName,settings->mountpoint() + "/.rockbox") == Zip::Ok)
|
||||
if(backup.createZip(backupName,
|
||||
settings->value(RbSettings::Mountpoint).toString() + "/.rockbox") == Zip::Ok)
|
||||
{
|
||||
logger->addItem(tr("Backup successful"),LOGOK);
|
||||
}
|
||||
|
|
@ -574,9 +579,9 @@ bool RbUtilQt::installAuto()
|
|||
installer->setUrl(file);
|
||||
installer->setLogSection("Rockbox (Base)");
|
||||
installer->setLogVersion(versmap.value("rel_rev"));
|
||||
if(!settings->cacheDisabled())
|
||||
if(!settings->value(RbSettings::CacheDisabled).toBool())
|
||||
installer->setCache(true);
|
||||
installer->setMountPoint(settings->mountpoint());
|
||||
installer->setMountPoint(settings->value(RbSettings::Mountpoint).toString());
|
||||
|
||||
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
|
||||
|
||||
|
|
@ -618,13 +623,13 @@ void RbUtilQt::installBootloaderBtn()
|
|||
|
||||
void RbUtilQt::installBootloader()
|
||||
{
|
||||
QString platform = settings->curPlatform();
|
||||
QString platform = settings->value(RbSettings::Platform).toString();
|
||||
QString backupDestination = "";
|
||||
m_error = false;
|
||||
|
||||
// create installer
|
||||
BootloaderInstallBase *bl;
|
||||
QString type = settings->curBootloaderMethod();
|
||||
QString type = settings->value(RbSettings::CurBootloaderMethod).toString();
|
||||
if(type == "mi4") {
|
||||
bl = new BootloaderInstallMi4(this);
|
||||
}
|
||||
|
|
@ -648,21 +653,24 @@ void RbUtilQt::installBootloader()
|
|||
|
||||
// set bootloader filename. Do this now as installed() needs it.
|
||||
QString blfile;
|
||||
blfile = settings->mountpoint() + settings->curBootloaderFile();
|
||||
blfile = settings->value(RbSettings::Mountpoint).toString()
|
||||
+ settings->value(RbSettings::CurBootloaderFile).toString();
|
||||
// special case for H10 pure: this player can have a different
|
||||
// bootloader file filename. This is handled here to keep the install
|
||||
// class clean, though having it here is also not the nicest solution.
|
||||
if(platform == "h10_ums"
|
||||
|| platform == "h10_mtp") {
|
||||
if(settings->value(RbSettings::Platform).toString() == "h10_ums"
|
||||
|| settings->value(RbSettings::Platform) == "h10_mtp") {
|
||||
if(resolvePathCase(blfile).isEmpty())
|
||||
blfile = settings->mountpoint()
|
||||
+ settings->curBootloaderName().replace("H10",
|
||||
"H10EMP", Qt::CaseInsensitive);
|
||||
blfile = settings->value(RbSettings::Mountpoint).toString()
|
||||
+ settings->value(RbSettings::CurBootloaderName).toString()
|
||||
.replace("H10", "H10EMP", Qt::CaseInsensitive);
|
||||
}
|
||||
bl->setBlFile(blfile);
|
||||
QUrl url(settings->bootloaderUrl() + settings->curBootloaderName());
|
||||
QUrl url(settings->value(RbSettings::BootloaderUrl).toString()
|
||||
+ settings->value(RbSettings::CurBootloaderName).toString());
|
||||
bl->setBlUrl(url);
|
||||
bl->setLogfile(settings->mountpoint() + "/.rockbox/rbutil.log");
|
||||
bl->setLogfile(settings->value(RbSettings::Mountpoint).toString()
|
||||
+ "/.rockbox/rbutil.log");
|
||||
|
||||
if(bl->installed() == BootloaderInstallBase::BootloaderRockbox) {
|
||||
if(QMessageBox::question(this, tr("Bootloader detected"),
|
||||
|
|
@ -684,7 +692,8 @@ void RbUtilQt::installBootloader()
|
|||
else if(bl->installed() == BootloaderInstallBase::BootloaderOther
|
||||
&& bl->capabilities() & BootloaderInstallBase::Backup)
|
||||
{
|
||||
QString targetFolder = settings->curPlatform() + " Firmware Backup";
|
||||
QString targetFolder = settings->value(RbSettings::CurPlatformName).toString()
|
||||
+ " Firmware Backup";
|
||||
// remove invalid character(s)
|
||||
targetFolder.remove(QRegExp("[:/]"));
|
||||
if(QMessageBox::question(this, tr("Create Bootloader backup"),
|
||||
|
|
@ -777,7 +786,8 @@ void RbUtilQt::installBootloaderPost(bool error)
|
|||
if(m_auto)
|
||||
return;
|
||||
|
||||
QString msg = BootloaderInstallBase::postinstallHints(settings->curPlatform());
|
||||
QString msg = BootloaderInstallBase::postinstallHints(
|
||||
settings->value(RbSettings::Platform).toString());
|
||||
if(!msg.isEmpty()) {
|
||||
QMessageBox::information(this, tr("Manual steps required"), msg);
|
||||
logger->close();
|
||||
|
|
@ -809,11 +819,11 @@ void RbUtilQt::installFonts()
|
|||
// create zip installer
|
||||
installer = new ZipInstaller(this);
|
||||
|
||||
installer->setUrl(settings->fontUrl());
|
||||
installer->setUrl(settings->value(RbSettings::FontUrl).toString());
|
||||
installer->setLogSection("Fonts");
|
||||
installer->setLogVersion(versmap.value("arch_date"));
|
||||
installer->setMountPoint(settings->mountpoint());
|
||||
if(!settings->cacheDisabled())
|
||||
installer->setMountPoint(settings->value(RbSettings::Mountpoint).toString());
|
||||
if(!settings->value(RbSettings::CacheDisabled).toBool())
|
||||
installer->setCache(true);
|
||||
|
||||
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
|
||||
|
|
@ -843,17 +853,17 @@ void RbUtilQt::installVoice()
|
|||
// create zip installer
|
||||
installer = new ZipInstaller(this);
|
||||
|
||||
QString voiceurl = settings->voiceUrl();
|
||||
QString voiceurl = settings->value(RbSettings::VoiceUrl).toString();
|
||||
|
||||
voiceurl += settings->curConfigure_Modelname() + "-" +
|
||||
voiceurl += settings->value(RbSettings::CurConfigureModel).toString() + "-" +
|
||||
versmap.value("arch_date") + "-english.zip";
|
||||
qDebug() << voiceurl;
|
||||
|
||||
installer->setUrl(voiceurl);
|
||||
installer->setLogSection("Voice");
|
||||
installer->setLogVersion(versmap.value("arch_date"));
|
||||
installer->setMountPoint(settings->mountpoint());
|
||||
if(!settings->cacheDisabled())
|
||||
installer->setMountPoint(settings->value(RbSettings::Mountpoint).toString());
|
||||
if(!settings->value(RbSettings::CacheDisabled).toBool())
|
||||
installer->setCache(true);
|
||||
installer->install(logger);
|
||||
|
||||
|
|
@ -885,7 +895,8 @@ bool RbUtilQt::installDoomAuto()
|
|||
|
||||
bool RbUtilQt::hasDoom()
|
||||
{
|
||||
QFile doomrock(settings->mountpoint() +"/.rockbox/rocks/games/doom.rock");
|
||||
QFile doomrock(settings->value(RbSettings::Mountpoint).toString()
|
||||
+"/.rockbox/rocks/games/doom.rock");
|
||||
return doomrock.exists();
|
||||
}
|
||||
|
||||
|
|
@ -894,11 +905,11 @@ void RbUtilQt::installDoom()
|
|||
// create zip installer
|
||||
installer = new ZipInstaller(this);
|
||||
|
||||
installer->setUrl(settings->doomUrl());
|
||||
installer->setUrl(settings->value(RbSettings::DoomUrl).toString());
|
||||
installer->setLogSection("Game Addons");
|
||||
installer->setLogVersion(versmap.value("arch_date"));
|
||||
installer->setMountPoint(settings->mountpoint());
|
||||
if(!settings->cacheDisabled())
|
||||
installer->setMountPoint(settings->value(RbSettings::Mountpoint).toString());
|
||||
if(!settings->value(RbSettings::CacheDisabled).toBool())
|
||||
installer->setCache(true);
|
||||
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
|
||||
installer->install(logger);
|
||||
|
|
@ -957,11 +968,11 @@ void RbUtilQt::uninstallBootloader(void)
|
|||
logger->setProgressVisible(false);
|
||||
logger->show();
|
||||
|
||||
QString platform = settings->curPlatform();
|
||||
QString platform = settings->value(RbSettings::Platform).toString();
|
||||
|
||||
// create installer
|
||||
BootloaderInstallBase *bl;
|
||||
QString type = settings->curBootloaderMethod();
|
||||
QString type = settings->value(RbSettings::CurBootloaderMethod).toString();
|
||||
if(type == "mi4") {
|
||||
bl = new BootloaderInstallMi4();
|
||||
}
|
||||
|
|
@ -983,13 +994,14 @@ void RbUtilQt::uninstallBootloader(void)
|
|||
return;
|
||||
}
|
||||
|
||||
QString blfile = settings->mountpoint() + settings->curBootloaderFile();
|
||||
if(settings->curPlatform() == "h10_ums"
|
||||
|| settings->curPlatform() == "h10_mtp") {
|
||||
QString blfile = settings->value(RbSettings::Mountpoint).toString()
|
||||
+ settings->value(RbSettings::CurBootloaderFile).toString();
|
||||
if(settings->value(RbSettings::Platform).toString() == "h10_ums"
|
||||
|| settings->value(RbSettings::Platform).toString() == "h10_mtp") {
|
||||
if(resolvePathCase(blfile).isEmpty())
|
||||
blfile = settings->mountpoint()
|
||||
+ settings->curBootloaderName().replace("H10",
|
||||
"H10EMP", Qt::CaseInsensitive);
|
||||
blfile = settings->value(RbSettings::Mountpoint).toString()
|
||||
+ settings->value(RbSettings::CurBootloaderName).toString()
|
||||
.replace("H10", "H10EMP", Qt::CaseInsensitive);
|
||||
}
|
||||
bl->setBlFile(blfile);
|
||||
|
||||
|
|
@ -1017,7 +1029,7 @@ void RbUtilQt::downloadManual(void)
|
|||
QSettings info(buildInfo.fileName(), QSettings::IniFormat, this);
|
||||
buildInfo.close();
|
||||
|
||||
QString manual = settings->curManual();
|
||||
QString manual = settings->value(RbSettings::CurManual).toString();
|
||||
|
||||
QString date = (info.value("dailies/date").toString());
|
||||
|
||||
|
|
@ -1032,14 +1044,14 @@ void RbUtilQt::downloadManual(void)
|
|||
target = "/" + manual + "-" + date + "-html.zip";
|
||||
section = "Manual (HTML)";
|
||||
}
|
||||
manualurl = settings->manualUrl() + "/" + target;
|
||||
manualurl = settings->value(RbSettings::ManualUrl).toString() + "/" + target;
|
||||
qDebug() << "manualurl =" << manualurl;
|
||||
|
||||
ProgressLoggerGui* logger = new ProgressLoggerGui(this);
|
||||
logger->show();
|
||||
installer = new ZipInstaller(this);
|
||||
installer->setMountPoint(settings->mountpoint());
|
||||
if(!settings->cacheDisabled())
|
||||
installer->setMountPoint(settings->value(RbSettings::Mountpoint).toString());
|
||||
if(!settings->value(RbSettings::CacheDisabled).toBool())
|
||||
installer->setCache(true);
|
||||
installer->setLogSection(section);
|
||||
installer->setLogVersion(date);
|
||||
|
|
@ -1065,24 +1077,28 @@ void RbUtilQt::installPortable(void)
|
|||
logger->addItem(tr("Installing Rockbox Utility"), LOGINFO);
|
||||
|
||||
// check mountpoint
|
||||
if(!QFileInfo(settings->mountpoint()).isDir()) {
|
||||
if(!QFileInfo(settings->value(RbSettings::Mountpoint).toString()).isDir()) {
|
||||
logger->addItem(tr("Mount point is wrong!"),LOGERROR);
|
||||
logger->abort();
|
||||
return;
|
||||
}
|
||||
|
||||
// remove old files first.
|
||||
QFile::remove(settings->mountpoint() + "/RockboxUtility.exe");
|
||||
QFile::remove(settings->mountpoint() + "/RockboxUtility.ini");
|
||||
QFile::remove(settings->value(RbSettings::Mountpoint).toString()
|
||||
+ "/RockboxUtility.exe");
|
||||
QFile::remove(settings->value(RbSettings::Mountpoint).toString()
|
||||
+ "/RockboxUtility.ini");
|
||||
// copy currently running binary and currently used settings file
|
||||
if(!QFile::copy(qApp->applicationFilePath(), settings->mountpoint()
|
||||
if(!QFile::copy(qApp->applicationFilePath(),
|
||||
settings->value(RbSettings::Mountpoint).toString()
|
||||
+ "/RockboxUtility.exe")) {
|
||||
logger->addItem(tr("Error installing Rockbox Utility"), LOGERROR);
|
||||
logger->abort();
|
||||
return;
|
||||
}
|
||||
logger->addItem(tr("Installing user configuration"), LOGINFO);
|
||||
if(!QFile::copy(settings->userSettingFilename(), settings->mountpoint()
|
||||
if(!QFile::copy(settings->userSettingFilename(),
|
||||
settings->value(RbSettings::Mountpoint).toString()
|
||||
+ "/RockboxUtility.ini")) {
|
||||
logger->addItem(tr("Error installing user configuration"), LOGERROR);
|
||||
logger->abort();
|
||||
|
|
@ -1100,8 +1116,8 @@ void RbUtilQt::updateInfo()
|
|||
{
|
||||
qDebug() << "RbUtilQt::updateInfo()";
|
||||
|
||||
QSettings log(settings->mountpoint() + "/.rockbox/rbutil.log",
|
||||
QSettings::IniFormat, this);
|
||||
QSettings log(settings->value(RbSettings::Mountpoint).toString()
|
||||
+ "/.rockbox/rbutil.log", QSettings::IniFormat, this);
|
||||
QStringList groups = log.childGroups();
|
||||
QList<QTreeWidgetItem *> items;
|
||||
QTreeWidgetItem *w, *w2;
|
||||
|
|
@ -1137,7 +1153,7 @@ void RbUtilQt::updateInfo()
|
|||
|
||||
for(int b = 0; b < keys.size(); b++) {
|
||||
QString file;
|
||||
file = settings->mountpoint() + "/" + keys.at(b);
|
||||
file = settings->value(RbSettings::Mountpoint).toString() + "/" + keys.at(b);
|
||||
if(QFileInfo(file).isDir())
|
||||
continue;
|
||||
w2 = new QTreeWidgetItem(w, QStringList() << "/"
|
||||
|
|
@ -1162,9 +1178,9 @@ void RbUtilQt::updateInfo()
|
|||
|
||||
QUrl RbUtilQt::proxy()
|
||||
{
|
||||
if(settings->proxyType() == "manual")
|
||||
return QUrl(settings->proxy());
|
||||
else if(settings->proxy() == "system")
|
||||
if(settings->value(RbSettings::ProxyType) == "manual")
|
||||
return QUrl(settings->value(RbSettings::Proxy).toString());
|
||||
else if(settings->value(RbSettings::ProxyType) == "system")
|
||||
return Detect::systemProxy();
|
||||
return QUrl("");
|
||||
}
|
||||
|
|
@ -1173,9 +1189,9 @@ QUrl RbUtilQt::proxy()
|
|||
bool RbUtilQt::chkConfig(bool warn)
|
||||
{
|
||||
bool error = false;
|
||||
if(settings->curPlatform().isEmpty()
|
||||
|| settings->mountpoint().isEmpty()
|
||||
|| !QFileInfo(settings->mountpoint()).isWritable()) {
|
||||
if(settings->value(RbSettings::Platform).toString().isEmpty()
|
||||
|| settings->value(RbSettings::Mountpoint).toString().isEmpty()
|
||||
|| !QFileInfo(settings->value(RbSettings::Mountpoint).toString()).isWritable()) {
|
||||
error = true;
|
||||
|
||||
if(warn) QMessageBox::critical(this, tr("Configuration error"),
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
|
|||
m_logger->addItem(tr("Starting Talk file generation"),LOGINFO);
|
||||
|
||||
//tts
|
||||
m_tts = TTSBase::getTTS(settings->curTTS());
|
||||
m_tts = TTSBase::getTTS(settings->value(RbSettings::Tts).toString());
|
||||
m_tts->setCfg(settings);
|
||||
|
||||
if(!m_tts->start(&errStr))
|
||||
|
|
@ -52,7 +52,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
|
|||
}
|
||||
|
||||
// Encoder
|
||||
m_enc = EncBase::getEncoder(settings->curEncoder());
|
||||
m_enc = EncBase::getEncoder(settings->value(RbSettings::CurEncoder).toString());
|
||||
m_enc->setCfg(settings);
|
||||
|
||||
if(!m_enc->start())
|
||||
|
|
|
|||
|
|
@ -61,11 +61,11 @@ void ThemesInstallWindow::downloadInfo()
|
|||
themesInfo.close();
|
||||
|
||||
QUrl url;
|
||||
url = QUrl(settings->themeUrl() + "/rbutilqt.php?target="
|
||||
+ settings->curConfigure_Modelname());
|
||||
url = QUrl(settings->value(RbSettings::ThemesUrl).toString() + "/rbutilqt.php?target="
|
||||
+ settings->value(RbSettings::CurConfigureModel).toString());
|
||||
qDebug() << "downloadInfo()" << url;
|
||||
qDebug() << url.queryItems();
|
||||
if(settings->cacheOffline())
|
||||
if(settings->value(RbSettings::CacheOffline).toBool())
|
||||
getter->setCache(true);
|
||||
getter->setFile(&themesInfo);
|
||||
|
||||
|
|
@ -144,7 +144,7 @@ void ThemesInstallWindow::downloadDone(bool error)
|
|||
// check if there's a themes "MOTD" available
|
||||
if(iniDetails.contains("status/msg")) {
|
||||
// check if there's a localized msg available
|
||||
QString lang = settings->curLang().split("_").at(0);
|
||||
QString lang = settings->value(RbSettings::Language).toString().split("_").at(0);
|
||||
QString msg;
|
||||
if(iniDetails.contains("status/msg." + lang))
|
||||
msg = iniDetails.value("status/msg." + lang).toString();
|
||||
|
|
@ -191,9 +191,9 @@ void ThemesInstallWindow::updateDetails(QListWidgetItem* cur, QListWidgetItem* p
|
|||
iniDetails.beginGroup(cur->data(Qt::UserRole).toString());
|
||||
|
||||
QUrl img, txt;
|
||||
txt = QUrl(QString(settings->themeUrl() + "/"
|
||||
txt = QUrl(QString(settings->value(RbSettings::ThemesUrl).toString() + "/"
|
||||
+ iniDetails.value("descriptionfile").toString()));
|
||||
img = QUrl(QString(settings->themeUrl() + "/"
|
||||
img = QUrl(QString(settings->value(RbSettings::ThemesUrl).toString() + "/"
|
||||
+ iniDetails.value("image").toString()));
|
||||
|
||||
QString text;
|
||||
|
|
@ -211,7 +211,7 @@ void ThemesInstallWindow::updateDetails(QListWidgetItem* cur, QListWidgetItem* p
|
|||
iniDetails.endGroup();
|
||||
|
||||
igetter.abort();
|
||||
if(!settings->cacheDisabled())
|
||||
if(!settings->value(RbSettings::CacheDisabled).toBool())
|
||||
igetter.setCache(true);
|
||||
else
|
||||
{
|
||||
|
|
@ -307,7 +307,7 @@ void ThemesInstallWindow::accept()
|
|||
QSettings iniDetails(themesInfo.fileName(), QSettings::IniFormat, this);
|
||||
for(int i = 0; i < ui.listThemes->selectedItems().size(); i++) {
|
||||
iniDetails.beginGroup(ui.listThemes->selectedItems().at(i)->data(Qt::UserRole).toString());
|
||||
zip = settings->themeUrl()
|
||||
zip = settings->value(RbSettings::ThemesUrl).toString()
|
||||
+ "/" + iniDetails.value("archive").toString();
|
||||
themes.append(zip);
|
||||
names.append("Theme: " +
|
||||
|
|
@ -321,7 +321,7 @@ void ThemesInstallWindow::accept()
|
|||
|
||||
logger = new ProgressLoggerGui(this);
|
||||
logger->show();
|
||||
QString mountPoint = settings->mountpoint();
|
||||
QString mountPoint = settings->value(RbSettings::Mountpoint).toString();
|
||||
qDebug() << "mountpoint:" << mountPoint;
|
||||
// show dialog with error if mount point is wrong
|
||||
if(!QFileInfo(mountPoint).isDir()) {
|
||||
|
|
@ -335,7 +335,7 @@ void ThemesInstallWindow::accept()
|
|||
installer->setLogSection(names);
|
||||
installer->setLogVersion(version);
|
||||
installer->setMountPoint(mountPoint);
|
||||
if(!settings->cacheDisabled())
|
||||
if(!settings->value(RbSettings::CacheDisabled).toBool())
|
||||
installer->setCache(true);
|
||||
|
||||
connect(logger, SIGNAL(closed()), this, SLOT(close()));
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ void TTSExes::setCfg(RbSettings* sett)
|
|||
break;
|
||||
}
|
||||
}
|
||||
settings->setTTSPath(m_name,exepath);
|
||||
settings->setSubValue(m_name, RbSettings::TtsPath, exepath);
|
||||
settings->sync();
|
||||
}
|
||||
|
||||
|
|
@ -150,8 +150,8 @@ void TTSExes::setCfg(RbSettings* sett)
|
|||
|
||||
bool TTSExes::start(QString *errStr)
|
||||
{
|
||||
m_TTSexec = settings->ttsPath(m_name);
|
||||
m_TTSOpts = settings->ttsOptions(m_name);
|
||||
m_TTSexec = settings->subValue(m_name, RbSettings::TtsPath).toString();
|
||||
m_TTSOpts = settings->subValue(m_name, RbSettings::TtsOptions).toString();
|
||||
|
||||
m_TTSTemplate = m_TemplateMap.value(m_name);
|
||||
|
||||
|
|
@ -195,7 +195,7 @@ void TTSExes::showCfg()
|
|||
|
||||
bool TTSExes::configOk()
|
||||
{
|
||||
QString path = settings->ttsPath(m_name);
|
||||
QString path = settings->subValue(m_name, RbSettings::TtsPath).toString();
|
||||
|
||||
if (QFileInfo(path).exists())
|
||||
return true;
|
||||
|
|
@ -217,11 +217,11 @@ TTSSapi::TTSSapi() : TTSBase()
|
|||
bool TTSSapi::start(QString *errStr)
|
||||
{
|
||||
|
||||
m_TTSOpts = settings->ttsOptions("sapi");
|
||||
m_TTSLanguage =settings->ttsLang("sapi");
|
||||
m_TTSVoice=settings->ttsVoice("sapi");
|
||||
m_TTSSpeed=QString("%1").arg(settings->ttsSpeed("sapi"));
|
||||
m_sapi4 = settings->ttsUseSapi4();
|
||||
m_TTSOpts = settings->subValue("sapi", RbSettings::TtsOptions).toString();
|
||||
m_TTSLanguage =settings->subValue("sapi", RbSettings::TtsLanguage).toString();
|
||||
m_TTSVoice=settings->subValue("sapi", RbSettings::TtsVoice).toString();
|
||||
m_TTSSpeed=QString("%1").arg(settings->subValue("sapi", RbSettings::TtsSpeed).toInt());
|
||||
m_sapi4 = settings->value(RbSettings::TtsUseSapi4).toBool();
|
||||
|
||||
QFile::remove(QDir::tempPath() +"/sapi_voice.vbs");
|
||||
QFile::copy(":/builtin/sapi_voice.vbs",QDir::tempPath() + "/sapi_voice.vbs");
|
||||
|
|
@ -285,7 +285,7 @@ QStringList TTSSapi::getVoiceList(QString language)
|
|||
execstring.replace("%exe",m_TTSexec);
|
||||
execstring.replace("%lang",language);
|
||||
|
||||
if(settings->ttsUseSapi4())
|
||||
if(settings->value(RbSettings::TtsUseSapi4).toBool())
|
||||
execstring.append(" /sapi4 ");
|
||||
|
||||
qDebug() << "init" << execstring;
|
||||
|
|
@ -363,7 +363,7 @@ void TTSSapi::showCfg()
|
|||
|
||||
bool TTSSapi::configOk()
|
||||
{
|
||||
if(settings->ttsVoice("sapi").isEmpty())
|
||||
if(settings->subValue("sapi", RbSettings::TtsVoice).toString().isEmpty())
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
|
@ -380,7 +380,7 @@ void TTSFestival::startServer()
|
|||
if(!configOk())
|
||||
return;
|
||||
|
||||
QStringList paths = settings->ttsPath("festival").split(":");
|
||||
QStringList paths = settings->subValue("festival", RbSettings::TtsPath).toString().split(":");
|
||||
|
||||
serverProcess.start(QString("%1 --server").arg(paths[0]));
|
||||
serverProcess.waitForStarted();
|
||||
|
|
@ -414,8 +414,9 @@ bool TTSFestival::start(QString* errStr)
|
|||
{
|
||||
(void) errStr;
|
||||
ensureServerRunning();
|
||||
if (!settings->ttsVoice("festival").isEmpty())
|
||||
queryServer(QString("(voice.select '%1)").arg(settings->ttsVoice("festival")));
|
||||
if (!settings->subValue("festival", RbSettings::TtsVoice).toString().isEmpty())
|
||||
queryServer(QString("(voice.select '%1)")
|
||||
.arg(settings->subValue("festival", RbSettings::TtsVoice).toString()));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -432,7 +433,7 @@ TTSStatus TTSFestival::voice(QString text, QString wavfile, QString* errStr)
|
|||
{
|
||||
qDebug() << text << "->" << wavfile;
|
||||
|
||||
QStringList paths = settings->ttsPath("festival").split(":");
|
||||
QStringList paths = settings->subValue("festival", RbSettings::TtsPath).toString().split(":");
|
||||
QString cmd = QString("%1 --server localhost --otype riff --ttw --withlisp --output \"%2\" - ").arg(paths[1]).arg(wavfile);
|
||||
qDebug() << cmd;
|
||||
|
||||
|
|
@ -462,13 +463,15 @@ TTSStatus TTSFestival::voice(QString text, QString wavfile, QString* errStr)
|
|||
|
||||
bool TTSFestival::configOk()
|
||||
{
|
||||
QStringList paths = settings->ttsPath("festival").split(":");
|
||||
QStringList paths = settings->subValue("festival", RbSettings::TtsPath).toString().split(":");
|
||||
if(paths.size() != 2)
|
||||
return false;
|
||||
bool ret = QFileInfo(paths[0]).isExecutable() &&
|
||||
QFileInfo(paths[1]).isExecutable();
|
||||
if(settings->ttsVoice("festival").size() > 0 && voices.size() > 0)
|
||||
ret = ret && (voices.indexOf(settings->ttsVoice("festival")) != -1);
|
||||
if(settings->subValue("festival", RbSettings::TtsVoice).toString().size() > 0
|
||||
&& voices.size() > 0)
|
||||
ret = ret && (voices.indexOf(settings->subValue("festival",
|
||||
RbSettings::TtsVoice).toString()) != -1);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,17 +36,17 @@ TTSSapiGui::TTSSapiGui(TTSSapi* sapi,QDialog* parent) : QDialog(parent)
|
|||
void TTSSapiGui::showCfg()
|
||||
{
|
||||
// try to get config from settings
|
||||
ui.ttsoptions->setText(settings->ttsOptions("sapi"));
|
||||
QString selLang = settings->ttsLang("sapi");
|
||||
QString selVoice = settings->ttsVoice("sapi");
|
||||
ui.speed->setValue(settings->ttsSpeed("sapi"));
|
||||
if(settings->ttsUseSapi4())
|
||||
ui.ttsoptions->setText(settings->subValue("sapi", RbSettings::TtsOptions).toString());
|
||||
QString selLang = settings->subValue("sapi", RbSettings::TtsLanguage).toString();
|
||||
QString selVoice = settings->subValue("sapi", RbSettings::TtsVoice).toString();
|
||||
ui.speed->setValue(settings->subValue("sapi", RbSettings::TtsSpeed).toInt());
|
||||
if(settings->value(RbSettings::TtsUseSapi4).toBool())
|
||||
ui.usesapi4->setCheckState(Qt::Checked);
|
||||
else
|
||||
ui.usesapi4->setCheckState(Qt::Unchecked);
|
||||
|
||||
// fill in language combobox
|
||||
QStringList languages = settings->allLanguages();
|
||||
QStringList languages = settings->languages();
|
||||
|
||||
languages.sort();
|
||||
ui.languagecombo->clear();
|
||||
|
|
@ -78,14 +78,14 @@ void TTSSapiGui::reset()
|
|||
void TTSSapiGui::accept(void)
|
||||
{
|
||||
//save settings in user config
|
||||
settings->setTTSOptions("sapi",ui.ttsoptions->text());
|
||||
settings->setTTSLang("sapi",ui.languagecombo->currentText());
|
||||
settings->setTTSVoice("sapi",ui.voicecombo->currentText());
|
||||
settings->setTTSSpeed("sapi",ui.speed->value());
|
||||
settings->setSubValue("sapi", RbSettings::TtsOptions, ui.ttsoptions->text());
|
||||
settings->setSubValue("sapi", RbSettings::TtsLanguage, ui.languagecombo->currentText());
|
||||
settings->setSubValue("sapi", RbSettings::TtsVoice, ui.voicecombo->currentText());
|
||||
settings->setSubValue("sapi", RbSettings::TtsSpeed, ui.speed->value());
|
||||
if(ui.usesapi4->checkState() == Qt::Checked)
|
||||
settings->setTTSUseSapi4(true);
|
||||
settings->setValue(RbSettings::TtsUseSapi4, true);
|
||||
else
|
||||
settings->setTTSUseSapi4(false);
|
||||
settings->setValue(RbSettings::TtsUseSapi4, false);
|
||||
// sync settings
|
||||
settings->sync();
|
||||
|
||||
|
|
@ -108,9 +108,9 @@ void TTSSapiGui::updateVoices(QString language)
|
|||
void TTSSapiGui::useSapi4Changed(int)
|
||||
{
|
||||
if(ui.usesapi4->checkState() == Qt::Checked)
|
||||
settings->setTTSUseSapi4(true);
|
||||
settings->setValue(RbSettings::TtsUseSapi4, true);
|
||||
else
|
||||
settings->setTTSUseSapi4(false);
|
||||
settings->setValue(RbSettings::TtsUseSapi4, false);
|
||||
// sync settings
|
||||
settings->sync();
|
||||
updateVoices(ui.languagecombo->currentText());
|
||||
|
|
@ -136,8 +136,8 @@ void TTSExesGui::showCfg(QString name)
|
|||
{
|
||||
m_name = name;
|
||||
// try to get config from settings
|
||||
QString exepath =settings->ttsPath(m_name);
|
||||
ui.ttsoptions->setText(settings->ttsOptions(m_name));
|
||||
QString exepath =settings->subValue(m_name, RbSettings::TtsPath).toString();
|
||||
ui.ttsoptions->setText(settings->subValue(m_name, RbSettings::TtsOptions).toString());
|
||||
ui.ttspath->setText(exepath);
|
||||
|
||||
//show dialog
|
||||
|
|
@ -148,8 +148,8 @@ void TTSExesGui::showCfg(QString name)
|
|||
void TTSExesGui::accept(void)
|
||||
{
|
||||
//save settings in user config
|
||||
settings->setTTSPath(m_name,ui.ttspath->text());
|
||||
settings->setTTSOptions(m_name,ui.ttsoptions->text());
|
||||
settings->setSubValue(m_name, RbSettings::TtsPath, ui.ttspath->text());
|
||||
settings->setSubValue(m_name, RbSettings::TtsOptions, ui.ttsoptions->text());
|
||||
// sync settings
|
||||
settings->sync();
|
||||
|
||||
|
|
@ -199,15 +199,15 @@ TTSFestivalGui::TTSFestivalGui(TTSFestival* api, QDialog* parent) :
|
|||
|
||||
void TTSFestivalGui::showCfg()
|
||||
{
|
||||
qDebug() << "show\tpaths: " << settings->ttsPath("festival") << "\n"
|
||||
<< "\tvoice: " << settings->ttsVoice("festival");
|
||||
qDebug() << "show\tpaths: " << settings->subValue("festival", RbSettings::TtsPath) << "\n"
|
||||
<< "\tvoice: " << settings->subValue("festival", RbSettings::TtsVoice);
|
||||
|
||||
// will populate the voices if the paths are correct,
|
||||
// otherwise, it will require the user to press Refresh
|
||||
updateVoices();
|
||||
|
||||
// try to get config from settings
|
||||
QStringList paths = settings->ttsPath("festival").split(":");
|
||||
QStringList paths = settings->subValue("festival", RbSettings::TtsPath).toString().split(":");
|
||||
if(paths.size() == 2)
|
||||
{
|
||||
ui.serverPath->setText(paths[0]);
|
||||
|
|
@ -223,8 +223,8 @@ void TTSFestivalGui::accept(void)
|
|||
//save settings in user config
|
||||
QString newPath = QString("%1:%2").arg(ui.serverPath->text().trimmed()).arg(ui.clientPath->text().trimmed());
|
||||
qDebug() << "set\tpaths: " << newPath << "\n\tvoice: " << ui.voicesBox->currentText();
|
||||
settings->setTTSPath("festival", newPath);
|
||||
settings->setTTSVoice("festival", ui.voicesBox->currentText());
|
||||
settings->setSubValue("festival", RbSettings::TtsPath, newPath);
|
||||
settings->setSubValue("festival", RbSettings::TtsVoice, ui.voicesBox->currentText());
|
||||
|
||||
settings->sync();
|
||||
|
||||
|
|
@ -288,13 +288,13 @@ void TTSFestivalGui::onRefreshButton()
|
|||
{
|
||||
/* Temporarily commit the settings so that we get the new path when we check for voices */
|
||||
QString newPath = QString("%1:%2").arg(ui.serverPath->text().trimmed()).arg(ui.clientPath->text().trimmed());
|
||||
QString oldPath = settings->ttsPath("festival");
|
||||
QString oldPath = settings->subValue("festival", RbSettings::TtsPath).toString();
|
||||
qDebug() << "new path: " << newPath << "\n" << "old path: " << oldPath << "\nuse new: " << (newPath != oldPath);
|
||||
|
||||
if(newPath != oldPath)
|
||||
{
|
||||
qDebug() << "Using new paths for getVoiceList";
|
||||
settings->setTTSPath("festival", newPath);
|
||||
settings->setSubValue("festival", RbSettings::TtsPath, newPath);
|
||||
settings->sync();
|
||||
}
|
||||
|
||||
|
|
@ -302,7 +302,7 @@ void TTSFestivalGui::onRefreshButton()
|
|||
|
||||
if(newPath != oldPath)
|
||||
{
|
||||
settings->setTTSPath("festival", oldPath);
|
||||
settings->setSubValue("festival", RbSettings::TtsPath, oldPath);
|
||||
settings->sync();
|
||||
}
|
||||
}
|
||||
|
|
@ -324,9 +324,10 @@ void TTSFestivalGui::updateVoices()
|
|||
ui.voicesBox->clear();
|
||||
ui.voicesBox->addItems(voiceList);
|
||||
|
||||
ui.voicesBox->setCurrentIndex(ui.voicesBox->findText(settings->ttsVoice("festival")));
|
||||
ui.voicesBox->setCurrentIndex(ui.voicesBox->findText(
|
||||
settings->subValue("festival", RbSettings::TtsVoice).toString()));
|
||||
|
||||
updateDescription(settings->ttsVoice("festival"));
|
||||
updateDescription(settings->subValue("festival", RbSettings::TtsVoice).toString());
|
||||
}
|
||||
|
||||
void TTSFestivalGui::updateDescription(QString value)
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ void UninstallWindow::setSettings(RbSettings *sett)
|
|||
{
|
||||
settings = sett;
|
||||
|
||||
QString mountpoint =settings->mountpoint();
|
||||
QString mountpoint = settings->value(RbSettings::Mountpoint).toString();
|
||||
uninstaller = new Uninstaller(this,mountpoint);
|
||||
|
||||
// disable smart uninstall, if not possible
|
||||
|
|
|
|||
|
|
@ -65,7 +65,8 @@ bool VoiceFileCreator::createVoiceFile(ProgressloggerInterface* logger)
|
|||
version = version.left(version.indexOf("-")).remove(0,1);
|
||||
|
||||
//prepare download url
|
||||
QUrl genlangUrl = settings->genlangUrl() +"?lang=" +m_lang+"&t="+target+"&rev="+version+"&f="+features;
|
||||
QUrl genlangUrl = settings->value(RbSettings::GenlangUrl).toString()
|
||||
+"?lang=" + m_lang + "&t=" + target + "&rev=" + version + "&f=" + features;
|
||||
|
||||
qDebug() << "downloading " << genlangUrl;
|
||||
|
||||
|
|
@ -127,7 +128,7 @@ void VoiceFileCreator::downloadDone(bool error)
|
|||
}
|
||||
|
||||
//tts
|
||||
m_tts = TTSBase::getTTS(settings->curTTS());
|
||||
m_tts = TTSBase::getTTS(settings->value(RbSettings::Tts).toString());
|
||||
m_tts->setCfg(settings);
|
||||
|
||||
QString errStr;
|
||||
|
|
@ -141,7 +142,7 @@ void VoiceFileCreator::downloadDone(bool error)
|
|||
}
|
||||
|
||||
// Encoder
|
||||
m_enc = EncBase::getEncoder(settings->curEncoder());
|
||||
m_enc = EncBase::getEncoder(settings->value(RbSettings::CurEncoder).toString());
|
||||
m_enc->setCfg(settings);
|
||||
|
||||
if(!m_enc->start())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue