include/linguistic/misc.hxx | 4 ++++ lingucomponent/source/lingutil/lingutil.cxx | 16 +++++----------- linguistic/source/misc.cxx | 13 +++++++++++++ 3 files changed, 22 insertions(+), 11 deletions(-)
New commits: commit b291852c2f907e5d181b1de43af216f7d03db96a Author: Eike Rathke <er...@redhat.com> Date: Thu Sep 12 19:31:04 2013 +0200 get rid of unnecessary conversion, use LinguIsUnspecified(OUString) Change-Id: Ib1074e3025680306c0a8bf7dcff651cefdcb90ba diff --git a/include/linguistic/misc.hxx b/include/linguistic/misc.hxx index 3d6321e..da5c4dc 100644 --- a/include/linguistic/misc.hxx +++ b/include/linguistic/misc.hxx @@ -111,6 +111,10 @@ LNG_DLLPUBLIC ::com::sun::star::lang::Locale LinguLanguageToLocale( LanguageType */ LNG_DLLPUBLIC bool LinguIsUnspecified( LanguageType nLanguage ); +/** The same as LinguIsUnspecified(LanguageType) but taking a BCP 47 language + tag string instead. */ +LNG_DLLPUBLIC bool LinguIsUnspecified( const OUString & rBcp47 ); + ::com::sun::star::uno::Sequence< sal_Int16 > LocaleSeqToLangSeq( ::com::sun::star::uno::Sequence< ::com::sun::star::lang::Locale > &rLocaleSeq ); diff --git a/lingucomponent/source/lingutil/lingutil.cxx b/lingucomponent/source/lingutil/lingutil.cxx index 48fe7c5..5543a66 100644 --- a/lingucomponent/source/lingutil/lingutil.cxx +++ b/lingucomponent/source/lingutil/lingutil.cxx @@ -208,11 +208,7 @@ void MergeNewStyleDicsAndOldStyleDics( DBG_ASSERT( nOldStyleDics, "old style dictionary with more then one language found!"); if (nOldStyleDics > 0) { - /* TODO: this conversion exists only to check with - * LinguIsUnspecified(), add another check that takes the tag - * string instead. */ - LanguageType nLang = LanguageTag::convertToLanguageTypeWithFallback( aIt2->aLocaleNames[0] ); - if (nLang == LANGUAGE_DONTKNOW || linguistic::LinguIsUnspecified( nLang)) + if (linguistic::LinguIsUnspecified( aIt2->aLocaleNames[0])) { OSL_FAIL( "old style dictionary with invalid language found!" ); continue; diff --git a/linguistic/source/misc.cxx b/linguistic/source/misc.cxx index 867dccf..fe24438 100644 --- a/linguistic/source/misc.cxx +++ b/linguistic/source/misc.cxx @@ -106,6 +106,19 @@ bool LinguIsUnspecified( LanguageType nLanguage ) return false; } +// When adding anything keep both LinguIsUnspecified() methods in sync! +// For mappings between language code string and LanguageType see +// i18nlangtag/source/isolang/isolang.cxx + +bool LinguIsUnspecified( const OUString & rBcp47 ) +{ + if (rBcp47.getLength() != 3) + return false; + if (rBcp47 == "zxx" || rBcp47 == "und" || rBcp47 == "mul") + return true; + return false; +} + static inline sal_Int32 Minimum( sal_Int32 n1, sal_Int32 n2, sal_Int32 n3 ) { sal_Int32 nMin = n1 < n2 ? n1 : n2; commit 2f6551b0167c2651f900b9c727bd74240b493754 Author: Eike Rathke <er...@redhat.com> Date: Thu Sep 12 19:13:53 2013 +0200 a set of LanguageType fallback converted to is utter nonsense here Change-Id: I02881a2a7ab3178521388b76e2413b7e1cd6c443 diff --git a/lingucomponent/source/lingutil/lingutil.cxx b/lingucomponent/source/lingutil/lingutil.cxx index 6afd28c..48fe7c5 100644 --- a/lingucomponent/source/lingutil/lingutil.cxx +++ b/lingucomponent/source/lingutil/lingutil.cxx @@ -185,7 +185,7 @@ void MergeNewStyleDicsAndOldStyleDics( const std::vector< SvtLinguConfigDictionaryEntry > &rOldStyleDics ) { // get list of languages supported by new style dictionaries - std::set< LanguageType > aNewStyleLanguages; + std::set< OUString > aNewStyleLanguages; std::list< SvtLinguConfigDictionaryEntry >::const_iterator aIt; for (aIt = rNewStyleDics.begin() ; aIt != rNewStyleDics.end(); ++aIt) { @@ -193,8 +193,7 @@ void MergeNewStyleDicsAndOldStyleDics( sal_Int32 nLocaleNames = aLocaleNames.getLength(); for (sal_Int32 k = 0; k < nLocaleNames; ++k) { - LanguageType nLang = LanguageTag::convertToLanguageTypeWithFallback( aLocaleNames[k] ); - aNewStyleLanguages.insert( nLang ); + aNewStyleLanguages.insert( aLocaleNames[k] ); } } @@ -209,8 +208,10 @@ void MergeNewStyleDicsAndOldStyleDics( DBG_ASSERT( nOldStyleDics, "old style dictionary with more then one language found!"); if (nOldStyleDics > 0) { + /* TODO: this conversion exists only to check with + * LinguIsUnspecified(), add another check that takes the tag + * string instead. */ LanguageType nLang = LanguageTag::convertToLanguageTypeWithFallback( aIt2->aLocaleNames[0] ); - if (nLang == LANGUAGE_DONTKNOW || linguistic::LinguIsUnspecified( nLang)) { OSL_FAIL( "old style dictionary with invalid language found!" ); @@ -218,7 +219,7 @@ void MergeNewStyleDicsAndOldStyleDics( } // language not yet added? - if (aNewStyleLanguages.find( nLang ) == aNewStyleLanguages.end()) + if (aNewStyleLanguages.find( aIt2->aLocaleNames[0] ) == aNewStyleLanguages.end()) rNewStyleDics.push_back( *aIt2 ); } else commit 22dc925e3580de0a33e61f91fbce654016d31343 Author: Eike Rathke <er...@redhat.com> Date: Thu Sep 12 19:03:06 2013 +0200 no need to count, just find Change-Id: Ia4fa44c2382f6d1f5a6b3fed533f401bcb03be53 diff --git a/lingucomponent/source/lingutil/lingutil.cxx b/lingucomponent/source/lingutil/lingutil.cxx index a8b3a90..6afd28c 100644 --- a/lingucomponent/source/lingutil/lingutil.cxx +++ b/lingucomponent/source/lingutil/lingutil.cxx @@ -218,7 +218,7 @@ void MergeNewStyleDicsAndOldStyleDics( } // language not yet added? - if (aNewStyleLanguages.count( nLang ) == 0) + if (aNewStyleLanguages.find( nLang ) == aNewStyleLanguages.end()) rNewStyleDics.push_back( *aIt2 ); } else commit 349b2c2de1d3cdcfa809bdd538b3dfb743a8513c Author: Eike Rathke <er...@redhat.com> Date: Thu Sep 12 18:54:48 2013 +0200 it's a set, so treat it as such Change-Id: Ia156b27d944bf419a2e0bd45fa65efd4b7f89404 diff --git a/lingucomponent/source/lingutil/lingutil.cxx b/lingucomponent/source/lingutil/lingutil.cxx index 590206c..a8b3a90 100644 --- a/lingucomponent/source/lingutil/lingutil.cxx +++ b/lingucomponent/source/lingutil/lingutil.cxx @@ -160,11 +160,8 @@ std::vector< SvtLinguConfigDictionaryEntry > GetOldStyleDics( const char *pDicTy // Thus we first get the language of the dictionary OUString aLocaleName(aLangTag.getBcp47()); - if (aDicLangInUse.count(aLocaleName) == 0) + if (aDicLangInUse.insert(aLocaleName).second) { - // remember the new language in use - aDicLangInUse.insert(aLocaleName); - // add the dictionary to the resulting vector SvtLinguConfigDictionaryEntry aDicEntry; aDicEntry.aLocations.realloc(1); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits