oox/source/core/xmlfilterbase.cxx | 7 ++- sfx2/source/doc/SfxDocumentMetaData.cxx | 16 +------ sfx2/source/doc/doctemplates.cxx | 37 ++---------------- sfx2/source/menu/thessubmenu.cxx | 8 --- svl/source/config/asiancfg.cxx | 5 -- unodevtools/source/skeletonmaker/cppcompskeleton.cxx | 1 unodevtools/source/skeletonmaker/javacompskeleton.cxx | 1 unotools/source/config/fontcfg.cxx | 24 ----------- 8 files changed, 20 insertions(+), 79 deletions(-)
New commits: commit 5e60674857d3d290f172b8c133c69aeba003b1ce Author: Eike Rathke <er...@redhat.com> Date: Thu Jul 11 19:14:32 2013 +0200 use LanguageTag to convert Change-Id: I11007c31e5b4eea39ce27876de8a65fbf563a5e9 diff --git a/unotools/source/config/fontcfg.cxx b/unotools/source/config/fontcfg.cxx index a529bdc..205746d 100644 --- a/unotools/source/config/fontcfg.cxx +++ b/unotools/source/config/fontcfg.cxx @@ -124,19 +124,9 @@ DefaultFontConfiguration::DefaultFontConfiguration() // fill config hash with empty interfaces int nLocales = aLocales.getLength(); const OUString* pLocaleStrings = aLocales.getConstArray(); - Locale aLoc; for( int i = 0; i < nLocales; i++ ) { - sal_Int32 nIndex = 0; - aLoc.Language = pLocaleStrings[i].getToken( 0, sal_Unicode('-'), nIndex ).toAsciiLowerCase(); - if( nIndex != -1 ) - aLoc.Country = pLocaleStrings[i].getToken( 0, sal_Unicode('-'), nIndex ).toAsciiUpperCase(); - else - aLoc.Country = OUString(); - if( nIndex != -1 ) - aLoc.Variant = pLocaleStrings[i].getToken( 0, sal_Unicode('-'), nIndex ).toAsciiUpperCase(); - else - aLoc.Variant = OUString(); + Locale aLoc( LanguageTag( pLocaleStrings[i]).getLocale( false)); m_aConfig[ aLoc ] = LocaleAccess(); m_aConfig[ aLoc ].aConfigLocaleString = pLocaleStrings[i]; } @@ -389,19 +379,9 @@ FontSubstConfiguration::FontSubstConfiguration() : // fill config hash with empty interfaces int nLocales = aLocales.getLength(); const OUString* pLocaleStrings = aLocales.getConstArray(); - Locale aLoc; for( int i = 0; i < nLocales; i++ ) { - sal_Int32 nIndex = 0; - aLoc.Language = pLocaleStrings[i].getToken( 0, sal_Unicode('-'), nIndex ).toAsciiLowerCase(); - if( nIndex != -1 ) - aLoc.Country = pLocaleStrings[i].getToken( 0, sal_Unicode('-'), nIndex ).toAsciiUpperCase(); - else - aLoc.Country = OUString(); - if( nIndex != -1 ) - aLoc.Variant = pLocaleStrings[i].getToken( 0, sal_Unicode('-'), nIndex ).toAsciiUpperCase(); - else - aLoc.Variant = OUString(); + Locale aLoc( LanguageTag( pLocaleStrings[i]).getLocale( false)); m_aSubst[ aLoc ] = LocaleSubst(); m_aSubst[ aLoc ].aConfigLocaleString = pLocaleStrings[i]; } commit 0f80c06463e63af9f52501469c0c2090b662ae55 Author: Eike Rathke <er...@redhat.com> Date: Thu Jul 11 19:04:04 2013 +0200 added FIXME-BCP47 comment Change-Id: I77416a9e275dc204b3b82807d27b5276ad4f497f diff --git a/unodevtools/source/skeletonmaker/javacompskeleton.cxx b/unodevtools/source/skeletonmaker/javacompskeleton.cxx index 86ba705..7306b12 100644 --- a/unodevtools/source/skeletonmaker/javacompskeleton.cxx +++ b/unodevtools/source/skeletonmaker/javacompskeleton.cxx @@ -402,6 +402,7 @@ void generateXCompatibilityNamesBodies(std::ostream& o) "toString(\n xNameAccess.getByName(sLocale));\n\n" " com.sun.star.lang.Locale aLocale = \n" " new com.sun.star.lang.Locale();\n\n" + /* FIXME-BCP47: this will break. */ " String tokens[] = sLocale.split(\"-\");\n" " int nToken = tokens.length;\n" " if (nToken >= 1) aLocale.Language = tokens[0];\n" commit 7d0f6f671e7f9027b46e9a87e4b3608429ed64ad Author: Eike Rathke <er...@redhat.com> Date: Thu Jul 11 19:01:44 2013 +0200 added FIXME-BCP47 comment Change-Id: I202c53a094ac7ddcbd1fa0d2367058aba56820ed diff --git a/unodevtools/source/skeletonmaker/cppcompskeleton.cxx b/unodevtools/source/skeletonmaker/cppcompskeleton.cxx index 98166ee..3228a8c 100644 --- a/unodevtools/source/skeletonmaker/cppcompskeleton.cxx +++ b/unodevtools/source/skeletonmaker/cppcompskeleton.cxx @@ -386,6 +386,7 @@ void generateXCompatibilityNamesBodies(std::ostream& o, const OString & classnam "xNameAccess->getByName(sLocale) >>= sCompatibilityName;\n\n" " css::lang::Locale aLocale;\n " "::sal_Int32 nIndex = 0, nToken = 0;\n " + /* FIXME-BCP47: this will break. */ "do {\n ::rtl::OUString aToken = sLocale.getToken(0, '-', " "nIndex);\n switch (nToken++) {\n " "case 0:\n aLocale.Language = aToken;\n" commit 759d56352faf463bba11369f1a7be8bed3814f90 Author: Eike Rathke <er...@redhat.com> Date: Thu Jul 11 18:50:13 2013 +0200 use LanguageTag to convert Change-Id: I721f1018e6380a3102b6dd20052001b1e950421b diff --git a/svl/source/config/asiancfg.cxx b/svl/source/config/asiancfg.cxx index 99e36eb..695f762 100644 --- a/svl/source/config/asiancfg.cxx +++ b/svl/source/config/asiancfg.cxx @@ -105,10 +105,7 @@ css::uno::Sequence< css::lang::Locale > SvxAsianConfig::GetStartEndCharLocales() getElementNames()); css::uno::Sequence< css::lang::Locale > ls(ns.getLength()); for (sal_Int32 i = 0; i < ns.getLength(); ++i) { - sal_Int32 n = 0; - ls[i].Language = ns[i].getToken(0, '-', n); - ls[i].Country = ns[i].getToken(0, '-', n); - ls[i].Variant = ns[i].getToken(0, '-', n); + ls[i] = LanguageTag( ns[i]).getLocale( false); } return ls; } commit 96a5c866a94590c993629013c41f00b7d496f70e Author: Eike Rathke <er...@redhat.com> Date: Thu Jul 11 18:47:22 2013 +0200 use LanguageTag to convert Change-Id: Id32a8a75cd24a8acc4dada689a5688767de6745b diff --git a/sfx2/source/menu/thessubmenu.cxx b/sfx2/source/menu/thessubmenu.cxx index 287ed20..3c22420 100644 --- a/sfx2/source/menu/thessubmenu.cxx +++ b/sfx2/source/menu/thessubmenu.cxx @@ -53,13 +53,7 @@ void SfxThesSubMenuHelper::GetLocale( xub_StrLen nDelimPos ) { String aIsoLang( rLookUpString.Copy( nDelimPos + 1) ); - const xub_StrLen nPos = aIsoLang.Search( '-' ); - if (nPos != STRING_NOTFOUND) - { - rLocale.Language = aIsoLang.Copy( 0, nPos ); - rLocale.Country = aIsoLang.Copy( nPos + 1 ); - rLocale.Variant = String::EmptyString(); - } + rLocale = LanguageTag( aIsoLang).getLocale(); } commit a0ab8e389cca3db9fef0547925cdcc6d71e9b43d Author: Eike Rathke <er...@redhat.com> Date: Thu Jul 11 18:44:25 2013 +0200 write bcp47 for dc:language Change-Id: I859eaaba3c852127422bd0d0e0db0f9bd62e0d55 diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx index c9c7892..97b6dc2 100644 --- a/oox/source/core/xmlfilterbase.cxx +++ b/oox/source/core/xmlfilterbase.cxx @@ -506,8 +506,11 @@ writeElement( FSHelperPtr pDoc, sal_Int32 nXmlElement, Sequence< OUString > aIte static void writeElement( FSHelperPtr pDoc, sal_Int32 nXmlElement, const LanguageTag& rLanguageTag ) { - // TODO: what to do with .Country and .Variant - writeElement( pDoc, nXmlElement, rLanguageTag.getLanguage() ); + // dc:language, Dublin Core recommends "such as RFC 4646", which is BCP 47 + // and obsoleted by RFC 5646, see + // http://dublincore.org/documents/dcmi-terms/#terms-language + // http://dublincore.org/documents/dcmi-terms/#elements-language + writeElement( pDoc, nXmlElement, rLanguageTag.getBcp47() ); } static void commit f758c53e87a2e29ccd4d8e11f1426e1d805b2032 Author: Eike Rathke <er...@redhat.com> Date: Thu Jul 11 18:35:28 2013 +0200 use LanguageTag to convert Change-Id: I9209b659eb88df5610882a476dc12ac45527e568 diff --git a/sfx2/source/doc/SfxDocumentMetaData.cxx b/sfx2/source/doc/SfxDocumentMetaData.cxx index f410703..f1e96c6 100644 --- a/sfx2/source/doc/SfxDocumentMetaData.cxx +++ b/sfx2/source/doc/SfxDocumentMetaData.cxx @@ -70,6 +70,7 @@ #include "sot/storage.hxx" #include "sfx2/docfile.hxx" #include "sax/tools/converter.hxx" +#include "i18nlangtag/languagetag.hxx" #include <utility> #include <vector> @@ -1515,15 +1516,7 @@ css::lang::Locale SAL_CALL SfxDocumentMetaData::getLanguage() throw (css::uno::RuntimeException) { ::osl::MutexGuard g(m_aMutex); - css::lang::Locale loc; - OUString text = getMetaText("dc:language"); - sal_Int32 ix = text.indexOf(static_cast<sal_Unicode> ('-')); - if (ix == -1) { - loc.Language = text; - } else { - loc.Language = text.copy(0, ix); - loc.Country = text.copy(ix+1); - } + css::lang::Locale loc( LanguageTag( getMetaText("dc:language")).getLocale( false)); return loc; } @@ -1531,10 +1524,7 @@ void SAL_CALL SfxDocumentMetaData::setLanguage(const css::lang::Locale & the_value) throw (css::uno::RuntimeException) { - OUString text = the_value.Language; - if (!the_value.Country.isEmpty()) { - text += OUString("-").concat(the_value.Country); - } + OUString text( LanguageTag( the_value).getBcp47( false)); setMetaTextAndNotify("dc:language", text); } commit b49892872ef2c73c3f2b745c00baa1c735837ec1 Author: Eike Rathke <er...@redhat.com> Date: Thu Jul 11 18:25:40 2013 +0200 comparing Locales without Variant is now insufficient Previous code also had some odd notion of inequality ... Change-Id: I0e75035a0618a3a0a177d22296155b9ae2a26185 diff --git a/sfx2/source/doc/doctemplates.cxx b/sfx2/source/doc/doctemplates.cxx index 18ebc72..78d8ac2 100644 --- a/sfx2/source/doc/doctemplates.cxx +++ b/sfx2/source/doc/doctemplates.cxx @@ -1133,9 +1133,10 @@ void SfxDocTplService_Impl::setLocale( const Locale &rLocale ) { ::osl::MutexGuard aGuard( maMutex ); - if ( mbLocaleSet && - ( maLocale.Language != rLocale.Language ) && - ( maLocale.Country != rLocale.Country ) ) + if ( mbLocaleSet && ( + ( maLocale.Language != rLocale.Language ) || + ( maLocale.Country != rLocale.Country ) || + ( maLocale.Variant != rLocale.Variant ) ) ) mbIsInitialized = sal_False; maLocale = rLocale; commit 3dd16c6838778b8a947cc5daddc89a354712cb47 Author: Eike Rathke <er...@redhat.com> Date: Thu Jul 11 18:22:27 2013 +0200 use LanguageTag to convert Change-Id: I689bb64664ee36b2e3e8386ebd20cdd95c51142b diff --git a/sfx2/source/doc/doctemplates.cxx b/sfx2/source/doc/doctemplates.cxx index 62c28cc..18ebc72 100644 --- a/sfx2/source/doc/doctemplates.cxx +++ b/sfx2/source/doc/doctemplates.cxx @@ -401,9 +401,7 @@ void SfxDocTplService_Impl::init_Impl() getDefaultLocale(); // convert locale to string - OUString aLang = maLocale.Language; - aLang += OUString( '-' ); - aLang += maLocale.Country; + OUString aLang = LanguageTag( maLocale).getBcp47(); // set maRootContent to the root of the templates hierarchy. Create the // entry if necessary @@ -490,31 +488,7 @@ void SfxDocTplService_Impl::getDefaultLocale() ::osl::MutexGuard aGuard( maMutex ); if ( !mbLocaleSet ) { - OUString aLocale( utl::ConfigManager::getLocale() ); - if ( !aLocale.isEmpty() ) - { - sal_Int32 nPos = aLocale.indexOf( sal_Unicode( '-' ) ); - if ( nPos != -1 ) - { - maLocale.Language = aLocale.copy( 0, nPos ); - nPos = aLocale.indexOf( sal_Unicode( '_' ), nPos + 1 ); - if ( nPos != -1 ) - { - maLocale.Country - = aLocale.copy( maLocale.Language.getLength() + 1, - nPos - maLocale.Language.getLength() - 1 ); - maLocale.Variant - = aLocale.copy( nPos + 1 ); - } - else - { - maLocale.Country - = aLocale.copy( maLocale.Language.getLength() + 1 ); - } - } - - } - + maLocale = LanguageTag( utl::ConfigManager::getLocale()).getLocale( false); mbLocaleSet = sal_True; } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits