author | sandman <sandman> | 2002-10-21 12:13:18 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-10-21 12:13:18 (UTC) |
commit | cdaf60fdf5dc19e88db4faa319daacfe4e879518 (patch) (side-by-side diff) | |
tree | 39ef0f3b4505cddb7f7eca2f2a1b14528c937bf2 | |
parent | 3774660eaa50fe7adab39564ded7a2e1f296724b (diff) | |
download | opie-cdaf60fdf5dc19e88db4faa319daacfe4e879518.zip opie-cdaf60fdf5dc19e88db4faa319daacfe4e879518.tar.gz opie-cdaf60fdf5dc19e88db4faa319daacfe4e879518.tar.bz2 |
Language settings didn't let you de-select a language (i.e. if you have
opie-i18n-de, but NOT opie-i18n-en installed, you can't go back to english)
Now there's always a "English (default)" entry, as long as opie-i18n-en is
not installed.
-rw-r--r-- | noncore/settings/language/language.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/noncore/settings/language/language.cpp b/noncore/settings/language/language.cpp index 397d372..5c4284b 100644 --- a/noncore/settings/language/language.cpp +++ b/noncore/settings/language/language.cpp @@ -65,4 +65,5 @@ LanguageSettings::LanguageSettings( QWidget* parent, const char* name, WFlags f languages->setFont(FontManager::unicodeFont(FontManager::Proportional)); + QString tfn = QPEApplication::qpeDir()+"/i18n/"; QDir langDir = tfn; @@ -87,4 +88,8 @@ LanguageSettings::LanguageSettings( QWidget* parent, const char* name, WFlags f } } + if ( langAvail. find ( "en" ) == -1 ) { + langAvail. prepend ( "" ); // no tr + languages-> insertItem ( QString ( "English [%1] (%2)" /* no tr (!) */ ). arg ( tr ( "English" )). arg ( tr( "default" )), 0 ); + } dl = new QPEDialogListener(this); @@ -93,6 +98,5 @@ LanguageSettings::LanguageSettings( QWidget* parent, const char* name, WFlags f LanguageSettings::~LanguageSettings() -{ -} +{} void LanguageSettings::accept() @@ -104,6 +108,5 @@ void LanguageSettings::accept() void LanguageSettings::applyLanguage() { - QString lang = langAvail.at( languages->currentItem() ); - setLanguage( lang ); + setLanguage ( langAvail. at ( languages-> currentItem ( ))); } @@ -118,7 +121,9 @@ void LanguageSettings::reset() { QString l = getenv("LANG"); - Config config("language"); + Config config("locale"); + config.setGroup("Language"); l = config.readEntry( "Language", l ); - if(l.isEmpty()) l = "en"; + if (l.isEmpty()) + l = "en"; actualLanguage = l; @@ -134,11 +139,16 @@ void LanguageSettings::setLanguage(const QString& lang) Config config("locale"); config.setGroup( "Language" ); + if ( lang. isEmpty ( )) + config. removeEntry ( "Language" ); + else config.writeEntry( "Language", lang ); config.write(); #if defined(Q_WS_QWS) && !defined(QT_NO_COP) + QCopEnvelope e("QPE/System","language(QString)"); e << lang; #endif + } } |