[Libreoffice-commits] .: 4 commits - basctl/source basic/source chart2/source codemaker/inc codemaker/source connectivity/Library_flat.mk connectivity/source cui/source dbaccess/source editeng/source extensions/source forms/source framework/source l10ntools/inc l10ntools/source lingucomponent/source linguistic/source oox/inc oox/source reportdesign/source sc/source sd/source sfx2/source slideshow/source sot/Library_sot.mk sot/source starmath/source svl/inc svl/Library_svl.mk svl/source svtools/source svx/source sw/source toolkit/source unotools/inc unotools/source unusedcode.easy vcl/inc vcl/source xmloff/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Fri Nov 23 14:09:41 PST 2012
basctl/source/basicide/baside2b.cxx | 2
basctl/source/basicide/scriptdocument.cxx | 2
basic/source/comp/basiccharclass.cxx | 2
basic/source/runtime/methods.cxx | 6
chart2/source/tools/DiagramHelper.cxx | 6
codemaker/inc/codemaker/global.hxx | 2
codemaker/source/codemaker/global.cxx | 16 --
connectivity/Library_flat.mk | 1
connectivity/source/drivers/flat/ETable.cxx | 6
cui/source/options/optasian.cxx | 3
cui/source/options/optdict.cxx | 2
cui/source/options/optgdlg.cxx | 3
cui/source/tabpages/autocdlg.cxx | 12 -
dbaccess/source/core/api/RowSet.cxx | 6
dbaccess/source/core/api/SingleSelectQueryComposer.cxx | 2
dbaccess/source/ui/app/AppView.cxx | 2
dbaccess/source/ui/control/ColumnControlWindow.cxx | 2
dbaccess/source/ui/misc/DExport.cxx | 4
dbaccess/source/ui/misc/TokenWriter.cxx | 4
dbaccess/source/ui/querydesign/QueryDesignView.cxx | 2
dbaccess/source/ui/tabledesign/TableDesignView.cxx | 2
editeng/source/editeng/editeng.cxx | 6
editeng/source/items/svxfont.cxx | 4
editeng/source/misc/forbiddencharacterstable.cxx | 2
editeng/source/misc/hangulhanja.cxx | 2
editeng/source/misc/svxacorr.cxx | 18 +-
extensions/source/propctrlr/standardcontrol.cxx | 3
extensions/source/propctrlr/xsdvalidationhelper.cxx | 2
forms/source/component/FormattedField.cxx | 4
framework/source/uielement/toolbarsmenucontroller.cxx | 2
l10ntools/inc/helpmerge.hxx | 4
l10ntools/source/helpmerge.cxx | 64 --------
lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx | 5
lingucomponent/source/thesaurus/libnth/nthesimp.cxx | 5
linguistic/source/misc.cxx | 20 +-
oox/inc/oox/ole/vbacontrol.hxx | 6
oox/source/ole/vbacontrol.cxx | 5
reportdesign/source/core/sdr/formatnormalizer.cxx | 2
reportdesign/source/ui/dlg/DateTime.cxx | 2
sc/source/core/data/global.cxx | 2
sc/source/core/data/globalx.cxx | 2
sc/source/core/tool/compiler.cxx | 7
sc/source/filter/xml/xmlimprt.cxx | 4
sd/source/core/drawdoc.cxx | 5
sfx2/source/appl/linkmgr2.cxx | 3
sfx2/source/dialog/templdlg.cxx | 2
sfx2/source/view/orgmgr.cxx | 2
slideshow/source/engine/OGLTrans/unx/OGLTrans_TransitionImpl.cxx | 5
slideshow/source/engine/OGLTrans/unx/OGLTrans_TransitionImpl.hxx | 2
sot/Library_sot.mk | 1
sot/source/sdstor/stgelem.cxx | 9 -
starmath/source/parse.cxx | 8 -
svl/Library_svl.mk | 1
svl/inc/svl/ondemand.hxx | 27 +--
svl/inc/svl/zforlist.hxx | 4
svl/source/items/ctypeitm.cxx | 3
svl/source/items/dateitem.cxx | 2
svl/source/items/style.cxx | 2
svl/source/numbers/supservs.cxx | 2
svl/source/numbers/zforfind.cxx | 4
svl/source/numbers/zforlist.cxx | 46 +++--
svl/source/numbers/zformat.cxx | 17 +-
svl/source/numbers/zforscan.cxx | 7
svtools/source/contnr/fileview.cxx | 2
svtools/source/control/calendar.cxx | 12 -
svtools/source/control/ctrlbox.cxx | 2
svtools/source/control/fmtfield.cxx | 18 +-
svtools/source/edit/syntaxhighlight.cxx | 2
svx/source/dialog/simptabl.cxx | 2
svx/source/form/ParseContext.cxx | 2
svx/source/form/fmcontrollayout.cxx | 4
svx/source/form/fmsrcimp.cxx | 8 -
svx/source/form/formcontrolfactory.cxx | 2
svx/source/svdraw/svdattr.cxx | 2
svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx | 2
sw/source/core/bastyp/breakit.cxx | 2
sw/source/core/bastyp/calc.cxx | 16 +-
sw/source/core/bastyp/init.cxx | 2
sw/source/core/doc/docsort.cxx | 2
sw/source/core/edit/autofmt.cxx | 2
sw/source/core/fields/docufld.cxx | 4
sw/source/core/fields/expfld.cxx | 2
sw/source/core/fields/fldbas.cxx | 2
sw/source/core/fields/reffld.cxx | 2
sw/source/core/tox/txmsrt.cxx | 2
sw/source/core/txtnode/txtedt.cxx | 6
sw/source/filter/ww8/ww8atr.cxx | 2
sw/source/filter/ww8/ww8scan.cxx | 4
sw/source/ui/app/docstyle.cxx | 2
sw/source/ui/fldui/fldmgr.cxx | 2
sw/source/ui/fldui/inpdlg.cxx | 2
sw/source/ui/utlui/attrdesc.cxx | 2
sw/source/ui/utlui/numfmtlb.cxx | 2
toolkit/source/controls/unocontrolmodel.cxx | 14 -
unotools/inc/unotools/charclass.hxx | 15 +
unotools/inc/unotools/intlwrapper.hxx | 11 -
unotools/inc/unotools/localedatawrapper.hxx | 16 +-
unotools/source/i18n/charclass.cxx | 57 ++++---
unotools/source/i18n/intlwrapper.cxx | 23 --
unotools/source/i18n/localedatawrapper.cxx | 78 +++++-----
unotools/source/i18n/textsearch.cxx | 2
unotools/source/misc/syslocale.cxx | 10 -
unusedcode.easy | 6
vcl/inc/vcl/field.hxx | 2
vcl/inc/vcl/i18nhelp.hxx | 6
vcl/source/app/i18nhelp.cxx | 9 -
vcl/source/app/settings.cxx | 8 -
vcl/source/control/field.cxx | 33 +++-
vcl/source/control/field2.cxx | 8 -
vcl/source/edit/texteng.cxx | 2
xmloff/source/style/xmlnumfe.cxx | 28 +--
xmloff/source/style/xmlnumfi.cxx | 4
112 files changed, 374 insertions(+), 484 deletions(-)
New commits:
commit af60316514f3ae3d4c475819bf86f2af837171e3
Author: Eike Rathke <erack at redhat.com>
Date: Fri Nov 23 23:06:10 2012 +0100
some i18n wrappers with LanguageTag
Change-Id: I2ceaa3159e8669c2c569fa8559c1e061dcad399d
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index c95ac09..7d0e7b4 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -279,7 +279,7 @@ String EditorWindow::GetWordAtCursor()
const TextPaM& rSelStart = rSelection.GetStart();
const TextPaM& rSelEnd = rSelection.GetEnd();
String aText = pTextEngine->GetText( rSelEnd.GetPara() );
- CharClass aClass( ::comphelper::getProcessComponentContext() , Application::GetSettings().GetLanguageTag().getLocale() );
+ CharClass aClass( ::comphelper::getProcessComponentContext() , Application::GetSettings().GetLanguageTag() );
xub_StrLen nSelStart = static_cast< xub_StrLen >( rSelStart.GetIndex() );
xub_StrLen nSelEnd = static_cast< xub_StrLen >( rSelEnd.GetIndex() );
xub_StrLen nLength = static_cast< xub_StrLen >( aText.Len() );
diff --git a/basctl/source/basicide/scriptdocument.cxx b/basctl/source/basicide/scriptdocument.cxx
index 3826f5a..644b816 100644
--- a/basctl/source/basicide/scriptdocument.cxx
+++ b/basctl/source/basicide/scriptdocument.cxx
@@ -1194,7 +1194,7 @@ namespace basctl
if ( _eListType == DocumentsSorted )
{
CollatorWrapper aCollator( ::comphelper::getProcessServiceFactory() );
- aCollator.loadDefaultCollator( SvtSysLocale().GetLocaleData().getLocale(), 0 );
+ aCollator.loadDefaultCollator( SvtSysLocale().GetLanguageTag().getLocale(), 0 );
::std::sort( aScriptDocs.begin(), aScriptDocs.end(), DocumentTitleLess( aCollator ) );
}
diff --git a/basic/source/comp/basiccharclass.cxx b/basic/source/comp/basiccharclass.cxx
index 4b905d7..23d8144 100644
--- a/basic/source/comp/basiccharclass.cxx
+++ b/basic/source/comp/basiccharclass.cxx
@@ -100,7 +100,7 @@ bool BasicCharClass::isLetterUnicode( sal_Unicode c )
{
static CharClass* pCharClass = NULL;
if( pCharClass == NULL )
- pCharClass = new CharClass( Application::GetSettings().GetLanguageTag().getLocale() );
+ pCharClass = new CharClass( Application::GetSettings().GetLanguageTag() );
// can we get pCharClass to accept a sal_Unicode instead of this waste?
return pCharClass->isLetter( rtl::OUString(c), 0 );
}
diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index 27ba48f..8f1ac5d 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -133,13 +133,13 @@ static long GetDayDiff( const Date& rDate );
static const CharClass& GetCharClass( void )
{
static bool bNeedsInit = true;
- static lang::Locale aLocale;
+ static LanguageTag aLanguageTag( LANGUAGE_SYSTEM);
if( bNeedsInit )
{
bNeedsInit = false;
- aLocale = Application::GetSettings().GetLanguageTag().getLocale();
+ aLanguageTag = Application::GetSettings().GetLanguageTag();
}
- static CharClass aCharClass( aLocale );
+ static CharClass aCharClass( aLanguageTag );
return aCharClass;
}
diff --git a/chart2/source/tools/DiagramHelper.cxx b/chart2/source/tools/DiagramHelper.cxx
index a30e6aa..6d2fcb8 100644
--- a/chart2/source/tools/DiagramHelper.cxx
+++ b/chart2/source/tools/DiagramHelper.cxx
@@ -1081,7 +1081,7 @@ void lcl_switchToDateCategories( const Reference< XChartDocument >& xChartDoc, c
//set a date format to the axis
sal_Bool bCreate = sal_True;
const LocaleDataWrapper& rLocaleDataWrapper = Application::GetSettings().GetLocaleDataWrapper();
- Sequence<sal_Int32> aKeySeq = xNumberFormats->queryKeys( util::NumberFormat::DATE, rLocaleDataWrapper.getLocale(), bCreate );
+ Sequence<sal_Int32> aKeySeq = xNumberFormats->queryKeys( util::NumberFormat::DATE, rLocaleDataWrapper.getLanguageTag().getLocale(), bCreate );
if( aKeySeq.getLength() )
{
xAxisProps->setPropertyValue( C2U("NumberFormat"), uno::makeAny(aKeySeq[0]) );
@@ -1176,7 +1176,7 @@ sal_Int32 DiagramHelper::getDateNumberFormat( const Reference< util::XNumberForm
sal_Bool bCreate = sal_True;
const LocaleDataWrapper& rLocaleDataWrapper = Application::GetSettings().GetLocaleDataWrapper();
Sequence<sal_Int32> aKeySeq = xNumberFormats->queryKeys( util::NumberFormat::DATE,
- rLocaleDataWrapper.getLocale(), bCreate );
+ rLocaleDataWrapper.getLanguageTag().getLocale(), bCreate );
if( aKeySeq.getLength() )
{
nRet = aKeySeq[0];
@@ -1204,7 +1204,7 @@ sal_Int32 DiagramHelper::getPercentNumberFormat( const Reference< util::XNumberF
sal_Bool bCreate = sal_True;
const LocaleDataWrapper& rLocaleDataWrapper = Application::GetSettings().GetLocaleDataWrapper();
Sequence<sal_Int32> aKeySeq = xNumberFormats->queryKeys( util::NumberFormat::PERCENT,
- rLocaleDataWrapper.getLocale(), bCreate );
+ rLocaleDataWrapper.getLanguageTag().getLocale(), bCreate );
if( aKeySeq.getLength() )
{
nRet = aKeySeq[0];
diff --git a/connectivity/Library_flat.mk b/connectivity/Library_flat.mk
index 32e4644..23e9117 100644
--- a/connectivity/Library_flat.mk
+++ b/connectivity/Library_flat.mk
@@ -43,6 +43,7 @@ $(eval $(call gb_Library_use_libraries,flat,\
tl \
svl \
utl \
+ i18nisolang1 \
sal \
salhelper \
dbtools \
diff --git a/connectivity/source/drivers/flat/ETable.cxx b/connectivity/source/drivers/flat/ETable.cxx
index 0d57cb1..9fe48f0 100644
--- a/connectivity/source/drivers/flat/ETable.cxx
+++ b/connectivity/source/drivers/flat/ETable.cxx
@@ -39,7 +39,7 @@
#include <com/sun/star/util/NumberFormat.hpp>
#include <com/sun/star/util/NumberFormatter.hpp>
#include <unotools/configmgr.hxx>
-#include <i18npool/mslangid.hxx>
+#include <i18npool/languagetag.hxx>
#include "connectivity/dbconversion.hxx"
#include "file/quotedstring.hxx"
#include <unotools/syslocale.hxx>
@@ -109,7 +109,7 @@ void OFlatTable::fillColumns(const ::com::sun::star::lang::Locale& _aLocale)
m_aScales.assign(nFieldCount+1,-1);
const sal_Bool bCase = m_pConnection->getMetaData()->supportsMixedCaseQuotedIdentifiers();
- CharClass aCharClass( comphelper::getComponentContext(pConnection->getDriver()->getFactory()), _aLocale);
+ CharClass aCharClass( comphelper::getComponentContext(pConnection->getDriver()->getFactory()), LanguageTag( _aLocale));
// read description
const sal_Unicode cDecimalDelimiter = pConnection->getDecimalDelimiter();
const sal_Unicode cThousandDelimiter = pConnection->getThousandDelimiter();
@@ -418,7 +418,7 @@ void OFlatTable::construct()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "flat", "Ocke.Janssen at sun.com", "OFlatTable::construct" );
SvtSysLocale aLocale;
- ::com::sun::star::lang::Locale aAppLocale(aLocale.GetLocaleDataPtr()->getLocale());
+ ::com::sun::star::lang::Locale aAppLocale(aLocale.GetLanguageTag().getLocale());
Sequence< ::com::sun::star::uno::Any > aArg(1);
aArg[0] <<= aAppLocale;
diff --git a/cui/source/options/optasian.cxx b/cui/source/options/optasian.cxx
index ed20545..9a0819d 100644
--- a/cui/source/options/optasian.cxx
+++ b/cui/source/options/optasian.cxx
@@ -306,6 +306,7 @@ IMPL_LINK_NOARG(SvxAsianLayoutPage, LanguageHdl)
Locale aLocale;
LanguageType eSelectLanguage = aLanguageLB.GetSelectLanguage();
SvxLanguageToLocale(aLocale, eSelectLanguage );
+ LanguageTag aLanguageTag( aLocale);
OUString sStart, sEnd;
sal_Bool bAvail;
@@ -349,7 +350,7 @@ IMPL_LINK_NOARG(SvxAsianLayoutPage, LanguageHdl)
}
if(!bAvail)
{
- LocaleDataWrapper aWrap( aLocale );
+ LocaleDataWrapper aWrap( aLanguageTag );
ForbiddenCharacters aForbidden = aWrap.getForbiddenCharacters();
sStart = aForbidden.beginLine;
sEnd = aForbidden.endLine;
diff --git a/cui/source/options/optdict.cxx b/cui/source/options/optdict.cxx
index 091e166..b18c8bb 100644
--- a/cui/source/options/optdict.cxx
+++ b/cui/source/options/optdict.cxx
@@ -376,7 +376,7 @@ sal_uInt16 SvxEditDictionaryDialog::GetLBInsertPos(const String &rDicWord)
{
sal_uInt16 nPos = USHRT_MAX;
- IntlWrapper aIntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag().getLocale() );
+ IntlWrapper aIntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag() );
const CollatorWrapper* pCollator = aIntlWrapper.getCollator();
sal_uInt16 j;
for( j = 0; j < aWordsLB.GetEntryCount(); j++ )
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index f4d8aba..eeb29f1 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -1893,7 +1893,8 @@ IMPL_LINK( OfaLanguagesTabPage, LocaleSettingHdl, SvxLanguageBox*, pBox )
// obtain corresponding locale data
Locale aTempLocale;
SvxLanguageToLocale( aTempLocale, eLang );
- LocaleDataWrapper aLocaleWrapper( aTempLocale );
+ LanguageTag aLanguageTag( aTempLocale);
+ LocaleDataWrapper aLocaleWrapper( aLanguageTag );
// update the decimal separator key of the related CheckBox
String sTempLabel(sDecimalSeparatorLabel);
diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index 3aa7112..e5d53ea 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -884,10 +884,10 @@ OfaAutocorrReplacePage::OfaAutocorrReplacePage( Window* pParent,
SfxModule *pMod = *(SfxModule**)GetAppData(SHL_WRITER);
bSWriter = pMod == SfxModule::GetActiveModule();
- ::com::sun::star::lang::Locale aLocale( SvxCreateLocale(eLastDialogLanguage ));
+ LanguageTag aLanguageTag( SvxCreateLocale(eLastDialogLanguage ));
pCompareClass = new CollatorWrapper( GetProcessFact() );
- pCompareClass->loadDefaultCollator( aLocale, 0 );
- pCharClass = new CharClass( aLocale );
+ pCompareClass->loadDefaultCollator( aLanguageTag.getLocale(), 0 );
+ pCharClass = new CharClass( aLanguageTag );
static long nTabs[] = { 2 /* Tab-Count */, 1, 61 };
aReplaceTLB.SetTabs( &nTabs[0], MAP_APPFONT );
@@ -1087,10 +1087,10 @@ void OfaAutocorrReplacePage::SetLanguage(LanguageType eSet)
delete pCompareClass;
delete pCharClass;
- ::com::sun::star::lang::Locale aLocale( SvxCreateLocale(eLastDialogLanguage ));
+ LanguageTag aLanguageTag( SvxCreateLocale(eLastDialogLanguage ));
pCompareClass = new CollatorWrapper( GetProcessFact() );
- pCompareClass->loadDefaultCollator( aLocale, 0 );
- pCharClass = new CharClass( aLocale );
+ pCompareClass->loadDefaultCollator( aLanguageTag.getLocale(), 0 );
+ pCharClass = new CharClass( aLanguageTag );
ModifyHdl(&aShortED);
}
}
diff --git a/dbaccess/source/core/api/RowSet.cxx b/dbaccess/source/core/api/RowSet.cxx
index 1042d84..04c531e 100644
--- a/dbaccess/source/core/api/RowSet.cxx
+++ b/dbaccess/source/core/api/RowSet.cxx
@@ -1714,7 +1714,7 @@ void ORowSet::impl_initializeColumnSettings_nothrow( const Reference< XPropertyS
bHaveAnyColumnSetting = true;
}
if ( !nFormatKey && m_xNumberFormatTypes.is() )
- nFormatKey = ::dbtools::getDefaultNumberFormat( _rxTemplateColumn, m_xNumberFormatTypes, SvtSysLocale().GetLocaleData().getLocale() );
+ nFormatKey = ::dbtools::getDefaultNumberFormat( _rxTemplateColumn, m_xNumberFormatTypes, SvtSysLocale().GetLanguageTag().getLocale() );
_rxRowSetColumn->setPropertyValue( PROPERTY_NUMBERFORMAT, makeAny( nFormatKey ) );
}
catch(Exception&)
@@ -1809,7 +1809,7 @@ void ORowSet::execute_NoApprove_NoNewConn(ResettableMutexGuard& _rClearForNotifi
}
// get the locale
- Locale aLocale = SvtSysLocale().GetLocaleData().getLocale();
+ Locale aLocale = SvtSysLocale().GetLanguageTag().getLocale();
// get the numberformatTypes
OSL_ENSURE(m_xActiveConnection.is(),"No ActiveConnection");
@@ -2746,7 +2746,7 @@ ORowSetClone::ORowSetClone( const ::comphelper::ComponentContext& _rContext, ORo
::std::vector< ::rtl::OUString> aNames;
::rtl::OUString aDescription;
- Locale aLocale = SvtSysLocale().GetLocaleData().getLocale();
+ Locale aLocale = SvtSysLocale().GetLanguageTag().getLocale();
if ( rParent.m_pColumns )
{
diff --git a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
index e078e1e..837836d 100644
--- a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
+++ b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
@@ -256,7 +256,7 @@ OSingleSelectQueryComposer::OSingleSelectQueryComposer(const Reference< XNameAcc
m_aCurrentColumns.resize(4);
- m_aLocale = SvtSysLocale().GetLocaleData().getLocale();
+ m_aLocale = SvtSysLocale().GetLanguageTag().getLocale();
m_xNumberFormatsSupplier = dbtools::getNumberFormats( m_xConnection, sal_True, m_aContext.getLegacyServiceFactory() );
Reference< XLocaleData4 > xLocaleData( LocaleData::create(m_aContext.getUNOContext()) );
LocaleDataItem aData = xLocaleData->getLocaleItem(m_aLocale);
diff --git a/dbaccess/source/ui/app/AppView.cxx b/dbaccess/source/ui/app/AppView.cxx
index 3e3469d..a57b03d 100644
--- a/dbaccess/source/ui/app/AppView.cxx
+++ b/dbaccess/source/ui/app/AppView.cxx
@@ -212,7 +212,7 @@ OApplicationView::OApplicationView( Window* pParent
try
{
- m_aLocale = SvtSysLocale().GetLocaleData().getLocale();
+ m_aLocale = SvtSysLocale().GetLanguageTag().getLocale();
}
catch(Exception&)
{
diff --git a/dbaccess/source/ui/control/ColumnControlWindow.cxx b/dbaccess/source/ui/control/ColumnControlWindow.cxx
index ca661bc..2c12e84 100644
--- a/dbaccess/source/ui/control/ColumnControlWindow.cxx
+++ b/dbaccess/source/ui/control/ColumnControlWindow.cxx
@@ -50,7 +50,7 @@ OColumnControlWindow::OColumnControlWindow(Window* pParent
DBG_CTOR(OColumnControlWindow,NULL);
setRightAligned();
- m_aLocale = SvtSysLocale().GetLocaleData().getLocale();
+ m_aLocale = SvtSysLocale().GetLanguageTag().getLocale();
}
// -----------------------------------------------------------------------------
OColumnControlWindow::~OColumnControlWindow()
diff --git a/dbaccess/source/ui/misc/DExport.cxx b/dbaccess/source/ui/misc/DExport.cxx
index 09092f2..eb3a755 100644
--- a/dbaccess/source/ui/misc/DExport.cxx
+++ b/dbaccess/source/ui/misc/DExport.cxx
@@ -135,7 +135,7 @@ ODatabaseExport::ODatabaseExport(sal_Int32 nRows,
try
{
SvtSysLocale aSysLocale;
- m_aLocale = aSysLocale.GetLocaleData().getLocale();
+ m_aLocale = aSysLocale.GetLanguageTag().getLocale();
}
catch(Exception&)
{
@@ -177,7 +177,7 @@ ODatabaseExport::ODatabaseExport(const SharedConnection& _rxConnection,
try
{
SvtSysLocale aSysLocale;
- m_aLocale = aSysLocale.GetLocaleData().getLocale();
+ m_aLocale = aSysLocale.GetLanguageTag().getLocale();
}
catch(Exception&)
{
diff --git a/dbaccess/source/ui/misc/TokenWriter.cxx b/dbaccess/source/ui/misc/TokenWriter.cxx
index e414c9c..ab1db7f 100644
--- a/dbaccess/source/ui/misc/TokenWriter.cxx
+++ b/dbaccess/source/ui/misc/TokenWriter.cxx
@@ -142,7 +142,7 @@ ODatabaseImportExport::ODatabaseImportExport( const ::dbtools::SharedConnection&
try
{
SvtSysLocale aSysLocale;
- m_aLocale = aSysLocale.GetLocaleData().getLocale();
+ m_aLocale = aSysLocale.GetLanguageTag().getLocale();
}
catch(Exception&)
{
@@ -260,7 +260,7 @@ void ODatabaseImportExport::impl_initFromDescriptor( const ODataAccessDescriptor
try
{
SvtSysLocale aSysLocale;
- m_aLocale = aSysLocale.GetLocaleData().getLocale();
+ m_aLocale = aSysLocale.GetLanguageTag().getLocale();
}
catch(Exception&)
{
diff --git a/dbaccess/source/ui/querydesign/QueryDesignView.cxx b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
index 13446b2..cf4fc38 100644
--- a/dbaccess/source/ui/querydesign/QueryDesignView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
@@ -2514,7 +2514,7 @@ OQueryDesignView::OQueryDesignView( OQueryContainerWindow* _pParent,
try
{
SvtSysLocale aSysLocale;
- m_aLocale = aSysLocale.GetLocaleData().getLocale();
+ m_aLocale = aSysLocale.GetLanguageTag().getLocale();
m_sDecimalSep = aSysLocale.GetLocaleData().getNumDecimalSep();
}
catch(Exception&)
diff --git a/dbaccess/source/ui/tabledesign/TableDesignView.cxx b/dbaccess/source/ui/tabledesign/TableDesignView.cxx
index f6b3124..499d214 100644
--- a/dbaccess/source/ui/tabledesign/TableDesignView.cxx
+++ b/dbaccess/source/ui/tabledesign/TableDesignView.cxx
@@ -198,7 +198,7 @@ OTableDesignView::OTableDesignView( Window* pParent,
try
{
- m_aLocale = SvtSysLocale().GetLocaleData().getLocale();
+ m_aLocale = SvtSysLocale().GetLanguageTag().getLocale();
}
catch(Exception&)
{
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx
index 8b191ea..6a42c91 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -1362,12 +1362,12 @@ sal_Bool EditEngine::PostKeyEvent( const KeyEvent& rKeyEvent, EditView* pEditVie
String aComplete;
LanguageType eLang = pImpEditEngine->GetLanguage( EditPaM( aStart.GetNode(), aStart.GetIndex()+1));
- lang::Locale aLocale( LanguageTag( eLang).getLocale());
+ LanguageTag aLanguageTag( eLang);
if (!pImpEditEngine->xLocaleDataWrapper.isInitialized())
- pImpEditEngine->xLocaleDataWrapper.init( SvtSysLocale().GetLocaleData().getComponentContext(), aLocale, eLang);
+ pImpEditEngine->xLocaleDataWrapper.init( SvtSysLocale().GetLocaleData().getComponentContext(), aLanguageTag);
else
- pImpEditEngine->xLocaleDataWrapper.changeLocale( aLocale, eLang);
+ pImpEditEngine->xLocaleDataWrapper.changeLocale( aLanguageTag);
if (!pImpEditEngine->xTransliterationWrapper.isInitialized())
pImpEditEngine->xTransliterationWrapper.init( SvtSysLocale().GetLocaleData().getComponentContext(), eLang, i18n::TransliterationModules_IGNORE_CASE);
diff --git a/editeng/source/items/svxfont.cxx b/editeng/source/items/svxfont.cxx
index 7077905..61cf0db 100644
--- a/editeng/source/items/svxfont.cxx
+++ b/editeng/source/items/svxfont.cxx
@@ -110,7 +110,7 @@ OUString SvxFont::CalcCaseMap(const OUString &rTxt) const
const LanguageType eLng = LANGUAGE_DONTKNOW == eLang
? LANGUAGE_SYSTEM : eLang;
- CharClass aCharClass( SvxCreateLocale( eLng ) );
+ CharClass aCharClass( LanguageTag( SvxCreateLocale( eLng )) );
switch( eCaseMap )
{
@@ -221,7 +221,7 @@ void SvxFont::DoOnCapitals(SvxDoCapitals &rDo, const xub_StrLen nPartLen) const
const LanguageType eLng = LANGUAGE_DONTKNOW == eLang
? LANGUAGE_SYSTEM : eLang;
- CharClass aCharClass( SvxCreateLocale( eLng ) );
+ CharClass aCharClass( LanguageTag( SvxCreateLocale( eLng )) );
String aCharString;
while( nPos < nTxtLen )
diff --git a/editeng/source/misc/forbiddencharacterstable.cxx b/editeng/source/misc/forbiddencharacterstable.cxx
index 5c4f3c8..8365f32 100644
--- a/editeng/source/misc/forbiddencharacterstable.cxx
+++ b/editeng/source/misc/forbiddencharacterstable.cxx
@@ -38,7 +38,7 @@ const com::sun::star::i18n::ForbiddenCharacters* SvxForbiddenCharactersTable::Ge
pForbiddenCharacters = &(it->second);
else if ( bGetDefault && m_xContext.is() )
{
- LocaleDataWrapper aWrapper( m_xContext, SvxCreateLocale( nLanguage ) );
+ LocaleDataWrapper aWrapper( m_xContext, LanguageTag( SvxCreateLocale( nLanguage )) );
maMap[ nLanguage ] = aWrapper.getForbiddenCharacters();
pForbiddenCharacters = &maMap[ nLanguage ];
}
diff --git a/editeng/source/misc/hangulhanja.cxx b/editeng/source/misc/hangulhanja.cxx
index c515196..4083d6b 100644
--- a/editeng/source/misc/hangulhanja.cxx
+++ b/editeng/source/misc/hangulhanja.cxx
@@ -607,7 +607,7 @@ namespace editeng
{ // found asian text
// determine if it's Hangul
- CharClass aCharClassificaton( m_xContext, m_aSourceLocale );
+ CharClass aCharClassificaton( m_xContext, LanguageTag( m_aSourceLocale) );
sal_Int16 nScript = aCharClassificaton.getScript( m_sCurrentPortion, sal::static_int_cast< sal_uInt16 >(nNextAsianScript) );
if ( ( UnicodeScript_kHangulJamo == nScript )
|| ( UnicodeScript_kHangulCompatibilityJamo == nScript )
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 9bce449..7a322f3 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -202,13 +202,11 @@ static sal_uInt16 GetAppLang()
}
static LocaleDataWrapper& GetLocaleDataWrapper( sal_uInt16 nLang )
{
- static LocaleDataWrapper aLclDtWrp( SvxCreateLocale( GetAppLang() ) );
- ::com::sun::star::lang::Locale aLcl( SvxCreateLocale( nLang ));
- const ::com::sun::star::lang::Locale& rLcl = aLclDtWrp.getLoadedLocale();
- if( aLcl.Language != rLcl.Language ||
- aLcl.Country != rLcl.Country ||
- aLcl.Variant != rLcl.Variant )
- aLclDtWrp.setLocale( aLcl );
+ static LocaleDataWrapper aLclDtWrp( LanguageTag( SvxCreateLocale( GetAppLang() )) );
+ LanguageTag aLcl( LanguageTag( SvxCreateLocale( nLang )));
+ const LanguageTag& rLcl = aLclDtWrp.getLoadedLanguageTag();
+ if( aLcl != rLcl )
+ aLclDtWrp.setLanguageTag( aLcl );
return aLclDtWrp;
}
static TransliterationWrapper& GetIgnoreTranslWrapper()
@@ -339,7 +337,7 @@ SvxAutoCorrect::~SvxAutoCorrect()
void SvxAutoCorrect::_GetCharClass( LanguageType eLang )
{
delete pCharClass;
- pCharClass = new CharClass( SvxCreateLocale( eLang ));
+ pCharClass = new CharClass( LanguageTag( SvxCreateLocale( eLang )));
eCharClassLang = eLang;
}
@@ -468,7 +466,7 @@ sal_Bool SvxAutoCorrect::FnChgOrdinalNumber(
if ( xOrdSuffix.is( ) )
{
- uno::Sequence< rtl::OUString > aSuffixes = xOrdSuffix->getOrdinalSuffix( nNum, rCC.getLocale( ) );
+ uno::Sequence< rtl::OUString > aSuffixes = xOrdSuffix->getOrdinalSuffix( nNum, rCC.getLanguageTag().getLocale( ) );
for ( sal_Int32 nSuff = 0; nSuff < aSuffixes.getLength(); nSuff++ )
{
String sSuffix( aSuffixes[ nSuff ] );
@@ -611,7 +609,7 @@ sal_Bool SvxAutoCorrect::FnAddNonBrkSpace(
bool bRet = false;
CharClass& rCC = GetCharClass( eLang );
- const lang::Locale rLocale = rCC.getLocale( );
+ const lang::Locale rLocale = rCC.getLanguageTag().getLocale( );
if ( rLocale.Language == OUString( "fr" ) )
{
diff --git a/extensions/source/propctrlr/standardcontrol.cxx b/extensions/source/propctrlr/standardcontrol.cxx
index 8d57aeb..a9f6f9b 100644
--- a/extensions/source/propctrlr/standardcontrol.cxx
+++ b/extensions/source/propctrlr/standardcontrol.cxx
@@ -261,8 +261,7 @@ namespace pcr
getTypedControlWindow()->EnableEmptyField( sal_True );
// determine a default format
- Locale aSysLocale = SvtSysLocale().GetLocaleData().getLocale();
- LanguageType eSysLanguage = LanguageTag( aSysLocale ).getLanguageType( false);
+ LanguageType eSysLanguage = SvtSysLocale().GetLanguageTag().getLanguageType( false);
getTypedControlWindow()->SetFormatter( getTypedControlWindow()->StandardFormatter() );
SvNumberFormatter* pFormatter = getTypedControlWindow()->GetFormatter();
diff --git a/extensions/source/propctrlr/xsdvalidationhelper.cxx b/extensions/source/propctrlr/xsdvalidationhelper.cxx
index 26137db..bca2aee 100644
--- a/extensions/source/propctrlr/xsdvalidationhelper.cxx
+++ b/extensions/source/propctrlr/xsdvalidationhelper.cxx
@@ -353,7 +353,7 @@ namespace pcr
return;
// and the standard format for the given NumberFormat type
- sal_Int32 nDesiredFormat = xFormatTypes->getStandardFormat( nNumberFormatType, SvtSysLocale().GetLocaleData().getLocale() );
+ sal_Int32 nDesiredFormat = xFormatTypes->getStandardFormat( nNumberFormatType, SvtSysLocale().GetLanguageTag().getLocale() );
// set this at the introspectee
m_xControlModel->setPropertyValue( PROPERTY_FORMATKEY, makeAny( nDesiredFormat ) );
diff --git a/forms/source/component/FormattedField.cxx b/forms/source/component/FormattedField.cxx
index b66a397..e6d598a 100644
--- a/forms/source/component/FormattedField.cxx
+++ b/forms/source/component/FormattedField.cxx
@@ -148,9 +148,7 @@ Reference< XNumberFormatsSupplier > StandardFormatsSupplier::get( const Referenc
return xSupplier;
// get the Office's locale
- const Locale& rSysLocale = SvtSysLocale().GetLocaleData().getLocale();
- // translate
- eSysLanguage = LanguageTag( rSysLocale ).getLanguageType( false);
+ eSysLanguage = SvtSysLocale().GetLanguageTag().getLanguageType( false);
}
StandardFormatsSupplier* pSupplier = new StandardFormatsSupplier( _rxORB, eSysLanguage );
diff --git a/framework/source/uielement/toolbarsmenucontroller.cxx b/framework/source/uielement/toolbarsmenucontroller.cxx
index b95af5f..2a6a9d8 100644
--- a/framework/source/uielement/toolbarsmenucontroller.cxx
+++ b/framework/source/uielement/toolbarsmenucontroller.cxx
@@ -141,7 +141,7 @@ ToolbarsMenuController::ToolbarsMenuController( const ::com::sun::star::uno::Ref
m_aPropResourceURL( "ResourceURL" ),
m_bModuleIdentified( sal_False ),
m_bResetActive( sal_False ),
- m_aIntlWrapper( xServiceManager, Application::GetSettings().GetLanguageTag().getLocale() )
+ m_aIntlWrapper( xServiceManager, Application::GetSettings().GetLanguageTag() )
{
}
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx
index 4582a66..91bdfe4 100644
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx
+++ b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx
@@ -202,10 +202,11 @@ Sequence< Locale > SAL_CALL Hyphenator::getLocales()
// Once for each of it's supported locales.
for (sal_Int32 i = 0; i < nLocales; ++i)
{
+ LanguageTag aLanguageTag( aDictIt->aLocaleNames[i] );
aDicts[k].aPtr = NULL;
aDicts[k].eEnc = RTL_TEXTENCODING_DONTKNOW;
- aDicts[k].aLoc = LanguageTag( aDictIt->aLocaleNames[i] ).getLocale();
- aDicts[k].apCC = new CharClass( aDicts[k].aLoc );
+ aDicts[k].aLoc = aLanguageTag.getLocale();
+ aDicts[k].apCC = new CharClass( aLanguageTag );
// also both files have to be in the same directory and the
// file names must only differ in the extension (.aff/.dic).
// Thus we use the first location only and strip the extension part.
diff --git a/lingucomponent/source/thesaurus/libnth/nthesimp.cxx b/lingucomponent/source/thesaurus/libnth/nthesimp.cxx
index 22c9622..5adc007 100644
--- a/lingucomponent/source/thesaurus/libnth/nthesimp.cxx
+++ b/lingucomponent/source/thesaurus/libnth/nthesimp.cxx
@@ -231,10 +231,11 @@ Sequence< Locale > SAL_CALL Thesaurus::getLocales()
// Once for each of it's supported locales.
for (sal_Int32 i = 0; i < nLocales; ++i)
{
+ LanguageTag aLanguageTag( aDictIt->aLocaleNames[i] );
aThes[k] = NULL;
aTEncs[k] = RTL_TEXTENCODING_DONTKNOW;
- aTLocs[k] = LanguageTag( aDictIt->aLocaleNames[i] ).getLocale();
- aCharSetInfo[k] = new CharClass( aTLocs[k] );
+ aTLocs[k] = aLanguageTag.getLocale();
+ aCharSetInfo[k] = new CharClass( aLanguageTag );
// also both files have to be in the same directory and the
// file names must only differ in the extension (.aff/.dic).
// Thus we use the first location only and strip the extension part.
diff --git a/linguistic/source/misc.cxx b/linguistic/source/misc.cxx
index 53afb41..542a823 100644
--- a/linguistic/source/misc.cxx
+++ b/linguistic/source/misc.cxx
@@ -77,14 +77,12 @@ osl::Mutex & GetLinguMutex()
LocaleDataWrapper & GetLocaleDataWrapper( sal_Int16 nLang )
{
static LocaleDataWrapper aLclDtaWrp(
- CreateLocale( SvtSysLocale().GetLanguageTag().getLanguageType() ) );
-
- const Locale &rLcl = aLclDtaWrp.getLoadedLocale();
- Locale aLcl( CreateLocale( nLang ) );
- if (aLcl.Language != rLcl.Language ||
- aLcl.Country != rLcl.Country ||
- aLcl.Variant != rLcl.Variant)
- aLclDtaWrp.setLocale( aLcl );
+ LanguageTag( CreateLocale( SvtSysLocale().GetLanguageTag().getLanguageType() )) );
+
+ const LanguageTag &rLcl = aLclDtaWrp.getLoadedLanguageTag();
+ LanguageTag aLcl( CreateLocale( nLang ) );
+ if (aLcl != rLcl)
+ aLclDtaWrp.setLanguageTag( aLcl );
return aLclDtaWrp;
}
@@ -600,7 +598,7 @@ uno::Reference< XHyphenatedWord > RebuildHyphensAndControlChars(
static CharClass & lcl_GetCharClass()
{
- static CharClass aCC( CreateLocale( LANGUAGE_ENGLISH_US ) );
+ static CharClass aCC( LanguageTag( CreateLocale( LANGUAGE_ENGLISH_US )) );
return aCC;
}
@@ -617,7 +615,7 @@ sal_Bool IsUpper( const String &rText, xub_StrLen nPos, xub_StrLen nLen, sal_Int
MutexGuard aGuard( lcl_GetCharClassMutex() );
CharClass &rCC = lcl_GetCharClass();
- rCC.setLocale( CreateLocale( nLanguage ) );
+ rCC.setLanguageTag( LanguageTag( CreateLocale( nLanguage )) );
sal_Int32 nFlags = rCC.getStringType( rText, nPos, nLen );
return (nFlags & KCharacterType::UPPER)
&& !(nFlags & KCharacterType::LOWER);
@@ -629,7 +627,7 @@ String ToLower( const String &rText, sal_Int16 nLanguage )
MutexGuard aGuard( lcl_GetCharClassMutex() );
CharClass &rCC = lcl_GetCharClass();
- rCC.setLocale( CreateLocale( nLanguage ) );
+ rCC.setLanguageTag( LanguageTag( CreateLocale( nLanguage )) );
return rCC.lowercase( rText );
}
diff --git a/reportdesign/source/core/sdr/formatnormalizer.cxx b/reportdesign/source/core/sdr/formatnormalizer.cxx
index b4258e7..118ef50 100644
--- a/reportdesign/source/core/sdr/formatnormalizer.cxx
+++ b/reportdesign/source/core/sdr/formatnormalizer.cxx
@@ -251,7 +251,7 @@ namespace rptui
Reference< XNumberFormatTypes > xNumFmtTypes( xSuppNumFmts->getNumberFormats(), UNO_QUERY_THROW );
nFormatKey = ::dbtools::getDefaultNumberFormat( field->nDataType, field->nScale, field->bIsCurrency, xNumFmtTypes,
- SvtSysLocale().GetLocaleData().getLocale() );
+ SvtSysLocale().GetLanguageTag().getLocale() );
_rxFormatted->setFormatKey( nFormatKey );
}
catch( const Exception& )
diff --git a/reportdesign/source/ui/dlg/DateTime.cxx b/reportdesign/source/ui/dlg/DateTime.cxx
index 22aaa32..38e2ec5 100644
--- a/reportdesign/source/ui/dlg/DateTime.cxx
+++ b/reportdesign/source/ui/dlg/DateTime.cxx
@@ -74,7 +74,7 @@ ODateTimeDialog::ODateTimeDialog( Window* _pParent
try
{
SvtSysLocale aSysLocale;
- m_nLocale = aSysLocale.GetLocaleData().getLocale();
+ m_nLocale = aSysLocale.GetLanguageTag().getLocale();
// Fill listbox with all well known date types
InsertEntry(util::NumberFormat::DATE);
InsertEntry(util::NumberFormat::TIME);
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
index 3b6e40c..4d314ce 100644
--- a/sc/source/core/data/global.cxx
+++ b/sc/source/core/data/global.cxx
@@ -1174,7 +1174,7 @@ IntlWrapper* ScGlobal::GetScIntlWrapper()
{
if ( !pScIntlWrapper )
{
- pScIntlWrapper = new IntlWrapper( ::comphelper::getProcessServiceFactory(), *GetLocale() );
+ pScIntlWrapper = new IntlWrapper( ::comphelper::getProcessServiceFactory(), LanguageTag( *GetLocale()) );
}
return pScIntlWrapper;
}
diff --git a/sc/source/core/data/globalx.cxx b/sc/source/core/data/globalx.cxx
index 5c00e72..c081f1c 100644
--- a/sc/source/core/data/globalx.cxx
+++ b/sc/source/core/data/globalx.cxx
@@ -153,7 +153,7 @@ String ScGlobal::GetOrdinalSuffix( sal_Int32 nNumber)
try
{
uno::Sequence< rtl::OUString > aSuffixes = xOrdinalSuffix->getOrdinalSuffix( nNumber,
- ScGlobal::pLocaleData->getLocale());
+ ScGlobal::pLocaleData->getLanguageTag().getLocale());
if ( aSuffixes.getLength() > 0 )
return aSuffixes[0];
else
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 9771136..0264862 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -211,12 +211,9 @@ bool ScCompiler::IsEnglishSymbol( const String& rName )
void ScCompiler::InitCharClassEnglish()
{
- ::com::sun::star::lang::Locale aLocale(
- OUString( RTL_CONSTASCII_USTRINGPARAM( "en")),
- OUString( RTL_CONSTASCII_USTRINGPARAM( "US")),
- OUString());
+ ::com::sun::star::lang::Locale aLocale( "en", "US", "");
pCharClassEnglish = new CharClass(
- ::comphelper::getProcessComponentContext(), aLocale);
+ ::comphelper::getProcessComponentContext(), LanguageTag( aLocale));
}
diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx
index b16dba4..8f5a24e 100644
--- a/sc/source/filter/xml/xmlimprt.cxx
+++ b/sc/source/filter/xml/xmlimprt.cxx
@@ -2301,7 +2301,7 @@ void ScXMLImport::ExamineDefaultStyle()
else
{
LocaleDataWrapper aLocaleData( comphelper::getComponentContext(pDoc->GetServiceManager()),
- LanguageTag( nFormatLang ).getLocale() );
+ LanguageTag( nFormatLang ) );
aDecSep = aLocaleData.getNumDecimalSep();
}
@@ -2520,7 +2520,7 @@ sal_Int32 ScXMLImport::SetCurrencySymbol(const sal_Int32 nKey, const rtl::OUStri
{
{
ScXMLImport::MutexGuard aGuard(*this);
- LocaleDataWrapper aLocaleData( comphelper::getComponentContext(GetDocument()->GetServiceManager()), aLocale );
+ LocaleDataWrapper aLocaleData( comphelper::getComponentContext(GetDocument()->GetServiceManager()), LanguageTag( aLocale) );
rtl::OUStringBuffer aBuffer(15);
aBuffer.appendAscii("#");
aBuffer.append( aLocaleData.getNumThousandSep() );
diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx
index c35464f..387d156 100644
--- a/sd/source/core/drawdoc.cxx
+++ b/sd/source/core/drawdoc.cxx
@@ -232,8 +232,9 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh)
}
LanguageType eRealLanguage = MsLangId::getRealLanguage( meLanguage );
- mpLocale = new ::com::sun::star::lang::Locale( LanguageTag( eRealLanguage ).getLocale());
- mpCharClass = new CharClass( *mpLocale );
+ LanguageTag aLanguageTag( eRealLanguage);
+ mpLocale = new ::com::sun::star::lang::Locale( aLanguageTag.getLocale());
+ mpCharClass = new CharClass( aLanguageTag );
// If the current application language is a language that uses right-to-left text...
LanguageType eRealCTLLanguage = Application::GetSettings().GetLanguageTag().getLanguageType();
diff --git a/sfx2/source/appl/linkmgr2.cxx b/sfx2/source/appl/linkmgr2.cxx
index 4f8a7a2..08ff451 100644
--- a/sfx2/source/appl/linkmgr2.cxx
+++ b/sfx2/source/appl/linkmgr2.cxx
@@ -608,8 +608,7 @@ sal_Bool SvxInternalLink::Connect( sfx2::SvBaseLink* pLink )
{
// first only loop over the DocumentShells the shells and find those
// with the name:
- com::sun::star::lang::Locale aLocale( LanguageTag( LANGUAGE_SYSTEM).getLocale());
- CharClass aCC( aLocale );
+ CharClass aCC( LanguageTag( LANGUAGE_SYSTEM) );
TypeId aType( TYPE(SfxObjectShell) );
diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx
index 86002c5..daf2ed4 100644
--- a/sfx2/source/dialog/templdlg.cxx
+++ b/sfx2/source/dialog/templdlg.cxx
@@ -537,7 +537,7 @@ sal_Bool StyleTreeListBox_Impl::NotifyMoving(SvTreeListEntry* pTarget,
const sal_Bool bRet = (sal_Bool)aDropLink.Call(this);
rpNewParent = pTarget;
lPos=0;
- IntlWrapper aIntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag().getLocale() );
+ IntlWrapper aIntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag() );
const CollatorWrapper* pCollator = aIntlWrapper.getCaseCollator();
for(SvTreeListEntry *pTmpEntry=FirstChild(pTarget);
pTmpEntry && COMPARE_LESS==pCollator->compareString(
diff --git a/sfx2/source/view/orgmgr.cxx b/sfx2/source/view/orgmgr.cxx
index 4ba59d6..3b3f8ed 100644
--- a/sfx2/source/view/orgmgr.cxx
+++ b/sfx2/source/view/orgmgr.cxx
@@ -217,7 +217,7 @@ SfxOrganizeMgr::SfxOrganizeMgr( SfxOrganizeListBox_Impl *pLeft,
*/
{
pImpl->pDocList = new SfxObjectList;
- pImpl->pIntlWrapper = new IntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag().getLocale() );
+ pImpl->pIntlWrapper = new IntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag() );
const CollatorWrapper* pCollator = pImpl->pIntlWrapper->getCaseCollator();
for ( SfxObjectShell* pTmp = SfxObjectShell::GetFirst(); pTmp; pTmp = SfxObjectShell::GetNext(*pTmp) )
{
diff --git a/sot/Library_sot.mk b/sot/Library_sot.mk
index 36b4e19..dd0723c 100644
--- a/sot/Library_sot.mk
+++ b/sot/Library_sot.mk
@@ -47,6 +47,7 @@ $(eval $(call gb_Library_use_libraries,sot,\
cppu \
cppuhelper \
sal \
+ i18nisolang1 \
tl \
ucbhelper \
utl \
diff --git a/sot/source/sdstor/stgelem.cxx b/sot/source/sdstor/stgelem.cxx
index d36eb2f..66734bc 100644
--- a/sot/source/sdstor/stgelem.cxx
+++ b/sot/source/sdstor/stgelem.cxx
@@ -283,14 +283,7 @@ sal_Bool StgEntry::Init()
static String ToUpperUnicode( const String & rStr )
{
// I don't know the locale, so en_US is hopefully fine
- /*
- com.sun.star.lang.Locale aLocale;
- aLocale.Language = OUString("en");
- aLocale.Country = OUString("US");
- */
- static rtl::OUString aEN("en");
- static rtl::OUString aUS("US");
- static CharClass aCC( com::sun::star::lang::Locale( aEN, aUS, rtl::OUString() ) );
+ static CharClass aCC( LanguageTag( com::sun::star::lang::Locale( "en", "US", "" )) );
return aCC.uppercase( rStr );
}
diff --git a/starmath/source/parse.cxx b/starmath/source/parse.cxx
index e8aecc1..fa7f9f1 100644
--- a/starmath/source/parse.cxx
+++ b/starmath/source/parse.cxx
@@ -416,7 +416,7 @@ void SmParser::NextToken()
xub_StrLen nRealStart;
bool bCont;
bool bNumStart = false;
- CharClass aCC(SM_MOD()->GetSysLocale().GetCharClass().getLocale());
+ CharClass aCC(SM_MOD()->GetSysLocale().GetLanguageTag());
do
{
// skip white spaces
@@ -437,14 +437,14 @@ void SmParser::NextToken()
if ((aRes.TokenType & KParseType::IDENTNAME) && IsDigit( cFirstChar ))
{
ParseResult aTmpRes;
- lang::Locale aOldLoc( aCC.getLocale() );
- aCC.setLocale( m_aDotLoc );
+ LanguageTag aOldLoc( aCC.getLanguageTag() );
+ aCC.setLanguageTag( LanguageTag( m_aDotLoc ));
aTmpRes = aCC.parsePredefinedToken(
KParseType::ASC_NUMBER,
m_aBufferString, m_nBufferIndex,
KParseTokens::ASC_DIGIT, aEmptyStr,
KParseTokens::ASC_DIGIT | KParseTokens::ASC_DOT, aEmptyStr );
- aCC.setLocale( aOldLoc );
+ aCC.setLanguageTag( aOldLoc );
if (aTmpRes.TokenType & KParseType::ASC_NUMBER)
aRes.TokenType = aTmpRes.TokenType;
}
diff --git a/svl/inc/svl/ondemand.hxx b/svl/inc/svl/ondemand.hxx
index f724cca..70c028f 100644
--- a/svl/inc/svl/ondemand.hxx
+++ b/svl/inc/svl/ondemand.hxx
@@ -76,8 +76,7 @@ public:
}
OnDemandLocaleDataWrapper(
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
- ::com::sun::star::lang::Locale& rLocale,
- LanguageType eLang
+ const LanguageTag& rLanguageTag
)
: pEnglish(0)
, pAny(0)
@@ -85,7 +84,7 @@ public:
, bInitialized(false)
{
pSystem = aSysLocale.GetLocaleDataPtr();
- init( rxContext, rLocale, eLang );
+ init( rxContext, rLanguageTag );
}
~OnDemandLocaleDataWrapper()
{
@@ -99,17 +98,17 @@ public:
void init(
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
- ::com::sun::star::lang::Locale& rLocale,
- LanguageType eLang
+ const LanguageTag& rLanguageTag
)
{
m_xContext = rxContext;
- changeLocale( rLocale, eLang );
+ changeLocale( rLanguageTag );
bInitialized = true;
}
- void changeLocale( ::com::sun::star::lang::Locale& rLocale, LanguageType eLang )
+ void changeLocale( const LanguageTag& rLanguageTag )
{
+ LanguageType eLang = rLanguageTag.getLanguageType( false);
switch ( eLang )
{
case LANGUAGE_SYSTEM :
@@ -117,18 +116,18 @@ public:
break;
case LANGUAGE_ENGLISH_US :
if ( !pEnglish )
- pEnglish = new LocaleDataWrapper( m_xContext, rLocale );
+ pEnglish = new LocaleDataWrapper( m_xContext, rLanguageTag );
pCurrent = pEnglish;
break;
default:
if ( !pAny )
{
- pAny = new LocaleDataWrapper( m_xContext, rLocale );
+ pAny = new LocaleDataWrapper( m_xContext, rLanguageTag );
eLastAnyLanguage = eLang;
}
else if ( eLastAnyLanguage != eLang )
{
- pAny->setLocale( rLocale );
+ pAny->setLanguageTag( rLanguageTag );
eLastAnyLanguage = eLang;
}
pCurrent = pAny;
@@ -143,12 +142,12 @@ public:
{
if ( !pAny )
{
- pAny = new LocaleDataWrapper( m_xContext, pCurrent->getLocale() );
+ pAny = new LocaleDataWrapper( m_xContext, pCurrent->getLanguageTag() );
eLastAnyLanguage = eCurrentLanguage;
}
else if ( pCurrent != pAny )
{
- pAny->setLocale( pCurrent->getLocale() );
+ pAny->setLanguageTag( pCurrent->getLanguageTag() );
eLastAnyLanguage = eCurrentLanguage;
}
return pAny;
@@ -198,7 +197,7 @@ public:
void init(
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
- ::com::sun::star::lang::Locale& rLocale
+ const ::com::sun::star::lang::Locale& rLocale
)
{
m_xContext = rxContext;
@@ -211,7 +210,7 @@ public:
bInitialized = true;
}
- void changeLocale( ::com::sun::star::lang::Locale& rLocale )
+ void changeLocale( const ::com::sun::star::lang::Locale& rLocale )
{
bValid = false;
aLocale = rLocale;
diff --git a/svl/inc/svl/zforlist.hxx b/svl/inc/svl/zforlist.hxx
index 71e6bba..175e404 100644
--- a/svl/inc/svl/zforlist.hxx
+++ b/svl/inc/svl/zforlist.hxx
@@ -795,7 +795,7 @@ public:
private:
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceManager;
- ::com::sun::star::lang::Locale aLocale;
+ LanguageTag maLanguageTag;
SvNumberFormatTable aFTable; // Table of format keys to format entries
typedef std::map<sal_uInt32, sal_uInt32> DefaultFormatKeysMap;
DefaultFormatKeysMap aDefaultFormatKeys; // Table of default standard to format keys
@@ -965,7 +965,7 @@ public:
//! public for the InputScanner and FormatScanner.
// return current (!) Locale
- inline const ::com::sun::star::lang::Locale& GetLocale() const { return aLocale; }
+ inline const LanguageTag& GetLanguageTag() const { return maLanguageTag; }
// return corresponding Transliteration wrapper
inline const ::utl::TransliterationWrapper* GetTransliteration() const
diff --git a/svl/source/items/ctypeitm.cxx b/svl/source/items/ctypeitm.cxx
index dc15162..32944b5 100644
--- a/svl/source/items/ctypeitm.cxx
+++ b/svl/source/items/ctypeitm.cxx
@@ -157,8 +157,7 @@ SfxItemPresentation CntContentTypeItem::GetPresentation(
if (pIntlWrapper)
(const_cast< CntContentTypeItem * >(this))->_aPresentation
= INetContentTypes::GetPresentation(GetEnumValue(),
- pIntlWrapper->
- getLocale());
+ pIntlWrapper->getLanguageTag().getLocale());
}
if (!_aPresentation.isEmpty())
{
diff --git a/svl/source/items/dateitem.cxx b/svl/source/items/dateitem.cxx
index a4fd0d8..bbe8e38 100644
--- a/svl/source/items/dateitem.cxx
+++ b/svl/source/items/dateitem.cxx
@@ -139,7 +139,7 @@ SfxItemPresentation SfxDateTimeItem::GetPresentation
DBG_WARNING("SfxDateTimeItem::GetPresentation():"
" Using default en_US IntlWrapper");
const IntlWrapper aIntlWrapper(
- ::comphelper::getProcessServiceFactory(), LANGUAGE_ENGLISH_US );
+ ::comphelper::getProcessServiceFactory(), LanguageTag( LANGUAGE_ENGLISH_US) );
rText = aIntlWrapper.getLocaleData()->getDate(aDateTime);
rText.AppendAscii(RTL_CONSTASCII_STRINGPARAM(", "));
rText += aIntlWrapper.getLocaleData()->getTime(aDateTime);
diff --git a/svl/source/items/style.cxx b/svl/source/items/style.cxx
index 1bc6d17..2eb0b83 100644
--- a/svl/source/items/style.cxx
+++ b/svl/source/items/style.cxx
@@ -334,7 +334,7 @@ XubString SfxStyleSheetBase::GetDescription( SfxMapUnit eMetric )
const SfxPoolItem* pItem = aIter.FirstItem();
IntlWrapper aIntlWrapper(comphelper::getProcessServiceFactory(),
- SvtSysLocale().GetLanguageTag().getLocale());
+ SvtSysLocale().GetLanguageTag());
while ( pItem )
{
XubString aItemPresentation;
diff --git a/svl/source/numbers/supservs.cxx b/svl/source/numbers/supservs.cxx
index 1edfbdf..905f2a0 100644
--- a/svl/source/numbers/supservs.cxx
+++ b/svl/source/numbers/supservs.cxx
@@ -206,7 +206,7 @@ void SvNumberFormatsSupplierServiceObject::implEnsureFormatter()
{
// get the office's UI locale
SvtSysLocale aSysLocale;
- Locale aOfficeLocale = aSysLocale.GetLocaleData().getLocale();
+ Locale aOfficeLocale = aSysLocale.GetLocaleData().getLanguageTag().getLocale();
// initi with this locale
Sequence< Any > aFakedInitProps( 1 );
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx
index 9c22398..250b89b 100644
--- a/svl/source/numbers/zforfind.cxx
+++ b/svl/source/numbers/zforfind.cxx
@@ -166,7 +166,7 @@ void ImpSvNumberInputScan::TransformInput( String& rStr )
}
if ( nPos < nLen )
rStr = pFormatter->GetNatNum()->getNativeNumberString( rStr,
- pFormatter->GetLocale(), 0 );
+ pFormatter->GetLanguageTag().getLocale(), 0 );
}
@@ -1751,7 +1751,7 @@ input for the following reasons:
res = false;
if ( aOrgCalendar.Len() )
- pCal->loadCalendar( aOrgCalendar, pLoc->getLocale() ); // restore calendar
+ pCal->loadCalendar( aOrgCalendar, pLoc->getLanguageTag().getLocale() ); // restore calendar
#if NF_TEST_CALENDAR
{
diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
index 6082067..a8bc1ca 100644
--- a/svl/source/numbers/zforlist.cxx
+++ b/svl/source/numbers/zforlist.cxx
@@ -193,7 +193,8 @@ SvNumberFormatter::SvNumberFormatter(
const Reference< XMultiServiceFactory >& xSMgr,
LanguageType eLang )
:
- xServiceManager( xSMgr )
+ xServiceManager( xSMgr ),
+ maLanguageTag( eLang)
{
ImpConstruct( eLang );
}
@@ -233,10 +234,10 @@ void SvNumberFormatter::ImpConstruct( LanguageType eLang )
eEvalDateFormat = NF_EVALDATEFORMAT_INTL;
nDefaultSystemCurrencyFormat = NUMBERFORMAT_ENTRY_NOT_FOUND;
- aLocale = LanguageTag( eLang ).getLocale();
- pCharClass = new CharClass( comphelper::getComponentContext(xServiceManager), aLocale );
- xLocaleData.init( comphelper::getComponentContext(xServiceManager), aLocale, eLang );
- xCalendar.init( comphelper::getComponentContext(xServiceManager), aLocale );
+ maLanguageTag.reset( eLang );
+ pCharClass = new CharClass( comphelper::getComponentContext(xServiceManager), maLanguageTag );
+ xLocaleData.init( comphelper::getComponentContext(xServiceManager), maLanguageTag );
+ xCalendar.init( comphelper::getComponentContext(xServiceManager), maLanguageTag.getLocale() );
xTransliteration.init( comphelper::getComponentContext(xServiceManager), eLang,
::com::sun::star::i18n::TransliterationModules_IGNORE_CASE );
xNatNum.init( xServiceManager );
@@ -266,10 +267,10 @@ void SvNumberFormatter::ChangeIntl(LanguageType eLnge)
{
ActLnge = eLnge;
- aLocale = LanguageTag( eLnge ).getLocale();
- pCharClass->setLocale( aLocale );
- xLocaleData.changeLocale( aLocale, eLnge );
- xCalendar.changeLocale( aLocale );
+ maLanguageTag.reset( eLnge );
+ pCharClass->setLanguageTag( maLanguageTag );
+ xLocaleData.changeLocale( maLanguageTag );
+ xCalendar.changeLocale( maLanguageTag.getLocale() );
xTransliteration.changeLocale( eLnge );
// cached locale data items, initialize BEFORE calling ChangeIntl below
@@ -459,7 +460,8 @@ void SvNumberFormatter::ReplaceSystemCL( LanguageType eOldLanguage )
pStdFormat->SetLastInsertKey( sal_uInt16(nLastKey - nCLOffset) );
// append new system additional formats
- NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager), GetLocale() );
+ NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager),
+ GetLanguageTag().getLocale() );
ImpGenerateAdditionalFormats( nCLOffset, aNumberFormatCode, true );
}
@@ -781,7 +783,8 @@ bool SvNumberFormatter::Load( SvStream& rStream )
// generate additional i18n standard formats for all used locales
LanguageType eOldLanguage = ActLnge;
- NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager), GetLocale() );
+ NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager),
+ GetLanguageTag().getLocale() );
std::vector<sal_uInt16> aList;
GetUsedLanguages( aList );
for ( std::vector<sal_uInt16>::const_iterator it(aList.begin()); it != aList.end(); ++it )
@@ -962,9 +965,8 @@ sal_uInt32 SvNumberFormatter::ImpGenerateCL( LanguageType eLnge, bool bNoAdditio
{ // new CL combination
if (LocaleDataWrapper::areChecksEnabled())
{
- Locale aLoadedLocale = xLocaleData->getLoadedLocale();
- if ( aLoadedLocale.Language != aLocale.Language ||
- aLoadedLocale.Country != aLocale.Country )
+ const LanguageTag& rLoadedLocale = xLocaleData->getLoadedLanguageTag();
+ if ( rLoadedLocale != maLanguageTag )
{
OUString aMsg("SvNumerFormatter::ImpGenerateCL: locales don't match:");
LocaleDataWrapper::outputCheckMessage( xLocaleData->appendLocaleInfo( aMsg ));
@@ -1963,11 +1965,10 @@ String SvNumberFormatter::GetFormatDecimalSep( sal_uInt32 nFormat ) const
aRet = xLocaleData->getNumDecimalSep();
else
{
- ::com::sun::star::lang::Locale aSaveLocale( xLocaleData->getLocale() );
- ::com::sun::star::lang::Locale aTmpLocale( LanguageTag( pFormat->GetLanguage()).getLocale());
- ((SvNumberFormatter*)this)->xLocaleData.changeLocale(aTmpLocale, pFormat->GetLanguage() );
+ LanguageTag aSaveLocale( xLocaleData->getLanguageTag() );
+ ((SvNumberFormatter*)this)->xLocaleData.changeLocale( LanguageTag( pFormat->GetLanguage()) );
aRet = xLocaleData->getNumDecimalSep();
- ((SvNumberFormatter*)this)->xLocaleData.changeLocale( aSaveLocale, eSaveLang );
+ ((SvNumberFormatter*)this)->xLocaleData.changeLocale( aSaveLocale );
}
return aRet;
}
@@ -2214,7 +2215,8 @@ void SvNumberFormatter::ImpGenerateFormats( sal_uInt32 CLOffset, bool bNoAdditio
pFormatScanner->SetConvertMode(false); // switch off for this function
}
- NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager), GetLocale() );
+ NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(xServiceManager),
+ GetLanguageTag().getLocale() );
SvNumberformat* pNewFormat = NULL;
sal_Int32 nIdx;
bool bDefault;
@@ -2665,7 +2667,7 @@ void SvNumberFormatter::ImpGenerateAdditionalFormats( sal_uInt32 CLOffset,
return ;
}
sal_uInt32 nPos = CLOffset + pStdFormat->GetLastInsertKey();
- rNumberFormatCode.setLocale( GetLocale() );
+ rNumberFormatCode.setLocale( GetLanguageTag().getLocale() );
sal_Int32 j;
// All currencies, this time with [$...] which was stripped in
@@ -3604,7 +3606,7 @@ void SvNumberFormatter::ImpInitCurrencyTable()
LanguageType eSysLang = SvtSysLocale().GetLanguageTag().getLanguageType();
LocaleDataWrapper* pLocaleData = new LocaleDataWrapper(
::comphelper::getProcessComponentContext(),
- SvtSysLocale().GetLanguageTag().getLocale() );
+ SvtSysLocale().GetLanguageTag() );
// get user configured currency
String aConfiguredCurrencyAbbrev;
LanguageType eConfiguredCurrencyLanguage = LANGUAGE_SYSTEM;
@@ -3632,7 +3634,7 @@ void SvNumberFormatter::ImpInitCurrencyTable()
{
LanguageType eLang = LanguageTag( pLocales[nLocale]).getLanguageType( false);
rInstalledLocales.insert( eLang);
- pLocaleData->setLocale( pLocales[nLocale] );
+ pLocaleData->setLanguageTag( LanguageTag( pLocales[nLocale]) );
Sequence< Currency2 > aCurrSeq = pLocaleData->getAllCurrencies();
sal_Int32 nCurrencyCount = aCurrSeq.getLength();
Currency2 const * const pCurrencies = aCurrSeq.getConstArray();
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index b7facc0..3ca66ef 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -3341,7 +3341,8 @@ void SvNumberformat::SwitchToOtherCalendar( OUString& rOrgCalendar,
if ( rCal.getUniqueID() == rGregorian )
{
using namespace ::com::sun::star::i18n;
- ::com::sun::star::uno::Sequence< ::rtl::OUString > xCals = rCal.getAllCalendars( rLoc().getLocale() );
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > xCals = rCal.getAllCalendars(
+ rLoc().getLanguageTag().getLocale() );
sal_Int32 nCnt = xCals.getLength();
if ( nCnt > 1 )
{
@@ -3354,7 +3355,7 @@ void SvNumberformat::SwitchToOtherCalendar( OUString& rOrgCalendar,
rOrgCalendar = rCal.getUniqueID();
fOrgDateTime = rCal.getDateTime();
}
- rCal.loadCalendar( xCals[j], rLoc().getLocale() );
+ rCal.loadCalendar( xCals[j], rLoc().getLanguageTag().getLocale() );
rCal.setDateTime( fOrgDateTime );
break; // for
}
@@ -3370,7 +3371,7 @@ void SvNumberformat::SwitchToGregorianCalendar( const OUString& rOrgCalendar,
const rtl::OUString &rGregorian = Gregorian::get();
if ( rOrgCalendar.getLength() && rCal.getUniqueID() != rGregorian )
{
- rCal.loadCalendar( rGregorian, rLoc().getLocale() );
+ rCal.loadCalendar( rGregorian, rLoc().getLanguageTag().getLocale() );
rCal.setDateTime( fOrgDateTime );
}
}
@@ -3394,7 +3395,7 @@ bool SvNumberformat::ImpFallBackToGregorianCalendar( OUString& rOrgCalendar, dou
{
rOrgCalendar = "";
}
- rCal.loadCalendar( rGregorian, rLoc().getLocale() );
+ rCal.loadCalendar( rGregorian, rLoc().getLanguageTag().getLocale() );
rCal.setDateTime( fOrgDateTime );
return true;
}
@@ -3596,7 +3597,7 @@ bool SvNumberformat::ImpGetDateOutput(double fNumber,
aOrgCalendar = rCal.getUniqueID();
fOrgDateTime = rCal.getDateTime();
}
- rCal.loadCalendar( rInfo.sStrArray[i], rLoc().getLocale() );
+ rCal.loadCalendar( rInfo.sStrArray[i], rLoc().getLanguageTag().getLocale() );
rCal.setDateTime( fOrgDateTime );
ImpFallBackToGregorianCalendar( aOrgCalendar, fOrgDateTime );
break;
@@ -3746,7 +3747,7 @@ bool SvNumberformat::ImpGetDateOutput(double fNumber,
}
if ( aOrgCalendar.getLength() )
{
- rCal.loadCalendar( aOrgCalendar, rLoc().getLocale() ); // restore calendar
+ rCal.loadCalendar( aOrgCalendar, rLoc().getLanguageTag().getLocale() ); // restore calendar
}
return bRes;
}
@@ -3889,7 +3890,7 @@ bool SvNumberformat::ImpGetDateTimeOutput(double fNumber,
aOrgCalendar = rCal.getUniqueID();
fOrgDateTime = rCal.getDateTime();
}
- rCal.loadCalendar( rInfo.sStrArray[i], rLoc().getLocale() );
+ rCal.loadCalendar( rInfo.sStrArray[i], rLoc().getLanguageTag().getLocale() );
rCal.setDateTime( fOrgDateTime );
ImpFallBackToGregorianCalendar( aOrgCalendar, fOrgDateTime );
break;
@@ -4092,7 +4093,7 @@ bool SvNumberformat::ImpGetDateTimeOutput(double fNumber,
}
if ( aOrgCalendar.getLength() )
{
- rCal.loadCalendar( aOrgCalendar, rLoc().getLocale() ); // restore calendar
+ rCal.loadCalendar( aOrgCalendar, rLoc().getLanguageTag().getLocale() ); // restore calendar
}
return bRes;
}
diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx
index e82eaa0..0b88129 100644
--- a/svl/source/numbers/zforscan.cxx
+++ b/svl/source/numbers/zforscan.cxx
@@ -223,9 +223,10 @@ void ImpSvNumberformatScan::SetDependentKeywords()
const LocaleDataWrapper* pLocaleData = pFormatter->GetLocaleData();
// #80023# be sure to generate keywords for the loaded Locale, not for the
// requested Locale, otherwise number format codes might not match
- lang::Locale aLoadedLocale = pLocaleData->getLoadedLocale();
- LanguageType eLang = LanguageTag( aLoadedLocale ).getLanguageType( false);
- NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(pFormatter->GetServiceManager()), aLoadedLocale );
+ const LanguageTag& rLoadedLocale = pLocaleData->getLoadedLanguageTag();
+ LanguageType eLang = rLoadedLocale.getLanguageType( false);
+ NumberFormatCodeWrapper aNumberFormatCode( comphelper::getComponentContext(pFormatter->GetServiceManager()),
+ rLoadedLocale.getLocale() );
i18n::NumberFormatCode aFormat = aNumberFormatCode.getFormatCode( NF_NUMBER_STANDARD );
sNameStandardFormat = lcl_extractStandardGeneralName( aFormat.Code);
diff --git a/svtools/source/contnr/fileview.cxx b/svtools/source/contnr/fileview.cxx
index 1f02aff..9888277 100644
--- a/svtools/source/contnr/fileview.cxx
+++ b/svtools/source/contnr/fileview.cxx
@@ -1710,7 +1710,7 @@ SvtFileView_Impl::SvtFileView_Impl( SvtFileView* pAntiImpl, Reference < XCommand
,mbReplaceNames ( sal_False )
,mnSuspendSelectCallback ( 0 )
,mbIsFirstResort ( sal_True )
- ,aIntlWrapper ( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag().getLocale() )
+ ,aIntlWrapper ( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag() )
,maFolderImage ( SvtResId( IMG_SVT_FOLDER ) )
,mxCmdEnv ( xEnv )
diff --git a/svtools/source/control/calendar.cxx b/svtools/source/control/calendar.cxx
index 907ff5b..2712871 100644
--- a/svtools/source/control/calendar.cxx
+++ b/svtools/source/control/calendar.cxx
@@ -195,24 +195,18 @@ void Calendar::ImplInit( WinBits nWinStyle )
::rtl::OUString aGregorian( RTL_CONSTASCII_USTRINGPARAM( "gregorian"));
maCalendarWrapper.loadCalendar( aGregorian,
- Application::GetAppLocaleDataWrapper().getLocale());
+ Application::GetAppLocaleDataWrapper().getLanguageTag().getLocale());
if (maCalendarWrapper.getUniqueID() != aGregorian)
{
-#ifdef SAL_LOG_WARN
- lang::Locale aLoc( Application::GetAppLocaleDataWrapper().getLocale() );
SAL_WARN( "svtools.control", "Calendar::ImplInit: No ``gregorian'' calendar available for locale ``"
- << aLoc.Language << "-" << aLoc.Country
+ << Application::GetAppLocaleDataWrapper().getLanguageTag().getBcp47()
<< "'' and other calendars aren't supported. Using en-US fallback." );
-#endif
/* If we ever wanted to support other calendars than Gregorian a lot of
* rewrite would be necessary to internally replace use of class Date
* with proper class CalendarWrapper methods, get rid of fixed 12
* months, fixed 7 days, ... */
- maCalendarWrapper.loadCalendar( aGregorian, lang::Locale(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "en")),
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "US")),
- ::rtl::OUString()));
+ maCalendarWrapper.loadCalendar( aGregorian, lang::Locale( "en", "US", ""));
}
SetFirstDate( maCurDate );
diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx
index 4a2c156..017422f 100644
--- a/svtools/source/control/ctrlbox.cxx
+++ b/svtools/source/control/ctrlbox.cxx
@@ -1460,7 +1460,7 @@ void FontStyleBox::LoseFocus()
void FontStyleBox::Modify()
{
CharClass aChrCls( ::comphelper::getProcessComponentContext(),
- GetSettings().GetLanguageTag().getLocale() );
+ GetSettings().GetLanguageTag() );
XubString aStr = GetText();
sal_uInt16 nEntryCount = GetEntryCount();
diff --git a/svtools/source/control/fmtfield.cxx b/svtools/source/control/fmtfield.cxx
index cf73f48..375a3f6 100644
--- a/svtools/source/control/fmtfield.cxx
+++ b/svtools/source/control/fmtfield.cxx
@@ -284,8 +284,7 @@ SvNumberFormatter* FormattedField::StaticFormatter::GetFormatter()
if (!s_cFormatter)
{
// get the Office's locale and translate
- LanguageType eSysLanguage = LanguageTag(
- SvtSysLocale().GetLocaleData().getLocale()).getLanguageType( false);
+ LanguageType eSysLanguage = SvtSysLocale().GetLanguageTag().getLanguageType( false);
s_cFormatter = new SvNumberFormatter(
::comphelper::getProcessServiceFactory(),
eSysLanguage);
@@ -618,8 +617,7 @@ void FormattedField::SetFormatter(SvNumberFormatter* pFormatter, sal_Bool bReset
if ( m_pFormatter )
{
// get the Office's locale and translate
- LanguageType eSysLanguage = LanguageTag(
- SvtSysLocale().GetLocaleData().getLocale()).getLanguageType( false);
+ LanguageType eSysLanguage = SvtSysLocale().GetLanguageTag().getLanguageType( false);
// get the standard numeric format for this language
m_nFormatKey = m_pFormatter->GetStandardFormat( NUMBERFORMAT_NUMBER, eSysLanguage );
}
@@ -1152,8 +1150,7 @@ void DoubleNumericField::ResetConformanceTester()
sal_Unicode cSeparatorDecimal = '.';
if (pFormatEntry)
{
- Locale aLocale( LanguageTag( pFormatEntry->GetLanguage()).getLocale());
- LocaleDataWrapper aLocaleInfo( aLocale );
+ LocaleDataWrapper aLocaleInfo( LanguageTag( pFormatEntry->GetLanguage()) );
String sSeparator = aLocaleInfo.getNumThousandSep();
if (sSeparator.Len())
@@ -1243,8 +1240,13 @@ void DoubleCurrencyField::UpdateCurrencyFormat()
sal_uInt16 nDigits = GetDecimalDigits();
// build a new format string with the base class' and my own settings
- Locale aLocale( LanguageTag( eLanguage).getLocale());
- LocaleDataWrapper aLocaleInfo( aLocale );
+
+ /* Strangely with gcc 4.6.3 this needs a temporary LanguageTag, otherwise
+ * there's
+ * error: request for member âgetNumThousandSepâ in âaLocaleInfoâ, which is
+ * of non-class type âLocaleDataWrapper(LanguageTag)â */
+ LanguageTag aLanguageTag( eLanguage);
+ LocaleDataWrapper aLocaleInfo( aLanguageTag );
XubString sNewFormat;
if (bThSep)
diff --git a/svtools/source/edit/syntaxhighlight.cxx b/svtools/source/edit/syntaxhighlight.cxx
index 2efa5a9..7db7b72 100644
--- a/svtools/source/edit/syntaxhighlight.cxx
+++ b/svtools/source/edit/syntaxhighlight.cxx
@@ -330,7 +330,7 @@ bool LetterTable::isLetterUnicode( sal_Unicode c )
{
static CharClass* pCharClass = NULL;
if( pCharClass == NULL )
- pCharClass = new CharClass( Application::GetSettings().GetLanguageTag().getLocale() );
+ pCharClass = new CharClass( Application::GetSettings().GetLanguageTag() );
rtl::OUString aStr( c );
bool bRet = pCharClass->isLetter( aStr, 0 );
return bRet;
diff --git a/svx/source/dialog/simptabl.cxx b/svx/source/dialog/simptabl.cxx
index bb20aee..5440742 100644
--- a/svx/source/dialog/simptabl.cxx
+++ b/svx/source/dialog/simptabl.cxx
@@ -458,7 +458,7 @@ StringCompare SvxSimpleTable::ColCompare(SvTreeListEntry* pLeft,SvTreeListEntry*
if(nRightKind == SV_ITEM_ID_LBOXSTRING &&
nLeftKind == SV_ITEM_ID_LBOXSTRING )
{
- IntlWrapper aIntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag().getLocale() );
+ IntlWrapper aIntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag() );
const CollatorWrapper* pCollator = aIntlWrapper.getCaseCollator();
eCompare=(StringCompare)pCollator->compareString( ((SvLBoxString*)pLeftItem)->GetText(),
diff --git a/svx/source/form/ParseContext.cxx b/svx/source/form/ParseContext.cxx
index 4455233..0456a44 100644
--- a/svx/source/form/ParseContext.cxx
+++ b/svx/source/form/ParseContext.cxx
@@ -64,7 +64,7 @@ OSystemParseContext::~OSystemParseContext()
//-----------------------------------------------------------------------------
::com::sun::star::lang::Locale OSystemParseContext::getPreferredLocale( ) const
{
- return SvtSysLocale().GetLocaleData().getLocale();
+ return SvtSysLocale().GetLanguageTag().getLocale();
}
//-----------------------------------------------------------------------------
diff --git a/svx/source/form/fmcontrollayout.cxx b/svx/source/form/fmcontrollayout.cxx
index 06e34f9..05292ac 100644
--- a/svx/source/form/fmcontrollayout.cxx
+++ b/svx/source/form/fmcontrollayout.cxx
@@ -143,7 +143,7 @@ namespace svxform
// determine the script type associated with the system locale
const SvtSysLocale aSysLocale;
const LocaleDataWrapper& rSysLocaleData = aSysLocale.GetLocaleData();
- const sal_Int16 eSysLocaleScriptType = MsLangId::getScriptType( LanguageTag( rSysLocaleData.getLocale() ).getLanguageType() );
+ const sal_Int16 eSysLocaleScriptType = MsLangId::getScriptType( rSysLocaleData.getLanguageTag().getLanguageType() );
// depending on this script type, use the right property from the document's style which controls the
// default locale for document content
@@ -182,7 +182,7 @@ namespace svxform
// fall back to the system locale
if ( aDocumentCharLocale.Language.isEmpty() )
{
- aDocumentCharLocale = rSysLocaleData.getLocale();
+ aDocumentCharLocale = rSysLocaleData.getLanguageTag().getLocale();
}
// retrieve a default font for this locale, and set it at the control
diff --git a/svx/source/form/fmsrcimp.cxx b/svx/source/form/fmsrcimp.cxx
index 14fb1fc..006a6de 100644
--- a/svx/source/form/fmsrcimp.cxx
+++ b/svx/source/form/fmsrcimp.cxx
@@ -585,7 +585,7 @@ FmSearchEngine::SEARCH_RESULT FmSearchEngine::SearchRegularApprox(const ::rtl::O
aParam.insertedChars = m_nLevLonger;
}
aParam.searchString = strExpression;
- aParam.Locale = SvtSysLocale().GetLocaleData().getLocale();
+ aParam.Locale = SvtSysLocale().GetLanguageTag().getLocale();
::utl::TextSearch aLocalEngine(aParam);
// --------------------------------------------------------------
@@ -686,7 +686,7 @@ FmSearchEngine::FmSearchEngine(const Reference< XMultiServiceFactory >& _rxORB,
:m_xSearchCursor(xCursor)
,m_xFormatSupplier(xFormatSupplier)
- ,m_aCharacterClassficator( comphelper::getComponentContext(_rxORB), SvtSysLocale().GetLocaleData().getLocale() )
+ ,m_aCharacterClassficator( comphelper::getComponentContext(_rxORB), SvtSysLocale().GetLanguageTag() )
,m_aStringCompare( _rxORB )
,m_nCurrentFieldIndex(-2) // -1 hat schon eine Bedeutung, also nehme ich -2 fuer 'ungueltig'
,m_bUsingTextComponents(sal_False)
@@ -723,7 +723,7 @@ FmSearchEngine::FmSearchEngine(const Reference< XMultiServiceFactory >& _rxORB,
const Reference< XResultSet > & xCursor, const ::rtl::OUString& sVisibleFields,
const InterfaceArray& arrFields, FMSEARCH_MODE eMode)
:m_xSearchCursor(xCursor)
- ,m_aCharacterClassficator( comphelper::getComponentContext(_rxORB), SvtSysLocale().GetLocaleData().getLocale() )
+ ,m_aCharacterClassficator( comphelper::getComponentContext(_rxORB), SvtSysLocale().GetLanguageTag() )
,m_aStringCompare( _rxORB )
,m_nCurrentFieldIndex(-2) // -1 hat schon eine Bedeutung, also nehme ich -2 fuer 'ungueltig'
,m_bUsingTextComponents(sal_True)
@@ -872,7 +872,7 @@ void FmSearchEngine::Init(const ::rtl::OUString& sVisibleFields)
bCaseSensitiveIdentifiers = xMeta->supportsMixedCaseQuotedIdentifiers();
// now that we have this information, we need a collator which is able to case (in)sentively compare strings
- m_aStringCompare.loadDefaultCollator( SvtSysLocale().GetLocaleData().getLocale(),
+ m_aStringCompare.loadDefaultCollator( SvtSysLocale().GetLanguageTag().getLocale(),
bCaseSensitiveIdentifiers ? 0 : ::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE );
try
diff --git a/svx/source/form/formcontrolfactory.cxx b/svx/source/form/formcontrolfactory.cxx
index 5cf18fe..f47cf33 100644
--- a/svx/source/form/formcontrolfactory.cxx
+++ b/svx/source/form/formcontrolfactory.cxx
@@ -586,7 +586,7 @@ namespace svxform
nFormatKey = OStaticDataAccessTools().getDefaultNumberFormat(
_rxDatabaseField,
Reference< XNumberFormatTypes >( _rxNumberFormats, UNO_QUERY ),
- SvtSysLocale().GetLocaleData().getLocale()
+ SvtSysLocale().GetLanguageTag().getLocale()
);
}
diff --git a/svx/source/svdraw/svdattr.cxx b/svx/source/svdraw/svdattr.cxx
index 8e711f0..9c3ebf9 100644
--- a/svx/source/svdraw/svdattr.cxx
+++ b/svx/source/svdraw/svdattr.cxx
@@ -878,7 +878,7 @@ SfxItemPresentation SdrAngleItem::GetPresentation(
if(!pIntlWrapper)
pIntlWrapper = pMyIntlWrapper = new IntlWrapper(
::comphelper::getProcessServiceFactory(),
- Application::GetSettings().GetLanguageTag().getLanguageType() );
+ Application::GetSettings().GetLanguageTag() );
if(pIntlWrapper->getLocaleData()->isNumLeadingZero())
nAnz++;
diff --git a/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx b/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx
index c4710ab..03da42e 100644
--- a/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx
+++ b/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx
@@ -396,7 +396,7 @@ StringCompare DictionaryList::ColumnCompare( SvTreeListEntry* pLeft, SvTreeListE
if(nRightKind == SV_ITEM_ID_LBOXSTRING &&
nLeftKind == SV_ITEM_ID_LBOXSTRING )
{
- IntlWrapper aIntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag().getLocale() );
+ IntlWrapper aIntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLanguageTag() );
const CollatorWrapper* pCollator = aIntlWrapper.getCaseCollator();
eCompare=(StringCompare)pCollator->compareString( ((SvLBoxString*)pLeftItem)->GetText(),
diff --git a/sw/source/core/bastyp/breakit.cxx b/sw/source/core/bastyp/breakit.cxx
index b4c4275..643ec11 100644
--- a/sw/source/core/bastyp/breakit.cxx
+++ b/sw/source/core/bastyp/breakit.cxx
@@ -89,7 +89,7 @@ void SwBreakIt::_GetLocale( const LanguageType aLang )
void SwBreakIt::_GetForbidden( const LanguageType aLang )
{
- LocaleDataWrapper aWrap( m_xContext, GetLocale( aLang ) );
+ LocaleDataWrapper aWrap( m_xContext, LanguageTag( GetLocale( aLang )) );
aForbiddenLang = aLang;
delete m_pForbidden;
diff --git a/sw/source/core/bastyp/calc.cxx b/sw/source/core/bastyp/calc.cxx
index b484381..27e6642 100644
--- a/sw/source/core/bastyp/calc.cxx
+++ b/sw/source/core/bastyp/calc.cxx
@@ -254,12 +254,12 @@ SwCalc::SwCalc( SwDoc& rD )
memset( VarTable, 0, sizeof(VarTable) );
LanguageType eLang = GetDocAppScriptLang( rDoc );
- if( eLang != SvxLocaleToLanguage( pLclData->getLocale() ) ||
- eLang != SvxLocaleToLanguage( pCharClass->getLocale() ) )
+ if( eLang != SvxLocaleToLanguage( pLclData->getLanguageTag().getLocale() ) ||
+ eLang != SvxLocaleToLanguage( pCharClass->getLanguageTag().getLocale() ) )
{
- ::com::sun::star::lang::Locale aLocale( SvxCreateLocale( eLang ));
- pCharClass = new CharClass( ::comphelper::getProcessComponentContext(), aLocale );
- pLclData = new LocaleDataWrapper( aLocale );
+ LanguageTag aLanguageTag( SvxCreateLocale( eLang ));
+ pCharClass = new CharClass( ::comphelper::getProcessComponentContext(), aLanguageTag );
+ pLclData = new LocaleDataWrapper( aLanguageTag );
}
sCurrSym = comphelper::string::strip(pLclData->getCurrSymbol(), ' ');
@@ -560,7 +560,7 @@ SwCalcExp* SwCalc::VarLook( const String& rStr, sal_uInt16 ins )
rtl::OUString sResult;
double nNumber = DBL_MAX;
- long nLang = SvxLocaleToLanguage( pLclData->getLocale() );
+ long nLang = SvxLocaleToLanguage( pLclData->getLanguageTag().getLocale() );
if(pMgr->GetColumnCnt( sSourceName, sTableName, sColumnName,
nTmpRec, nLang, sResult, &nNumber ))
{
@@ -1539,9 +1539,9 @@ bool SwCalc::Str2Double( const String& rCommand, xub_StrLen& rCommandPos,
{
LanguageType eLang = GetDocAppScriptLang( *pDoc );
if (eLang !=
- SvxLocaleToLanguage(aSysLocale.GetLocaleData().getLocale()))
+ SvxLocaleToLanguage(aSysLocale.GetLanguageTag().getLocale()))
{
- pLclD.reset( new LocaleDataWrapper( SvxCreateLocale( eLang ) ) );
+ pLclD.reset( new LocaleDataWrapper( LanguageTag( SvxCreateLocale( eLang )) ) );
}
}
diff --git a/sw/source/core/bastyp/init.cxx b/sw/source/core/bastyp/init.cxx
index 678e074..3f67271 100644
--- a/sw/source/core/bastyp/init.cxx
+++ b/sw/source/core/bastyp/init.cxx
@@ -810,7 +810,7 @@ CharClass& GetAppCharClass()
{
pAppCharClass = new CharClass(
::comphelper::getProcessComponentContext(),
- SwBreakIt::Get()->GetLocale( (LanguageType)GetAppLanguage() ));
+ LanguageTag( SwBreakIt::Get()->GetLocale( (LanguageType)GetAppLanguage() )));
}
return *pAppCharClass;
}
diff --git a/sw/source/core/doc/docsort.cxx b/sw/source/core/doc/docsort.cxx
index 363594b..6932f5b 100644
--- a/sw/source/core/doc/docsort.cxx
+++ b/sw/source/core/doc/docsort.cxx
@@ -117,7 +117,7 @@ SwSortElement::~SwSortElement()
double SwSortElement::StrToDouble( const String& rStr ) const
{
if( !pLclData )
- pLclData = new LocaleDataWrapper( *pLocale );
+ pLclData = new LocaleDataWrapper( LanguageTag( *pLocale ));
rtl_math_ConversionStatus eStatus;
sal_Int32 nEnd;
diff --git a/sw/source/core/edit/autofmt.cxx b/sw/source/core/edit/autofmt.cxx
index 8c3096b..a1ed01e 100644
--- a/sw/source/core/edit/autofmt.cxx
+++ b/sw/source/core/edit/autofmt.cxx
@@ -274,7 +274,7 @@ SwTxtFrm* SwAutoFormat::GetFrm( const SwTxtNode& rTxtNd ) const
void SwAutoFormat::_GetCharClass( LanguageType eLang )
{
delete pCharClass;
- pCharClass = new CharClass( SvxCreateLocale( eLang ));
+ pCharClass = new CharClass( LanguageTag( SvxCreateLocale( eLang )));
eCharClassLang = eLang;
}
diff --git a/sw/source/core/fields/docufld.cxx b/sw/source/core/fields/docufld.cxx
index c0c88e9..d434a7a 100644
--- a/sw/source/core/fields/docufld.cxx
+++ b/sw/source/core/fields/docufld.cxx
@@ -893,9 +893,9 @@ static void lcl_GetLocalDataWrapper( sal_uLong nLang,
SvtSysLocale aLocale;
*ppAppLocalData = &aLocale.GetLocaleData();
*ppLocalData = *ppAppLocalData;
- if( nLang != SvxLocaleToLanguage( (*ppLocalData)->getLocale() ) )
+ if( nLang != SvxLocaleToLanguage( (*ppLocalData)->getLanguageTag().getLocale() ) )
*ppLocalData = new LocaleDataWrapper(
- SvxCreateLocale( static_cast<LanguageType>(nLang) ) );
+ LanguageTag( SvxCreateLocale( static_cast<LanguageType>(nLang) )) );
}
String SwDocInfoFieldType::Expand( sal_uInt16 nSub, sal_uInt32 nFormat,
diff --git a/sw/source/core/fields/expfld.cxx b/sw/source/core/fields/expfld.cxx
index 0e11e27..eb491ec 100644
--- a/sw/source/core/fields/expfld.cxx
+++ b/sw/source/core/fields/expfld.cxx
@@ -927,7 +927,7 @@ xub_StrLen SwGetExpField::GetReferenceTextPos( const SwFmtFld& rFmt, SwDoc& rDoc
{
LanguageType eLang = ((SvxLanguageItem&)aSet.Get(
GetWhichOfScript( RES_CHRATR_LANGUAGE, nSrcpt )) ).GetLanguage();
- CharClass aCC( SvxCreateLocale( eLang ));
+ CharClass aCC( LanguageTag( SvxCreateLocale( eLang )));
sal_Unicode c0 = sNodeText.GetChar(0);
sal_Bool bIsAlphaNum = aCC.isAlphaNumeric( sNodeText, 0 );
if( !bIsAlphaNum ||
diff --git a/sw/source/core/fields/fldbas.cxx b/sw/source/core/fields/fldbas.cxx
index f2439f1..be7934f 100644
--- a/sw/source/core/fields/fldbas.cxx
+++ b/sw/source/core/fields/fldbas.cxx
@@ -597,7 +597,7 @@ SwFieldType* SwValueField::ChgTyp( SwFieldType* pNewType )
sal_uInt32 SwValueField::GetSystemFormat(SvNumberFormatter* pFormatter, sal_uInt32 nFmt)
{
const SvNumberformat* pEntry = pFormatter->GetEntry(nFmt);
- sal_uInt16 nLng = SvxLocaleToLanguage( SvtSysLocale().GetLocaleData().getLocale() );
+ sal_uInt16 nLng = SvxLocaleToLanguage( SvtSysLocale().GetLanguageTag().getLocale() );
if (pEntry && nLng != pEntry->GetLanguage())
{
diff --git a/sw/source/core/fields/reffld.cxx b/sw/source/core/fields/reffld.cxx
index 6690cea..bec55fb 100644
--- a/sw/source/core/fields/reffld.cxx
+++ b/sw/source/core/fields/reffld.cxx
@@ -470,7 +470,7 @@ void SwGetRefField::UpdateField( const SwTxtFld* pFldTxtAttr )
if( !pFldTxtAttr || !pFldTxtAttr->GetpTxtNode() )
break;
- LocaleDataWrapper aLocaleData( SvxCreateLocale( GetLanguage() ) );
+ LocaleDataWrapper aLocaleData( LanguageTag( SvxCreateLocale( GetLanguage() )) );
// erstmal ein "Kurz" - Test - falls beide im selben
// Node stehen!
diff --git a/sw/source/core/tox/txmsrt.cxx b/sw/source/core/tox/txmsrt.cxx
index 135572f..0e2cb2a 100644
--- a/sw/source/core/tox/txmsrt.cxx
+++ b/sw/source/core/tox/txmsrt.cxx
@@ -100,7 +100,7 @@ void SwTOXInternational::Init()
else
pIndexWrapper->LoadAlgorithm( aLcl, sSortAlgorithm, SW_COLLATOR_IGNORES );
- pCharClass = new CharClass( aLcl );
+ pCharClass = new CharClass( LanguageTag( aLcl ));
}
diff --git a/sw/source/core/txtnode/txtedt.cxx b/sw/source/core/txtnode/txtedt.cxx
index f0d6980..c9a13b3 100644
--- a/sw/source/core/txtnode/txtedt.cxx
+++ b/sw/source/core/txtnode/txtedt.cxx
@@ -750,7 +750,7 @@ sal_Bool SwScanner::NextWord()
Boundary aBound;
CharClass& rCC = GetAppCharClass();
- lang::Locale aOldLocale = rCC.getLocale();
+ LanguageTag aOldLanguageTag = rCC.getLanguageTag();
while ( true )
{
@@ -769,7 +769,7 @@ sal_Bool SwScanner::NextWord()
if ( nWordType != i18n::WordType::WORD_COUNT )
{
- rCC.setLocale( pBreakIt->GetLocale( aCurrLang ) );
+ rCC.setLanguageTag( LanguageTag( pBreakIt->GetLocale( aCurrLang )) );
if ( rCC.isLetterNumeric(rtl::OUString(aText[nBegin])) )
break;
}
@@ -802,7 +802,7 @@ sal_Bool SwScanner::NextWord()
break;
} // end while( true )
- rCC.setLocale( aOldLocale );
+ rCC.setLanguageTag( aOldLanguageTag );
// #i89042, as discussed with HDU: don't evaluate script changes for word count. Use whole word.
if ( nWordType == i18n::WordType::WORD_COUNT )
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
index 1c520aa..632a569 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -2343,7 +2343,7 @@ bool MSWordExportBase::GetNumberFmt(const SwField& rFld, String& rStr)
{
sal_uInt16 nLng = rFld.GetLanguage();
LocaleDataWrapper aLocDat(comphelper::getComponentContext(pNFmtr->GetServiceManager()),
- LanguageTag(nLng).getLocale());
+ LanguageTag(nLng));
String sFmt(pNumFmt->GetMappedFormatstring(GetNfKeywordTable(),
aLocDat));
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index 925543b..c00338e 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -5589,8 +5589,8 @@ WW8Fib::WW8Fib(sal_uInt8 nVer)
lidFE = lid;
Locale aTempLocale;
- SvxLanguageToLocale( aTempLocale, lid );
- LocaleDataWrapper aLocaleWrapper( aTempLocale );
+ LanguageTag aLanguageTag( SvxLanguageToLocale( aTempLocale, lid ));
+ LocaleDataWrapper aLocaleWrapper( aLanguageTag );
nNumDecimalSep = aLocaleWrapper.getNumDecimalSep()[0];
}
diff --git a/sw/source/ui/app/docstyle.cxx b/sw/source/ui/app/docstyle.cxx
index ca7e2ac..e86b6dd 100644
--- a/sw/source/ui/app/docstyle.cxx
+++ b/sw/source/ui/app/docstyle.cxx
@@ -584,7 +584,7 @@ String SwDocStyleSheet::GetDescription(SfxMapUnit eUnit)
{
IntlWrapper aIntlWrapper(
::comphelper::getProcessServiceFactory(),
- SvtSysLocale().GetLocaleData().getLocale());
+ SvtSysLocale().GetLanguageTag());
rtl::OUString sPlus(" + ");
if ( SFX_STYLE_FAMILY_PAGE == nFamily )
diff --git a/sw/source/ui/fldui/fldmgr.cxx b/sw/source/ui/fldui/fldmgr.cxx
index bd5df73..e5ad5db 100644
--- a/sw/source/ui/fldui/fldmgr.cxx
+++ b/sw/source/ui/fldui/fldmgr.cxx
@@ -1605,7 +1605,7 @@ sal_uInt16 SwFldMgr::GetCurrLanguage() const
SwWrtShell* pSh = pWrtShell ? pWrtShell : ::lcl_GetShell();
if( pSh )
return pSh->GetCurLang();
- return SvxLocaleToLanguage( SvtSysLocale().GetLocaleData().getLocale() );
+ return SvxLocaleToLanguage( SvtSysLocale().GetLanguageTag().getLocale() );
}
void SwFieldType::_GetFldName()
diff --git a/sw/source/ui/fldui/inpdlg.cxx b/sw/source/ui/fldui/inpdlg.cxx
index 1716206..e71b646 100644
--- a/sw/source/ui/fldui/inpdlg.cxx
+++ b/sw/source/ui/fldui/inpdlg.cxx
@@ -111,7 +111,7 @@ SwFldInputDlg::SwFldInputDlg( Window *pParent, SwWrtShell &rS,
pSetFld = (SwSetExpField*)pField;
String sFormula(pSetFld->GetFormula());
//values are formatted - formulas are not
- CharClass aCC( SvxCreateLocale( pSetFld->GetLanguage() ));
+ CharClass aCC( LanguageTag( SvxCreateLocale( pSetFld->GetLanguage() )));
if( aCC.isNumeric( sFormula ))
{
aStr = pSetFld->ExpandField(true);
diff --git a/sw/source/ui/utlui/attrdesc.cxx b/sw/source/ui/utlui/attrdesc.cxx
index 2bcc852..ef37907 100644
--- a/sw/source/ui/utlui/attrdesc.cxx
+++ b/sw/source/ui/utlui/attrdesc.cxx
@@ -83,7 +83,7 @@ void SwAttrSet::GetPresentation(
{
SfxItemIter aIter( *this );
const IntlWrapper rInt( ::comphelper::getProcessServiceFactory(),
- GetAppLanguage() );
+ LanguageTag( GetAppLanguage()) );
while( sal_True )
{
aIter.GetCurItem()->GetPresentation( ePres, eCoreMetric,
diff --git a/sw/source/ui/utlui/numfmtlb.cxx b/sw/source/ui/utlui/numfmtlb.cxx
index 71def9e..430ab33 100644
--- a/sw/source/ui/utlui/numfmtlb.cxx
+++ b/sw/source/ui/utlui/numfmtlb.cxx
@@ -103,7 +103,7 @@ void NumFormatListBox::Init(short nFormatType, sal_Bool bUsrFmts)
if (pView)
eCurLanguage = pView->GetWrtShell().GetCurLang();
else
- eCurLanguage = SvxLocaleToLanguage( SvtSysLocale().GetLocaleData().getLocale() );
+ eCurLanguage = SvxLocaleToLanguage( SvtSysLocale().GetLanguageTag().getLocale() );
if (bUsrFmts == sal_False)
{
diff --git a/toolkit/source/controls/unocontrolmodel.cxx b/toolkit/source/controls/unocontrolmodel.cxx
index 94ad6cb..4bff901 100644
--- a/toolkit/source/controls/unocontrolmodel.cxx
+++ b/toolkit/source/controls/unocontrolmodel.cxx
@@ -328,17 +328,9 @@ sal_Bool UnoControlModel::ImplHasProperty( sal_uInt16 nPropId ) const
sDefaultCurrency = sDefaultCurrency.copy( nSepPos + 1 );
}
- // the remaming is the locale
- /* FIXME-BCP47: handle language tags! */
- Locale aLocale;
- nSepPos = sDefaultCurrency.indexOf( '-' );
- if ( nSepPos >= 0 )
- {
- aLocale.Language = sDefaultCurrency.copy( 0, nSepPos );
- aLocale.Country = sDefaultCurrency.copy( nSepPos + 1 );
- }
-
- LocaleDataWrapper aLocaleInfo( maContext.getUNOContext(), aLocale );
+ // the remaining is the locale
+ LanguageTag aLanguageTag( sDefaultCurrency);
+ LocaleDataWrapper aLocaleInfo( maContext.getUNOContext(), aLanguageTag );
if ( sBankSymbol.isEmpty() )
sBankSymbol = aLocaleInfo.getCurrBankSymbol();
diff --git a/unotools/inc/unotools/charclass.hxx b/unotools/inc/unotools/charclass.hxx
index 7443210..c08e84c 100644
--- a/unotools/inc/unotools/charclass.hxx
+++ b/unotools/inc/unotools/charclass.hxx
@@ -23,6 +23,7 @@
#include <ctype.h> // isdigit(), isalpha()
#include <boost/noncopyable.hpp>
+#include <i18npool/languagetag.hxx>
#include <tools/string.hxx>
#include <tools/solar.h>
#include <com/sun/star/i18n/KCharacterType.hpp>
@@ -68,7 +69,7 @@ const sal_Int32 nCharClassNumericTypeMask =
class UNOTOOLS_DLLPUBLIC CharClass : private boost::noncopyable
{
- ::com::sun::star::lang::Locale aLocale;
+ LanguageTag maLanguageTag;
::com::sun::star::uno::Reference< ::com::sun::star::i18n::XCharacterClassification > xCC;
mutable ::osl::Mutex aMutex;
@@ -76,19 +77,19 @@ public:
/// Preferred ctor with service manager specified
CharClass(
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > & rxContext,
- const ::com::sun::star::lang::Locale& rLocale);
+ const LanguageTag& rLanguageTag );
/// Depricated ctor, tries to get a process service manager or to load the
/// library directly.
- CharClass(const ::com::sun::star::lang::Locale& rLocale);
+ CharClass( const LanguageTag& rLanguageTag );
~CharClass();
/// set a new Locale
- void setLocale( const ::com::sun::star::lang::Locale& rLocale );
+ void setLanguageTag( const LanguageTag& rLanguageTag );
/// get current Locale
- const ::com::sun::star::lang::Locale& getLocale() const;
+ const LanguageTag& getLanguageTag() const;
/// isdigit() on ascii values
@@ -213,6 +214,10 @@ public:
sal_Bool isNumeric( const String& rStr ) const;
sal_Bool isAlphaNumeric( const String& rStr ) const;
sal_Bool isLetterNumeric( const String& rStr ) const;
+
+private:
+
+ const ::com::sun::star::lang::Locale & getMyLocale() const;
};
#endif // _UNOTOOLS_CHARCLASS_HXX
diff --git a/unotools/inc/unotools/intlwrapper.hxx b/unotools/inc/unotools/intlwrapper.hxx
index fa26250..7d16652 100644
--- a/unotools/inc/unotools/intlwrapper.hxx
+++ b/unotools/inc/unotools/intlwrapper.hxx
@@ -48,7 +48,7 @@ class UNOTOOLS_DLLPUBLIC IntlWrapper
{
private:
- LanguageTag aLanguageTag;
+ LanguageTag maLanguageTag;
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xSMgr;
LocaleDataWrapper* pLocaleData;
@@ -62,16 +62,11 @@ private:
public:
IntlWrapper(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & xSF,
- const ::com::sun::star::lang::Locale& rLocale
- );
- IntlWrapper(
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & xSF,
- LanguageType eLang
+ const LanguageTag& rLanguageTag
);
~IntlWrapper();
- LanguageType getLanguage() const { return aLanguageTag.getLanguageType(); }
- const ::com::sun::star::lang::Locale& getLocale() const { return aLanguageTag.getLocale(); }
+ const LanguageTag& getLanguageTag() const { return maLanguageTag; }
const LocaleDataWrapper* getLocaleData() const
{
diff --git a/unotools/inc/unotools/localedatawrapper.hxx b/unotools/inc/unotools/localedatawrapper.hxx
index 1198895..1db497a 100644
--- a/unotools/inc/unotools/localedatawrapper.hxx
+++ b/unotools/inc/unotools/localedatawrapper.hxx
@@ -26,6 +26,7 @@
#include <com/sun/star/i18n/LocaleItem.hpp>
#include <com/sun/star/i18n/reservedWords.hpp>
#include <rtl/ustring.hxx>
+#include <i18npool/languagetag.hxx>
#include <unotools/readwritemutexguard.hxx>
#include "unotools/unotoolsdllapi.h"
@@ -58,7 +59,7 @@ class UNOTOOLS_DLLPUBLIC LocaleDataWrapper : private boost::noncopyable
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
::com::sun::star::uno::Reference< ::com::sun::star::i18n::XLocaleData4 > xLD;
- ::com::sun::star::lang::Locale aLocale;
+ LanguageTag maLanguageTag;
::boost::shared_ptr< ::com::sun::star::i18n::Calendar2 > xDefaultCalendar;
::com::sun::star::i18n::LocaleDataItem aLocaleDataItem;
::com::sun::star::uno::Sequence< ::rtl::OUString > aReservedWordSeq;
@@ -112,10 +113,10 @@ class UNOTOOLS_DLLPUBLIC LocaleDataWrapper : private boost::noncopyable
public:
LocaleDataWrapper(
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > & rxContext,
- const ::com::sun::star::lang::Locale& rLocale
+ const LanguageTag& rLanguageTag
);
LocaleDataWrapper(
- const ::com::sun::star::lang::Locale& rLocale
+ const LanguageTag& rLanguageTag
);
~LocaleDataWrapper();
@@ -129,13 +130,13 @@ public:
const { return m_xContext; }
/// set a new Locale to request
- void setLocale( const ::com::sun::star::lang::Locale& rLocale );
+ void setLanguageTag( const LanguageTag& rLanguageTag );
/// get current requested Locale
- const ::com::sun::star::lang::Locale& getLocale() const;
+ const LanguageTag& getLanguageTag() const;
/// get current loaded Locale, which might differ from the requested Locale
- ::com::sun::star::lang::Locale getLoadedLocale() const;
+ LanguageTag getLoadedLanguageTag() const;
// Wrapper implementations of service LocaleData
@@ -349,6 +350,9 @@ public:
static void outputCheckMessage( const char* pStr);
private:
+
+ const ::com::sun::star::lang::Locale & getMyLocale() const;
+
static void evaluateLocaleDataChecking();
};
diff --git a/unotools/source/i18n/charclass.cxx b/unotools/source/i18n/charclass.cxx
index fa718cb..bfa85dc 100644
--- a/unotools/source/i18n/charclass.cxx
+++ b/unotools/source/i18n/charclass.cxx
@@ -32,18 +32,20 @@ using namespace ::com::sun::star::uno;
CharClass::CharClass(
const Reference< uno::XComponentContext > & rxContext,
- const lang::Locale& rLocale
+ const LanguageTag& rLanguageTag
)
+ :
+ maLanguageTag( rLanguageTag)
{
- setLocale( rLocale );
xCC = CharacterClassification::create( rxContext );
}
CharClass::CharClass(
- const ::com::sun::star::lang::Locale& rLocale )
+ const LanguageTag& rLanguageTag )
+ :
+ maLanguageTag( rLanguageTag)
{
- setLocale( rLocale );
xCC = CharacterClassification::create( comphelper::getProcessComponentContext() );
}
@@ -53,19 +55,24 @@ CharClass::~CharClass()
}
-void CharClass::setLocale( const ::com::sun::star::lang::Locale& rLocale )
+void CharClass::setLanguageTag( const LanguageTag& rLanguageTag )
{
::osl::MutexGuard aGuard( aMutex );
- aLocale.Language = rLocale.Language;
- aLocale.Country = rLocale.Country;
- aLocale.Variant = rLocale.Variant;
+ maLanguageTag = rLanguageTag;
}
-const ::com::sun::star::lang::Locale& CharClass::getLocale() const
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list