summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-04-15 09:36:39 +0200
committerNoel Grandin <noelgrandin@gmail.com>2015-04-17 07:21:08 +0000
commita7b7c64afc523cfd9ff4e724b3efbec6567fc1c8 (patch)
tree52fd05ef3292f3dab172864cbc3be96a8d44a9d0 /svl
parentadd7eeb7dbd0eefa0c5ae5430490864079add801 (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.cxx8
-rw-r--r--svl/source/config/ctloptions.cxx8
-rw-r--r--svl/source/config/languageoptions.cxx41
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")