diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-05-19 16:49:48 +0200 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-05-19 16:52:58 +0200 |
commit | 733eb9af409a0482d92fe8411b1a2bd53375cc71 (patch) | |
tree | 41578ac9fa0e91ba09b23860dd23863b1ef15f52 | |
parent | 9f89ffa71c7029803c96a102efee0ab65edc6ead (diff) | |
download | rockbox-733eb9af409a0482d92fe8411b1a2bd53375cc71.tar.gz rockbox-733eb9af409a0482d92fe8411b1a2bd53375cc71.zip |
Show nicer language names in voice creation dialog.
Instead of showing the internal language names show some more human friendly
string. Currently only applies to the voice creation dialog, the language
configuration dialog needs further adjustments to support display strings
differing from values.
Change-Id: Ic94838f1079c1d09a666d7dbd9682c577f686b3f
-rw-r--r-- | rbutil/rbutilqt/base/systeminfo.cpp | 6 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/systeminfo.h | 2 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/ttssapi.cpp | 8 | ||||
-rw-r--r-- | rbutil/rbutilqt/createvoicewindow.cpp | 22 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutil.ini | 86 |
5 files changed, 65 insertions, 59 deletions
diff --git a/rbutil/rbutilqt/base/systeminfo.cpp b/rbutil/rbutilqt/base/systeminfo.cpp index 1f7be72b1e..44bcf3c84d 100644 --- a/rbutil/rbutilqt/base/systeminfo.cpp +++ b/rbutil/rbutilqt/base/systeminfo.cpp | |||
@@ -143,16 +143,16 @@ QStringList SystemInfo::platforms(enum SystemInfo::PlatformType type, QString va | |||
143 | return result; | 143 | return result; |
144 | } | 144 | } |
145 | 145 | ||
146 | QMap<QString, QString> SystemInfo::languages(void) | 146 | QMap<QString, QStringList> SystemInfo::languages(void) |
147 | { | 147 | { |
148 | ensureSystemInfoExists(); | 148 | ensureSystemInfoExists(); |
149 | 149 | ||
150 | QMap<QString, QString> result; | 150 | QMap<QString, QStringList> result; |
151 | systemInfos->beginGroup("languages"); | 151 | systemInfos->beginGroup("languages"); |
152 | QStringList a = systemInfos->childKeys(); | 152 | QStringList a = systemInfos->childKeys(); |
153 | for(int i = 0; i < a.size(); i++) | 153 | for(int i = 0; i < a.size(); i++) |
154 | { | 154 | { |
155 | result.insert(a.at(i), systemInfos->value(a.at(i), "null").toString()); | 155 | result.insert(a.at(i), systemInfos->value(a.at(i), "null").toStringList()); |
156 | } | 156 | } |
157 | systemInfos->endGroup(); | 157 | systemInfos->endGroup(); |
158 | return result; | 158 | return result; |
diff --git a/rbutil/rbutilqt/base/systeminfo.h b/rbutil/rbutilqt/base/systeminfo.h index f8c31a9de3..420dbf3c80 100644 --- a/rbutil/rbutilqt/base/systeminfo.h +++ b/rbutil/rbutilqt/base/systeminfo.h | |||
@@ -79,7 +79,7 @@ class SystemInfo : public QObject | |||
79 | static QStringList platforms(enum PlatformType type = PlatformAll, | 79 | static QStringList platforms(enum PlatformType type = PlatformAll, |
80 | QString variant=""); | 80 | QString variant=""); |
81 | //! returns a map of all languages | 81 | //! returns a map of all languages |
82 | static QMap<QString, QString> languages(void); | 82 | static QMap<QString, QStringList> languages(void); |
83 | //! returns a map of usb-ids and their targets | 83 | //! returns a map of usb-ids and their targets |
84 | static QMap<int, QString> usbIdMap(enum MapType); | 84 | static QMap<int, QString> usbIdMap(enum MapType); |
85 | //! get a value from system settings | 85 | //! get a value from system settings |
diff --git a/rbutil/rbutilqt/base/ttssapi.cpp b/rbutil/rbutilqt/base/ttssapi.cpp index 00c63550d3..09c1dd0588 100644 --- a/rbutil/rbutilqt/base/ttssapi.cpp +++ b/rbutil/rbutilqt/base/ttssapi.cpp | |||
@@ -38,10 +38,14 @@ TTSBase::Capabilities TTSSapi::capabilities() | |||
38 | void TTSSapi::generateSettings() | 38 | void TTSSapi::generateSettings() |
39 | { | 39 | { |
40 | // language | 40 | // language |
41 | QMap<QString, QString> languages = SystemInfo::languages(); | 41 | QMap<QString, QStringList> languages = SystemInfo::languages(); |
42 | QStringList langs; | ||
43 | for(int i = 0; i < languages.values().size(); ++i) { | ||
44 | langs.append(languages.values().at(i).at(0)); | ||
45 | } | ||
42 | EncTtsSetting* setting =new EncTtsSetting(this,EncTtsSetting::eSTRINGLIST, | 46 | EncTtsSetting* setting =new EncTtsSetting(this,EncTtsSetting::eSTRINGLIST, |
43 | tr("Language:"),RbSettings::subValue("sapi",RbSettings::TtsLanguage), | 47 | tr("Language:"),RbSettings::subValue("sapi",RbSettings::TtsLanguage), |
44 | languages.values()); | 48 | langs); |
45 | connect(setting,SIGNAL(dataChanged()),this,SLOT(updateVoiceList())); | 49 | connect(setting,SIGNAL(dataChanged()),this,SLOT(updateVoiceList())); |
46 | insertSetting(eLANGUAGE,setting); | 50 | insertSetting(eLANGUAGE,setting); |
47 | // voice | 51 | // voice |
diff --git a/rbutil/rbutilqt/createvoicewindow.cpp b/rbutil/rbutilqt/createvoicewindow.cpp index d1db0145e4..a45425a0ef 100644 --- a/rbutil/rbutilqt/createvoicewindow.cpp +++ b/rbutil/rbutilqt/createvoicewindow.cpp | |||
@@ -52,7 +52,7 @@ void CreateVoiceWindow::accept() | |||
52 | 52 | ||
53 | //configure voicecreator | 53 | //configure voicecreator |
54 | voicecreator->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString()); | 54 | voicecreator->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString()); |
55 | voicecreator->setLang(ui.comboLanguage->currentText()); | 55 | voicecreator->setLang(ui.comboLanguage->itemData(ui.comboLanguage->currentIndex()).toString()); |
56 | voicecreator->setWavtrimThreshold(ui.wavtrimthreshold->value()); | 56 | voicecreator->setWavtrimThreshold(ui.wavtrimthreshold->value()); |
57 | 57 | ||
58 | //start creating | 58 | //start creating |
@@ -69,25 +69,25 @@ void CreateVoiceWindow::accept() | |||
69 | void CreateVoiceWindow::updateSettings(void) | 69 | void CreateVoiceWindow::updateSettings(void) |
70 | { | 70 | { |
71 | // fill in language combobox | 71 | // fill in language combobox |
72 | QMap<QString, QString> languages = SystemInfo::languages(); | 72 | QMap<QString, QStringList> languages = SystemInfo::languages(); |
73 | 73 | ||
74 | for(int i = 0; i < languages.keys().size(); i++) { | 74 | for(int i = 0; i < languages.keys().size(); i++) { |
75 | QString key = languages.keys().at(i); | 75 | QString key = languages.keys().at(i); |
76 | ui.comboLanguage->addItem(languages.value(key), key); | 76 | ui.comboLanguage->addItem(languages.value(key).at(1), languages.value(key).at(0)); |
77 | } | 77 | } |
78 | // set saved lang | 78 | // set saved lang |
79 | int sel = ui.comboLanguage->findText( | 79 | int sel = ui.comboLanguage->findData( |
80 | RbSettings::value(RbSettings::VoiceLanguage).toString()); | 80 | RbSettings::value(RbSettings::VoiceLanguage).toString()); |
81 | // if no saved language is found try to figure the language from the UI lang | 81 | // if no saved language is found try to figure the language from the UI lang |
82 | if(sel == -1) { | 82 | if(sel == -1) { |
83 | QString f = RbSettings::value(RbSettings::Language).toString(); | 83 | QString uilang = RbSettings::value(RbSettings::Language).toString(); |
84 | // if no language is set default to english. Make sure not to check an empty string. | 84 | // if no language is set default to english. Make sure not to check an empty string. |
85 | if(f.isEmpty()) f = "english"; | 85 | QString f = "english"; |
86 | if(!uilang.isEmpty() && languages.contains(uilang)) { | ||
87 | f = languages.value(uilang).at(0); | ||
88 | } | ||
86 | sel = ui.comboLanguage->findData(f); | 89 | sel = ui.comboLanguage->findData(f); |
87 | qDebug() << "sel =" << sel; | 90 | qDebug() << "[CreateVoiceWindow] Selected language index:" << sel; |
88 | // still nothing found? | ||
89 | if(sel == -1) | ||
90 | sel = ui.comboLanguage->findText("english", Qt::MatchStartsWith); | ||
91 | } | 91 | } |
92 | ui.comboLanguage->setCurrentIndex(sel); | 92 | ui.comboLanguage->setCurrentIndex(sel); |
93 | 93 | ||
@@ -125,7 +125,7 @@ void CreateVoiceWindow::saveSettings(void) | |||
125 | { | 125 | { |
126 | // save selected language | 126 | // save selected language |
127 | RbSettings::setValue(RbSettings::VoiceLanguage, | 127 | RbSettings::setValue(RbSettings::VoiceLanguage, |
128 | ui.comboLanguage->currentText()); | 128 | ui.comboLanguage->itemData(ui.comboLanguage->currentIndex()).toString()); |
129 | // save wavtrim threshold value | 129 | // save wavtrim threshold value |
130 | RbSettings::setValue(RbSettings::WavtrimThreshold, | 130 | RbSettings::setValue(RbSettings::WavtrimThreshold, |
131 | ui.wavtrimthreshold->value()); | 131 | ui.wavtrimthreshold->value()); |
diff --git a/rbutil/rbutilqt/rbutil.ini b/rbutil/rbutilqt/rbutil.ini index c740d35411..8cfaf4ba3e 100644 --- a/rbutil/rbutilqt/rbutil.ini +++ b/rbutil/rbutilqt/rbutil.ini | |||
@@ -849,47 +849,49 @@ name="Sansa Fuze+ (Recovery Mode)" | |||
849 | ; The language string is sent to the server when retrieving the list of | 849 | ; The language string is sent to the server when retrieving the list of |
850 | ; strings. Each entry name is the code for the language and used for storing in | 850 | ; strings. Each entry name is the code for the language and used for storing in |
851 | ; the configuration. | 851 | ; the configuration. |
852 | ; Format: | ||
853 | ; <language code>=<language string as sent to server>,<human readable string> | ||
852 | [languages] | 854 | [languages] |
853 | af=afrikaans | 855 | af=afrikaans,Afrikaans |
854 | bg=bulgarian | 856 | bg=bulgarian,Bulgarian |
855 | ca=catala | 857 | ca=catala,Catala |
856 | cs=czech | 858 | cs=czech,Czech |
857 | da=dansk | 859 | da=dansk,Dansk |
858 | de=deutsch | 860 | de=deutsch,Deutsch |
859 | el=greek | 861 | el=greek,Greek |
860 | en=english | 862 | en=english,English (UK) |
861 | en_US=english-us | 863 | en_US=english-us,English (US) |
862 | eo=esperanto | 864 | eo=esperanto,Esperanto |
863 | es=espanol | 865 | es=espanol,Espanol |
864 | et=eesti | 866 | et=eesti,Eesti |
865 | eu=basque | 867 | eu=basque,Basque |
866 | fi=finnish | 868 | fi=finnish,Finnish |
867 | fr=francais | 869 | fr=francais,Francais |
868 | gl=galego | 870 | gl=galego,Galego |
869 | he=hebrew | 871 | he=hebrew,Hebrew |
870 | hi=hindi | 872 | hi=hindi,Hindi |
871 | hu=magyar | 873 | hu=magyar,Magyar |
872 | is=islenska | 874 | is=islenska,Islenska |
873 | it=italiano | 875 | it=italiano,Italiano |
874 | ja=japanese | 876 | ja=japanese,Japanese |
875 | ko=korean | 877 | ko=korean,Korean |
876 | lt=lietuviu | 878 | lt=lietuviu,Lietuviu |
877 | lv=latviesu | 879 | lv=latviesu,Latviesu |
878 | nb=norsk | 880 | nb=norsk,Norsk |
879 | nl=nederlands | 881 | nl=nederlands,Netherlands |
880 | nn=norsk-nynorsk | 882 | nn=norsk-nynorsk,Norsk (Nyorsk) |
881 | pl=polski | 883 | pl=polski,Polski |
882 | pt=portugues | 884 | pt=portugues,Portugues |
883 | pt_BR=portugues-brasileiro | 885 | pt_BR=portugues-brasileiro,Portugues (Brasileiro) |
884 | ro=romaneste | 886 | ro=romaneste,Romaneste |
885 | ru=russian | 887 | ru=russian,Russian |
886 | sk=slovak | 888 | sk=slovak,Slovak |
887 | sl=slovenscina | 889 | sl=slovenscina,Slovenscina |
888 | sv=svenska | 890 | sv=svenska,Svenska |
889 | th=thai | 891 | th=thai,Thai |
890 | tl=tagalog | 892 | tl=tagalog,Tagalog |
891 | tr=turkce | 893 | tr=turkce,Turkce |
892 | wa=wallisertitsch | 894 | wa=wallisertitsch,Wallisertitsch |
893 | zh_CN=chinese-simp | 895 | zh_CN=chinese-simp,Chinese (simplified) |
894 | zh_TW=chinese-trad | 896 | zh_TW=chinese-trad,Chinese (traditional) |
895 | 897 | ||