diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-12-20 16:02:18 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-12-22 20:08:51 +0100 |
commit | 1c7d3390022908cfbfd30f55e8c0c3b60a045da7 (patch) | |
tree | 07e34f151fbfc0c5ec39b2417f0e86f1e02d5c79 /svl | |
parent | 91d361604781f92640c9727add1e08cde854037e (diff) |
request installation of langpack via packagekit
if ui is set to track the locale automatically and the current locale
has no match in installed resources but has a match in the list of
languages that libreoffice was compiled to contain
so e.g. de_AT locale shouldn't trigger the installation of anything if
langpack-de is already installed and yue_HK shouldn't trigger install
of anything cause that not supported (at time of writing) for libreoffice
put Fedora/RHEL/Ubuntu naming schemes in here.
I moved the lang code from svl to svtools so I could use the restart dialog
to prompt to restart after the langpack is installed, but packagekit's blocking
mode seems to be no longer blocking and control returns immediately which is a
change since the last time I played with this stuff, so drop the restart thing
for now. The lack of a blocking modal also makes the "run this on idle when there's
a toplevel window up and running" a bit futile, but lets keep that for now anyway.
caolanm->rene: I know you'd disable this anyway, so Debian is left out, there's
also config key Office/Common/PackageKit/EnableLangpackInstallation to disable
this too.
Change-Id: Ice731be539850338ccdd8af87839e0b4d83f01e7
Reviewed-on: https://gerrit.libreoffice.org/46856
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svl')
-rw-r--r-- | svl/source/config/languageoptions.cxx | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/svl/source/config/languageoptions.cxx b/svl/source/config/languageoptions.cxx index 9f9fe4513819..74af0313c775 100644 --- a/svl/source/config/languageoptions.cxx +++ b/svl/source/config/languageoptions.cxx @@ -27,7 +27,6 @@ #include <rtl/instance.hxx> #include <com/sun/star/i18n/ScriptType.hpp> #include <unotools/syslocale.hxx> -#include <officecfg/System.hxx> #ifdef _WIN32 #if !defined WIN32_LEAN_AND_MEAN @@ -256,41 +255,9 @@ bool SvtSystemLanguageOptions::isKeyboardLayoutTypeInstalled(sal_Int16 scriptTyp return isInstalled; } - bool SvtSystemLanguageOptions::isCJKKeyboardLayoutInstalled() const { return isKeyboardLayoutTypeInstalled(css::i18n::ScriptType::ASIAN); } -OUString getInstalledLocaleForLanguage(css::uno::Sequence<OUString> const & installed, OUString const & locale) -{ - if (locale.isEmpty()) - return OUString(); // do not attempt to resolve anything - - for (sal_Int32 i = 0; i != installed.getLength(); ++i) { - if (installed[i] == locale) { - return installed[i]; - } - } - std::vector<OUString> fallbacks(LanguageTag(locale).getFallbackStrings(false)); - for (OUString & rf : fallbacks) { - for (sal_Int32 i = 0; i != installed.getLength(); ++i) { - if (installed[i] == rf) { - return installed[i]; - } - } - } - return OUString(); -} - -OUString getInstalledLocaleForSystemUILanguage(const css::uno::Sequence<OUString>& rLocaleElementNames) -{ - OUString locale = getInstalledLocaleForLanguage(rLocaleElementNames, officecfg::System::L10N::UILocale::get()); - if (locale.isEmpty()) - locale = getInstalledLocaleForLanguage(rLocaleElementNames, "en-US"); - if (locale.isEmpty() && rLocaleElementNames.hasElements()) - locale = rLocaleElementNames[0]; - return locale; -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |