diff options
Diffstat (limited to 'rbutil/rbutilqt')
-rw-r--r-- | rbutil/rbutilqt/base/rbsettings.cpp | 20 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/rbsettings.h | 5 | ||||
-rw-r--r-- | rbutil/rbutilqt/configure.cpp | 44 |
3 files changed, 44 insertions, 25 deletions
diff --git a/rbutil/rbutilqt/base/rbsettings.cpp b/rbutil/rbutilqt/base/rbsettings.cpp index 8ab340faa3..150640f010 100644 --- a/rbutil/rbutilqt/base/rbsettings.cpp +++ b/rbutil/rbutilqt/base/rbsettings.cpp | |||
@@ -220,6 +220,25 @@ void RbSettings::setSubValue(QString sub, enum UserSettings setting, QVariant va | |||
220 | userSettings->setValue(s, value); | 220 | userSettings->setValue(s, value); |
221 | } | 221 | } |
222 | 222 | ||
223 | |||
224 | QVariant RbSettings::platformValue(QString platform, enum SystemSettings setting) | ||
225 | { | ||
226 | ensureRbSettingsExists(); | ||
227 | |||
228 | // locate setting item | ||
229 | int i = 0; | ||
230 | while(SystemSettingsList[i].setting != setting) | ||
231 | i++; | ||
232 | |||
233 | QString s = SystemSettingsList[i].name; | ||
234 | s.replace(":platform:", platform); | ||
235 | QString d = SystemSettingsList[i].def; | ||
236 | d.replace(":platform:", platform); | ||
237 | qDebug() << "[Settings] GET P:" << s << systemSettings->value(s, d).toString(); | ||
238 | return systemSettings->value(s, d); | ||
239 | } | ||
240 | |||
241 | |||
223 | QStringList RbSettings::platforms() | 242 | QStringList RbSettings::platforms() |
224 | { | 243 | { |
225 | ensureRbSettingsExists(); | 244 | ensureRbSettingsExists(); |
@@ -250,6 +269,7 @@ QStringList RbSettings::languages() | |||
250 | return result; | 269 | return result; |
251 | } | 270 | } |
252 | 271 | ||
272 | |||
253 | QString RbSettings::name(QString platform) | 273 | QString RbSettings::name(QString platform) |
254 | { | 274 | { |
255 | ensureRbSettingsExists(); | 275 | ensureRbSettingsExists(); |
diff --git a/rbutil/rbutilqt/base/rbsettings.h b/rbutil/rbutilqt/base/rbsettings.h index 4f2a5c3617..c9aceb4039 100644 --- a/rbutil/rbutilqt/base/rbsettings.h +++ b/rbutil/rbutilqt/base/rbsettings.h | |||
@@ -114,7 +114,7 @@ class RbSettings : public QObject | |||
114 | static QMap<int, QString> usbIdMap(enum MapType); | 114 | static QMap<int, QString> usbIdMap(enum MapType); |
115 | //! get a value from system settings | 115 | //! get a value from system settings |
116 | static QVariant value(enum SystemSettings setting); | 116 | static QVariant value(enum SystemSettings setting); |
117 | //! get a vaulue from user settings | 117 | //! get a value from user settings |
118 | static QVariant value(enum UserSettings setting); | 118 | static QVariant value(enum UserSettings setting); |
119 | //! set a user setting value | 119 | //! set a user setting value |
120 | static void setValue(enum UserSettings setting , QVariant value); | 120 | static void setValue(enum UserSettings setting , QVariant value); |
@@ -122,6 +122,8 @@ class RbSettings : public QObject | |||
122 | static QVariant subValue(QString sub, enum UserSettings setting); | 122 | static QVariant subValue(QString sub, enum UserSettings setting); |
123 | //! set a user setting from a subvalue (ie for encoders and tts engines) | 123 | //! set a user setting from a subvalue (ie for encoders and tts engines) |
124 | static void setSubValue(QString sub, enum UserSettings setting, QVariant value); | 124 | static void setSubValue(QString sub, enum UserSettings setting, QVariant value); |
125 | //! get a value from system settings for a named platform. | ||
126 | static QVariant platformValue(QString platform, enum SystemSettings setting); | ||
125 | 127 | ||
126 | private: | 128 | private: |
127 | //! you shouldnt call this, its a fully static calls | 129 | //! you shouldnt call this, its a fully static calls |
@@ -137,3 +139,4 @@ class RbSettings : public QObject | |||
137 | }; | 139 | }; |
138 | 140 | ||
139 | #endif | 141 | #endif |
142 | |||
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp index 23d275dd6e..43406c00e7 100644 --- a/rbutil/rbutilqt/configure.cpp +++ b/rbutil/rbutilqt/configure.cpp | |||
@@ -367,18 +367,14 @@ void Config::updateTtsState(int index) | |||
367 | 367 | ||
368 | void Config::updateEncState() | 368 | void Config::updateEncState() |
369 | { | 369 | { |
370 | // FIXME: this is a workaround to make the encoder follow the device selection | ||
371 | // even with the settings (and thus the device) being saved. Needs to be redone | ||
372 | // properly later by extending the settings object | ||
373 | if(ui.treeDevices->selectedItems().size() == 0) | 370 | if(ui.treeDevices->selectedItems().size() == 0) |
374 | return; | 371 | return; |
375 | 372 | ||
376 | QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); | 373 | QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); |
377 | QString olddevice = RbSettings::value(RbSettings::Platform).toString(); | 374 | QString encoder = RbSettings::platformValue(devname, |
378 | RbSettings::setValue(RbSettings::Platform, devname); | 375 | RbSettings::CurEncoder).toString(); |
379 | QString encoder = RbSettings::value(RbSettings::CurEncoder).toString(); | 376 | ui.encoderName->setText(EncBase::getEncoderName(RbSettings::platformValue(devname, |
380 | ui.encoderName->setText(EncBase::getEncoderName(RbSettings::value(RbSettings::CurEncoder).toString())); | 377 | RbSettings::CurEncoder).toString())); |
381 | RbSettings::setValue(RbSettings::Platform, olddevice); | ||
382 | 378 | ||
383 | EncBase* enc = EncBase::getEncoder(this,encoder); | 379 | EncBase* enc = EncBase::getEncoder(this,encoder); |
384 | 380 | ||
@@ -673,14 +669,16 @@ void Config::testTts() | |||
673 | TTSBase* tts = TTSBase::getTTS(this,ui.comboTts->itemData(index).toString()); | 669 | TTSBase* tts = TTSBase::getTTS(this,ui.comboTts->itemData(index).toString()); |
674 | if(!tts->configOk()) | 670 | if(!tts->configOk()) |
675 | { | 671 | { |
676 | QMessageBox::warning(this,tr("TTS configuration invalid"),tr("TTS configuration invalid. \n Please configure TTS engine.")); | 672 | QMessageBox::warning(this,tr("TTS configuration invalid"), |
673 | tr("TTS configuration invalid. \n Please configure TTS engine.")); | ||
677 | return; | 674 | return; |
678 | } | 675 | } |
679 | 676 | ||
680 | if(!tts->start(&errstr)) | 677 | if(!tts->start(&errstr)) |
681 | { | 678 | { |
682 | QMessageBox::warning(this,tr("Could not start TTS engine"),tr("Could not start TTS engine.\n") + errstr | 679 | QMessageBox::warning(this,tr("Could not start TTS engine"), |
683 | +tr("\nPlease configure TTS engine.")); | 680 | tr("Could not start TTS engine.\n") + errstr |
681 | + tr("\nPlease configure TTS engine.")); | ||
684 | return; | 682 | return; |
685 | } | 683 | } |
686 | 684 | ||
@@ -692,11 +690,12 @@ void Config::testTts() | |||
692 | if(tts->voice(tr("Rockbox Utility Voice Test"),filename,&errstr) == FatalError) | 690 | if(tts->voice(tr("Rockbox Utility Voice Test"),filename,&errstr) == FatalError) |
693 | { | 691 | { |
694 | tts->stop(); | 692 | tts->stop(); |
695 | QMessageBox::warning(this,tr("Could not voice test string"),tr("Could not voice test string.\n") + errstr | 693 | QMessageBox::warning(this,tr("Could not voice test string"), |
696 | +tr("\nPlease configure TTS engine.")); | 694 | tr("Could not voice test string.\n") + errstr |
695 | + tr("\nPlease configure TTS engine.")); | ||
697 | return; | 696 | return; |
698 | } | 697 | } |
699 | tts->stop(); | 698 | tts->stop(); |
700 | #if defined(Q_OS_LINUX) | 699 | #if defined(Q_OS_LINUX) |
701 | QString exe = findExecutable("aplay"); | 700 | QString exe = findExecutable("aplay"); |
702 | if(exe == "") exe = findExecutable("play"); | 701 | if(exe == "") exe = findExecutable("play"); |
@@ -704,25 +703,21 @@ void Config::testTts() | |||
704 | { | 703 | { |
705 | QProcess::execute(exe+" "+filename); | 704 | QProcess::execute(exe+" "+filename); |
706 | } | 705 | } |
707 | #else | 706 | #else |
708 | QSound::play(filename); | 707 | QSound::play(filename); |
709 | #endif | 708 | #endif |
710 | } | 709 | } |
711 | 710 | ||
712 | void Config::configEnc() | 711 | void Config::configEnc() |
713 | { | 712 | { |
714 | // FIXME: this is a workaround to make the encoder follow the device selection | ||
715 | // even with the settings (and thus the device) being saved. Needs to be redone | ||
716 | // properly later by extending the settings object | ||
717 | if(ui.treeDevices->selectedItems().size() == 0) | 713 | if(ui.treeDevices->selectedItems().size() == 0) |
718 | return; | 714 | return; |
719 | 715 | ||
720 | QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); | 716 | QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); |
721 | QString olddevice = RbSettings::value(RbSettings::CurrentPlatform).toString(); | 717 | QString encoder = RbSettings::platformValue(devname, |
722 | RbSettings::setValue(RbSettings::CurrentPlatform,devname); | 718 | RbSettings::CurEncoder).toString(); |
723 | QString encoder = RbSettings::value(RbSettings::CurEncoder).toString(); | 719 | ui.encoderName->setText(EncBase::getEncoderName(RbSettings::platformValue(devname, |
724 | ui.encoderName->setText(EncBase::getEncoderName(RbSettings::value(RbSettings::CurEncoder).toString())); | 720 | RbSettings::CurEncoder).toString())); |
725 | RbSettings::setValue(RbSettings::CurrentPlatform,olddevice); | ||
726 | 721 | ||
727 | 722 | ||
728 | EncBase* enc = EncBase::getEncoder(this,encoder); | 723 | EncBase* enc = EncBase::getEncoder(this,encoder); |
@@ -732,3 +727,4 @@ void Config::configEnc() | |||
732 | 727 | ||
733 | updateEncState(); | 728 | updateEncState(); |
734 | } | 729 | } |
730 | |||