Fix last kxmlgui patch permissions
[gpg4win.git] / patches / kxmlgui / 0005-Use-non-native-Language-name-as-fallback.patch
1 #! /bin/sh
2 patch -p1 -l -f $* < $0
3 exit $?
4
5 From aa75395f2d4b203b3b764f2a3a622dc4f465e930 Mon Sep 17 00:00:00 2001
6 From: Andre Heinecke <aheinecke@intevation.de>
7 Date: Fri, 19 Feb 2016 14:57:57 +0100
8 Subject: [PATCH] Use non native Language name as fallback
9
10 Some languages like Lower German don't have a native Language
11 name in Qt. So we use a fallback to avoid showing empty menu
12 entries.
13 ---
14  src/kswitchlanguagedialog_p.cpp | 8 ++++++--
15  1 file changed, 6 insertions(+), 2 deletions(-)
16
17 diff --git a/src/kswitchlanguagedialog_p.cpp b/src/kswitchlanguagedialog_p.cpp
18 index 039daea..531598e 100644
19 --- a/src/kswitchlanguagedialog_p.cpp
20 +++ b/src/kswitchlanguagedialog_p.cpp
21 @@ -339,12 +339,16 @@ void KSwitchLanguageDialogPrivate::fillApplicationLanguages(KLanguageButton *but
22      foreach(const QLocale &l, allLocales) {
23          QString languageCode = l.name();
24          if (l != cLocale) {
25 +            const QString nativeName = l.nativeLanguageName();
26 +            // For some languages the native name is empty. In this case use the non native language
27 +            // name as fallback.
28 +            const QString languageName = nativeName.isEmpty() ? QLocale::languageToString(l.language()) : nativeName;
29              if (!insertedLanguges.contains(languageCode) && KLocalizedString::isApplicationTranslatedInto(languageCode)) {
30 -                button->insertLanguage(languageCode, l.nativeLanguageName());
31 +                button->insertLanguage(languageCode, languageName);
32                  insertedLanguges << languageCode;
33              } else if (stripCountryCode(&languageCode)) {
34                  if (!insertedLanguges.contains(languageCode) && KLocalizedString::isApplicationTranslatedInto(languageCode)) {
35 -                    button->insertLanguage(languageCode, l.nativeLanguageName());
36 +                    button->insertLanguage(languageCode, languageName);
37                      insertedLanguges << languageCode;
38                  }
39              }
40 --
41 2.1.4