diff options
author | Noel Grandin <noel@peralex.com> | 2015-04-15 09:36:39 +0200 |
---|---|---|
committer | Noel Grandin <noelgrandin@gmail.com> | 2015-04-17 07:21:08 +0000 |
commit | a7b7c64afc523cfd9ff4e724b3efbec6567fc1c8 (patch) | |
tree | 52fd05ef3292f3dab172864cbc3be96a8d44a9d0 /svl | |
parent | add7eeb7dbd0eefa0c5ae5430490864079add801 (diff) |
convert SCRIPTTYPE_ constants to scoped enum
Change-Id: I5be3980ac865162d8d7626556ca47eca4b0ee433
Reviewed-on: https://gerrit.libreoffice.org/15344
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'svl')
-rw-r--r-- | svl/source/config/cjkoptions.cxx | 8 | ||||
-rw-r--r-- | svl/source/config/ctloptions.cxx | 8 | ||||
-rw-r--r-- | svl/source/config/languageoptions.cxx | 41 |
3 files changed, 44 insertions, 13 deletions
diff --git a/svl/source/config/cjkoptions.cxx b/svl/source/config/cjkoptions.cxx index c396251dbbdc..3f61dcaaa2b9 100644 --- a/svl/source/config/cjkoptions.cxx +++ b/svl/source/config/cjkoptions.cxx @@ -198,9 +198,9 @@ void SvtCJKOptions_Impl::Load() if (!bCJKFont) { - sal_uInt16 nScriptType = SvtLanguageOptions::GetScriptTypeOfLanguage(LANGUAGE_SYSTEM); + SvtScriptType nScriptType = SvtLanguageOptions::GetScriptTypeOfLanguage(LANGUAGE_SYSTEM); //system locale is CJK - bool bAutoEnableCJK = (nScriptType & SCRIPTTYPE_ASIAN); + bool bAutoEnableCJK = bool(nScriptType & SvtScriptType::ASIAN); if (!bAutoEnableCJK) { @@ -210,8 +210,8 @@ void SvtCJKOptions_Impl::Load() LanguageType eSystemLanguage = aSystemLocaleSettings.GetWin16SystemLanguage(); if (eSystemLanguage != LANGUAGE_SYSTEM) { - sal_uInt16 nWinScript = SvtLanguageOptions::GetScriptTypeOfLanguage( eSystemLanguage ); - bAutoEnableCJK = (nWinScript & SCRIPTTYPE_ASIAN); + SvtScriptType nWinScript = SvtLanguageOptions::GetScriptTypeOfLanguage( eSystemLanguage ); + bAutoEnableCJK = bool(nWinScript & SvtScriptType::ASIAN); } //CJK keyboard is installed diff --git a/svl/source/config/ctloptions.cxx b/svl/source/config/ctloptions.cxx index 1aaab84ef676..170052c1b867 100644 --- a/svl/source/config/ctloptions.cxx +++ b/svl/source/config/ctloptions.cxx @@ -283,9 +283,9 @@ void SvtCTLOptions_Impl::Load() if (!m_bCTLFontEnabled) { - sal_uInt16 nScriptType = SvtLanguageOptions::GetScriptTypeOfLanguage(LANGUAGE_SYSTEM); + SvtScriptType nScriptType = SvtLanguageOptions::GetScriptTypeOfLanguage(LANGUAGE_SYSTEM); //system locale is CTL - bool bAutoEnableCTL = (nScriptType & SCRIPTTYPE_COMPLEX); + bool bAutoEnableCTL = bool(nScriptType & SvtScriptType::COMPLEX); LanguageType eSystemLanguage = LANGUAGE_SYSTEM; @@ -297,8 +297,8 @@ void SvtCTLOptions_Impl::Load() eSystemLanguage = aSystemLocaleSettings.GetWin16SystemLanguage(); if (eSystemLanguage != LANGUAGE_SYSTEM) { - sal_uInt16 nWinScript = SvtLanguageOptions::GetScriptTypeOfLanguage( eSystemLanguage ); - bAutoEnableCTL = (nWinScript & SCRIPTTYPE_COMPLEX); + SvtScriptType nWinScript = SvtLanguageOptions::GetScriptTypeOfLanguage( eSystemLanguage ); + bAutoEnableCTL = bool(nWinScript & SvtScriptType::COMPLEX); } //CTL keyboard is installed diff --git a/svl/source/config/languageoptions.cxx b/svl/source/config/languageoptions.cxx index 390875ffd798..2022cbe551e0 100644 --- a/svl/source/config/languageoptions.cxx +++ b/svl/source/config/languageoptions.cxx @@ -133,7 +133,7 @@ bool SvtLanguageOptions::IsReadOnly(SvtLanguageOptions::EOption eOption) const } // returns for a language the scripttype -sal_uInt16 SvtLanguageOptions::GetScriptTypeOfLanguage( sal_uInt16 nLang ) +SvtScriptType SvtLanguageOptions::GetScriptTypeOfLanguage( sal_uInt16 nLang ) { if( LANGUAGE_DONTKNOW == nLang ) nLang = LANGUAGE_ENGLISH_US; @@ -141,21 +141,52 @@ sal_uInt16 SvtLanguageOptions::GetScriptTypeOfLanguage( sal_uInt16 nLang ) nLang = SvtSysLocale().GetLanguageTag().getLanguageType(); sal_Int16 nScriptType = MsLangId::getScriptType( nLang ); - sal_uInt16 nScript; + SvtScriptType nScript; switch (nScriptType) { case ::com::sun::star::i18n::ScriptType::ASIAN: - nScript = SCRIPTTYPE_ASIAN; + nScript = SvtScriptType::ASIAN; break; case ::com::sun::star::i18n::ScriptType::COMPLEX: - nScript = SCRIPTTYPE_COMPLEX; + nScript = SvtScriptType::COMPLEX; break; default: - nScript = SCRIPTTYPE_LATIN; + nScript = SvtScriptType::LATIN; } return nScript; } +SvtScriptType SvtLanguageOptions::FromI18NToSvtScriptType( sal_Int16 nI18NType ) +{ + switch ( nI18NType ) + { + case i18n::ScriptType::LATIN: return SvtScriptType::LATIN; + case i18n::ScriptType::ASIAN: return SvtScriptType::ASIAN; + case i18n::ScriptType::COMPLEX: return SvtScriptType::COMPLEX; + case i18n::ScriptType::WEAK: return SvtScriptType::NONE; // no mapping + default: assert(false && nI18NType && "Unknown i18n::ScriptType"); break; + } + return SvtScriptType::NONE; +} + +sal_Int16 SvtLanguageOptions::FromSvtScriptTypeToI18N( SvtScriptType nItemType ) +{ + switch ( nItemType ) + { + case SvtScriptType::NONE: return 0; + case SvtScriptType::LATIN: return i18n::ScriptType::LATIN; + case SvtScriptType::ASIAN: return i18n::ScriptType::ASIAN; + case SvtScriptType::COMPLEX: return i18n::ScriptType::COMPLEX; + case SvtScriptType::UNKNOWN: return 0; // no mapping + default: assert(false && static_cast<int>(nItemType) && "unknown SvtScriptType"); break; + } + return 0; +} + +sal_Int16 SvtLanguageOptions::GetI18NScriptTypeOfLanguage( sal_uInt16 nLang ) +{ + return FromSvtScriptTypeToI18N( GetScriptTypeOfLanguage( nLang ) ); +} SvtSystemLanguageOptions::SvtSystemLanguageOptions() : utl::ConfigItem( "System/L10N") |