summaryrefslogtreecommitdiff
path: root/unotools/source/config
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2012-11-16 12:29:37 +0100
committerEike Rathke <erack@redhat.com>2012-11-16 12:49:40 +0100
commit2814ecb92f9dc1f60094cfa41ab1fa6eaa03471b (patch)
tree85c361ad6c93506e6891508b00a9de8915abed25 /unotools/source/config
parentb6c6fc8cedcc7ffc774b8e7373087c7b09479dff (diff)
converted to use LanguageTag
Change-Id: I25c5d965d953146e91903cf2ff8e6b58f978ad20
Diffstat (limited to 'unotools/source/config')
-rw-r--r--unotools/source/config/lingucfg.cxx13
-rw-r--r--unotools/source/config/syslocaleoptions.cxx44
2 files changed, 28 insertions, 29 deletions
diff --git a/unotools/source/config/lingucfg.cxx b/unotools/source/config/lingucfg.cxx
index 7407d8289944..7c1893b2a778 100644
--- a/unotools/source/config/lingucfg.cxx
+++ b/unotools/source/config/lingucfg.cxx
@@ -29,6 +29,7 @@
#include <rtl/instance.hxx>
#include <osl/mutex.hxx>
#include <i18npool/mslangid.hxx>
+#include <i18npool/languagetag.hxx>
#include <tools/debug.hxx>
#include <tools/string.hxx>
#include <unotools/lingucfg.hxx>
@@ -61,7 +62,7 @@ static sal_Bool lcl_SetLocale( sal_Int16 &rLanguage, const uno::Any &rVal )
lang::Locale aNew;
if (rVal >>= aNew) // conversion successful?
{
- sal_Int16 nNew = MsLangId::convertLocaleToLanguage( aNew );
+ sal_Int16 nNew = LanguageTag( aNew ).getLanguageType( false);
if (nNew != rLanguage)
{
rLanguage = nNew;
@@ -75,7 +76,7 @@ static inline const OUString lcl_LanguageToCfgLocaleStr( sal_Int16 nLanguage )
{
OUString aRes;
if (LANGUAGE_SYSTEM != nLanguage)
- aRes = MsLangId::convertLanguageToIsoString( nLanguage );
+ aRes = LanguageTag( nLanguage ).getBcp47();
return aRes;
}
@@ -83,7 +84,7 @@ static sal_Int16 lcl_CfgAnyToLanguage( const uno::Any &rVal )
{
OUString aTmp;
rVal >>= aTmp;
- return (aTmp.isEmpty()) ? LANGUAGE_SYSTEM : MsLangId::convertIsoStringToLanguage( aTmp );
+ return (aTmp.isEmpty()) ? LANGUAGE_SYSTEM : LanguageTag( aTmp ).getLanguageType();
}
SvtLinguOptions::SvtLinguOptions()
@@ -365,19 +366,19 @@ uno::Any SvtLinguConfigItem::GetProperty( sal_Int32 nPropertyHandle ) const
}
case UPH_DEFAULT_LOCALE :
{
- lang::Locale aLocale( MsLangId::convertLanguageToLocale( rOpt.nDefaultLanguage, false ) );
+ lang::Locale aLocale( LanguageTag( rOpt.nDefaultLanguage ).getLocale( false ) );
aRes.setValue( &aLocale, ::getCppuType((lang::Locale*)0 ));
break;
}
case UPH_DEFAULT_LOCALE_CJK :
{
- lang::Locale aLocale( MsLangId::convertLanguageToLocale( rOpt.nDefaultLanguage_CJK, false ) );
+ lang::Locale aLocale( LanguageTag( rOpt.nDefaultLanguage_CJK ).getLocale( false ) );
aRes.setValue( &aLocale, ::getCppuType((lang::Locale*)0 ));
break;
}
case UPH_DEFAULT_LOCALE_CTL :
{
- lang::Locale aLocale( MsLangId::convertLanguageToLocale( rOpt.nDefaultLanguage_CTL, false ) );
+ lang::Locale aLocale( LanguageTag( rOpt.nDefaultLanguage_CTL ).getLocale( false ) );
aRes.setValue( &aLocale, ::getCppuType((lang::Locale*)0 ));
break;
}
diff --git a/unotools/source/config/syslocaleoptions.cxx b/unotools/source/config/syslocaleoptions.cxx
index 80946fd9c88a..e37725ffaf89 100644
--- a/unotools/source/config/syslocaleoptions.cxx
+++ b/unotools/source/config/syslocaleoptions.cxx
@@ -22,6 +22,7 @@
#include <rtl/instance.hxx>
#include <rtl/logfile.hxx>
#include <i18npool/mslangid.hxx>
+#include <i18npool/languagetag.hxx>
#include <tools/string.hxx>
#include <tools/debug.hxx>
#include <unotools/syslocaleoptions.hxx>
@@ -70,10 +71,8 @@ static com::sun::star::lang::Locale lcl_str_to_locale( const ::rtl::OUString rSt
class SvtSysLocaleOptions_Impl : public utl::ConfigItem
{
- Locale m_aRealLocale;
- Locale m_aRealUILocale;
- LanguageType m_eRealLanguage;
- LanguageType m_eRealUILanguage;
+ LanguageTag m_aRealLocale;
+ LanguageTag m_aRealUILocale;
OUString m_aLocaleString; // en-US or de-DE or empty for SYSTEM
OUString m_aUILocaleString; // en-US or de-DE or empty for SYSTEM
OUString m_aCurrencyString; // USD-en-US or EUR-de-DE
@@ -122,10 +121,10 @@ public:
void SetIgnoreLanguageChange( sal_Bool bSet);
sal_Bool IsReadOnly( SvtSysLocaleOptions::EOption eOption ) const;
- const Locale& GetRealLocale() { return m_aRealLocale; }
- const Locale& GetRealUILocale() { return m_aRealUILocale; }
- LanguageType GetRealLanguage() { return m_eRealLanguage; }
- LanguageType GetRealUILanguage() { return m_eRealUILanguage; }
+ const Locale& GetRealLocale() { return m_aRealLocale.getLocale(); }
+ const Locale& GetRealUILocale() { return m_aRealUILocale.getLocale(); }
+ LanguageType GetRealLanguage() { return m_eRealLanguage.getLanguageType(); }
+ LanguageType GetRealUILanguage() { return m_eRealUILanguage.getLanguageType(); }
};
@@ -167,6 +166,8 @@ const Sequence< OUString > SvtSysLocaleOptions_Impl::GetPropertyNames()
SvtSysLocaleOptions_Impl::SvtSysLocaleOptions_Impl()
: ConfigItem( ROOTNODE_SYSLOCALE )
+ , m_aRealLocale( LANGUAGE_SYSTEM)
+ , m_aRealUILocale( LANGUAGE_SYSTEM)
, m_bDecimalSeparator( sal_True )
, m_bROLocale(CFG_READONLY_DEFAULT)
, m_bROUILocale(CFG_READONLY_DEFAULT)
@@ -287,30 +288,27 @@ SvtSysLocaleOptions_Impl::~SvtSysLocaleOptions_Impl()
void SvtSysLocaleOptions_Impl::MakeRealLocale()
{
- m_aRealLocale = lcl_str_to_locale( m_aLocaleString );
- if ( !m_aRealLocale.Language.isEmpty() )
+ if (m_aLocaleString.isEmpty())
{
- m_eRealLanguage = MsLangId::convertLocaleToLanguage( m_aRealLocale );
+ LanguageType nLang = MsLangId::getSystemLanguage();
+ m_aRealLocale = LanguageTag( nLang);
}
else
{
- m_eRealLanguage = MsLangId::getSystemLanguage();
- MsLangId::convertLanguageToLocale( m_eRealLanguage, m_aRealLocale );
+ m_aRealLocale = LanguageTag( m_aLocaleString);
}
}
void SvtSysLocaleOptions_Impl::MakeRealUILocale()
{
- // as we can't switch UILocale at runtime, we only store changes in the configuration
- m_aRealUILocale = lcl_str_to_locale( m_aUILocaleString );
- if ( !m_aRealUILocale.Language.isEmpty() )
+ if (m_aUILocaleString.isEmpty())
{
- m_eRealUILanguage = MsLangId::convertLocaleToLanguage( m_aRealUILocale );
+ LanguageType nLang = MsLangId::getSystemUILanguage();
+ m_aRealUILocale = LanguageTag( nLang);
}
else
{
- m_eRealUILanguage = MsLangId::getSystemUILanguage();
- MsLangId::convertLanguageToLocale( m_eRealUILanguage, m_aRealUILocale );
+ m_aRealUILocale = LanguageTag( m_aUILocaleString);
}
}
@@ -431,7 +429,7 @@ void SvtSysLocaleOptions_Impl::SetLocaleString( const OUString& rStr )
{
m_aLocaleString = rStr;
MakeRealLocale();
- MsLangId::setConfiguredSystemLanguage( m_eRealLanguage );
+ MsLangId::setConfiguredSystemLanguage( m_aRealLocale.getLanguageType() );
SetModified();
sal_uLong nHint = SYSLOCALEOPTIONS_HINT_LOCALE;
if ( m_aCurrencyString.isEmpty() )
@@ -448,7 +446,7 @@ void SvtSysLocaleOptions_Impl::SetUILocaleString( const OUString& rStr )
// as we can't switch UILocale at runtime, we only store changes in the configuration
MakeRealUILocale();
- MsLangId::setConfiguredSystemLanguage( m_eRealUILanguage );
+ MsLangId::setConfiguredSystemLanguage( m_aRealUILocale.getLanguageType() );
SetModified();
NotifyListeners( SYSLOCALEOPTIONS_HINT_UILOCALE );
}
@@ -700,7 +698,7 @@ void SvtSysLocaleOptions::GetCurrencyAbbrevAndLanguage( String& rAbbrev,
{
rAbbrev = rConfigString.copy( 0, nDelim );
String aIsoStr( rConfigString.copy( nDelim+1 ) );
- eLang = MsLangId::convertIsoStringToLanguage( aIsoStr );
+ eLang = LanguageTag( aIsoStr ).getLanguageType();
}
else
{
@@ -714,7 +712,7 @@ void SvtSysLocaleOptions::GetCurrencyAbbrevAndLanguage( String& rAbbrev,
::rtl::OUString SvtSysLocaleOptions::CreateCurrencyConfigString(
const String& rAbbrev, LanguageType eLang )
{
- String aIsoStr( MsLangId::convertLanguageToIsoString( eLang ) );
+ String aIsoStr( LanguageTag( eLang ).getBcp47() );
if ( aIsoStr.Len() )
{
::rtl::OUStringBuffer aStr( rAbbrev.Len() + 1 + aIsoStr.Len() );