vlc | branch: master | Filip Roséen <[email protected]> | Sat Feb 25 07:30:39 2017 +0100| [0c4aae9e7da64328e130c2b567f48c6323e2bf1c] | committer: Jean-Baptiste Kempf
gui/qt: simple_preferences: combine ppsz_language and ppsz_language_map Having things as two separate arrays is very hard to maintain as one entry in ppsz_language must correctly correspond to one element in ppsz_language_text. These changes refactors the implementation so that a single array is used, where each element has two members so that it is easier to see what corresponds to what. Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0c4aae9e7da64328e130c2b567f48c6323e2bf1c --- modules/gui/qt/components/simple_preferences.cpp | 201 ++++++++--------------- 1 file changed, 70 insertions(+), 131 deletions(-) diff --git a/modules/gui/qt/components/simple_preferences.cpp b/modules/gui/qt/components/simple_preferences.cpp index e9c0133..b9e1d01 100644 --- a/modules/gui/qt/components/simple_preferences.cpp +++ b/modules/gui/qt/components/simple_preferences.cpp @@ -54,134 +54,73 @@ # include <shobjidl.h> #endif #include <vlc_modules.h> - -static const char *const ppsz_language[] = -{ - "auto", - "en", - "ar", - "bn", - "pt_BR", - "en_GB", - "el", - "bg", - "ca", - "zh_TW", - "cs", - "cy", - "da", - "nl", - "fi", - "et", - "eu", - "fr", - "ga", - "gd", - "gl", - "ka", - "de", - "he", - "hr", - "hu", - "hy", - "is", - "id", - "it", - "ja", - "ko", - "lt", - "mn", - "ms", - "nb", - "nn", - "kk", - "km", - "ne", - "oc", - "fa", - "pl", - "pt_PT", - "pa", - "ro", - "ru", - "zh_CN", - "si", - "sr", - "sk", - "sl", - "ckb", - "es", - "sv", - "te", - "tr", - "uk", - "vi", - "wa", - NULL, -}; - -static const char *const ppsz_language_text[] = -{ - N_("Auto"), - "American English", - "ﻉﺮﺒﻳ", - "বাংলা", - "Português Brasileiro", - "British English", - "Νέα Ελληνικά", - "български език", - "Català", - "正體中文", - "Čeština", - "Cymraeg", - "Dansk", - "Nederlands", - "Suomi", - "eesti keel", - "Euskara", - "Français", - "Gaeilge", - "Gàidhlig", - "Galego", - "ქართული", - "Deutsch", - "עברית", - "hrvatski", - "Magyar", - "հայերեն", - "íslenska", - "Bahasa Indonesia", - "Italiano", - "日本語", - "한국어", - "lietuvių", - "Монгол хэл", - "Melayu", - "Bokmål", - "Nynorsk", - "Қазақ тілі", - "ភាសាខ្មែរ", - "नेपाली", - "Occitan", - "ﻑﺍﺮﺳی", - "Polski", - "Português", - "ਪੰਜਾਬੀ", - "Română", - "Русский", - "简体中文", - "සිංහල", - "српски", - "Slovensky", - "slovenščina", - "کوردیی سۆرانی", - "Español", - "Svenska", - "తెలుగు", - "Türkçe", - "украї́нська мо́ва", - "tiếng Việt", - "Walon", +#include <vlc_arrays.h> + +static struct { + const char iso[6]; + const char name[34]; + +} const language_map[] = { + { "auto", N_("Auto") }, + { "en", "American English" }, + { "ar", "ﻉﺮﺒﻳ" }, + { "bn", "বাংলা" }, + { "pt_BR", "Português Brasileiro" }, + { "en_GB", "British English" }, + { "el", "Νέα Ελληνικά" }, + { "bg", "български език" }, + { "ca", "Català" }, + { "zh_TW", "正體中文" }, + { "cs", "Čeština" }, + { "cy", "Cymraeg" }, + { "da", "Dansk" }, + { "nl", "Nederlands" }, + { "fi", "Suomi" }, + { "et", "eesti keel" }, + { "eu", "Euskara" }, + { "fr", "Français" }, + { "ga", "Gaeilge" }, + { "gd", "Gàidhlig" }, + { "gl", "Galego" }, + { "ka", "ქართული" }, + { "de", "Deutsch" }, + { "he", "עברית" }, + { "hr", "hrvatski" }, + { "hu", "Magyar" }, + { "hy", "հայերեն" }, + { "is", "íslenska" }, + { "id", "Bahasa Indonesia" }, + { "it", "Italiano" }, + { "ja", "日本語" }, + { "ko", "한국어" }, + { "lt", "lietuvių" }, + { "mn", "Монгол хэл" }, + { "ms", "Melayu" }, + { "nb", "Bokmål" }, + { "nn", "Nynorsk" }, + { "kk", "Қазақ тілі" }, + { "km", "ភាសាខ្មែរ" }, + { "ne", "नेपाली" }, + { "oc", "Occitan" }, + { "fa", "ﻑﺍﺮﺳی" }, + { "pl", "Polski" }, + { "pt_PT", "Português" }, + { "pa", "ਪੰਜਾਬੀ" }, + { "ro", "Română" }, + { "ru", "Русский" }, + { "zh_CN", "简体中文" }, + { "si", "සිංහල" }, + { "sr", "српски" }, + { "sk", "Slovensky" }, + { "sl", "slovenščina" }, + { "ckb", "کوردیی سۆرانی" }, + { "es", "Español" }, + { "sv", "Svenska" }, + { "te", "తెలుగు" }, + { "tr", "Türkçe" }, + { "uk", "украї́нська мо́ва" }, + { "vi", "tiếng Việt" }, + { "wa", "Walon" } }; static int getDefaultAudioVolume(vlc_object_t *obj, const char *aout) @@ -721,8 +660,8 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, #ifndef _WIN32 ui.langBox->hide(); #else - for( int i = 0; ppsz_language[i] != NULL; i++) - ui.langCombo->addItem( qfu(ppsz_language_text[i]), ppsz_language[i]); + for( int i = 0; i < ARRAY_SIZE( language_map ); i++) + ui.langCombo->addItem( qfu( language_map[i].name ), language_map[i].iso ); CONNECT( ui.langCombo, currentIndexChanged( int ), this, langChanged( int ) ); HKEY h_key; @@ -1187,7 +1126,7 @@ void SPrefsPanel::changeStyle( QString s_style ) void SPrefsPanel::langChanged( int i ) { free( lang ); - lang = strdup( ppsz_language[i] ); + lang = strdup( language_map[i].iso ); } void SPrefsPanel::configML() _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
