editeng/source/misc/svxacorr.cxx | 24 ++++++++++++++++++------ extras/CustomTarget_autocorr.mk | 2 +- extras/Package_autocorr.mk | 2 +- include/editeng/svxacorr.hxx | 5 +++-- sw/source/core/edit/acorrect.cxx | 2 +- 5 files changed, 24 insertions(+), 11 deletions(-)
New commits: commit 1f407caeb3f6e2605973458a545547ed82e7da1c Author: Julien Nabet <serval2...@yahoo.fr> Date: Wed Jun 18 21:08:03 2014 +0200 Resolves fdo#79276 Add fallback system for autocorrection of French variants 1) Replace the creation of acor_fr-FR.dat by acor_fr.dat since there's no specific for variants of fr 2) Add a fallback system to use it Reviewed-on: https://gerrit.libreoffice.org/9825 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> Conflicts: editeng/source/misc/svxacorr.cxx include/editeng/svxacorr.hxx sw/source/core/edit/acorrect.cxx Change-Id: Ia3e11fff0f266839dc148077b50c1b2f798d1c50 Reviewed-on: https://gerrit.libreoffice.org/10065 Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> Tested-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx index f0501f3..12413ee 100644 --- a/editeng/source/misc/svxacorr.cxx +++ b/editeng/source/misc/svxacorr.cxx @@ -1560,7 +1560,7 @@ sal_Bool SvxAutoCorrect::CreateLanguageFile( const LanguageTag& rLanguageTag, sa { OSL_ENSURE(pLangTable->find(rLanguageTag) == pLangTable->end(), "Language already exists "); - OUString sUserDirFile( GetAutoCorrFileName( rLanguageTag, sal_True, sal_False )); + OUString sUserDirFile( GetAutoCorrFileName( rLanguageTag, true, false, false )); OUString sShareDirFile( sUserDirFile ); SvxAutoCorrectLanguageListsPtr pLists = 0; @@ -1583,10 +1583,15 @@ sal_Bool SvxAutoCorrect::CreateLanguageFile( const LanguageTag& rLanguageTag, sa aLastFileTable.erase(nFndPos); } } - else if( ( FStatHelper::IsDocument( sUserDirFile ) || - FStatHelper::IsDocument( sShareDirFile = - GetAutoCorrFileName( rLanguageTag, sal_False, sal_False ) ) ) || - ( sShareDirFile = sUserDirFile, bNewFile )) + else if( + ( FStatHelper::IsDocument( sUserDirFile ) || + FStatHelper::IsDocument( sShareDirFile = + GetAutoCorrFileName( rLanguageTag, false, false, false ) ) || + FStatHelper::IsDocument( sShareDirFile = + GetAutoCorrFileName( rLanguageTag, false, false, true) ) + ) || + ( sShareDirFile = sUserDirFile, bNewFile ) + ) { pLists = new SvxAutoCorrectLanguageLists( *this, sShareDirFile, sUserDirFile ); LanguageTag aTmp(rLanguageTag); // this insert() needs a non-const reference @@ -1902,9 +1907,16 @@ sal_Bool SvxAutoCorrect::FindInCplSttExceptList(LanguageType eLang, } OUString SvxAutoCorrect::GetAutoCorrFileName( const LanguageTag& rLanguageTag, - sal_Bool bNewFile, sal_Bool bTst ) const + bool bNewFile, bool bTst, bool bUnlocalized ) const { OUString sRet, sExt( rLanguageTag.getBcp47() ); + if (bUnlocalized) + { + // we don't want variant, so we'll take "fr" instead of "fr-CA" for example + ::std::vector< OUString > vecFallBackStrings = rLanguageTag.getFallbackStrings(false); + if (!vecFallBackStrings.empty()) + sExt = vecFallBackStrings[0]; + } sExt = "_" + sExt + ".dat"; if( bNewFile ) diff --git a/extras/CustomTarget_autocorr.mk b/extras/CustomTarget_autocorr.mk index 66d32f6..ddafa02 100644 --- a/extras/CustomTarget_autocorr.mk +++ b/extras/CustomTarget_autocorr.mk @@ -23,7 +23,7 @@ extras_AUTOCORR_LANGS := \ es:es-ES \ fa:fa-IR \ fi:fi-FI \ - fr:fr-FR \ + fr:fr \ ga-IE:ga-IE \ hr:hr-HR \ hu:hu-HU \ diff --git a/extras/Package_autocorr.mk b/extras/Package_autocorr.mk index e42e3d1..8c71a60 100644 --- a/extras/Package_autocorr.mk +++ b/extras/Package_autocorr.mk @@ -23,7 +23,7 @@ $(eval $(call gb_Package_add_files,extras_autocorr,$(LIBO_SHARE_FOLDER)/autocorr acor_es-ES.dat \ acor_fa-IR.dat \ acor_fi-FI.dat \ - acor_fr-FR.dat \ + acor_fr.dat \ acor_ga-IE.dat \ acor_hr-HR.dat \ acor_hu-HU.dat \ diff --git a/include/editeng/svxacorr.hxx b/include/editeng/svxacorr.hxx index 82b76ce..0f99d2d 100644 --- a/include/editeng/svxacorr.hxx +++ b/include/editeng/svxacorr.hxx @@ -329,8 +329,9 @@ public: // Query/Set the name of the AutoCorrect file // the default is "autocorr.dat" OUString GetAutoCorrFileName( const LanguageTag& rLanguageTag /* = LANGUAGE_SYSTEM */ , - sal_Bool bNewFile = sal_False, - sal_Bool bTstUserExist = sal_False ) const; + bool bNewFile = false, + bool bTstUserExist = false, + bool bUnlocalized = false ) const; // Query/Set the current settings of AutoCorrect long GetFlags() const { return nFlags; } diff --git a/sw/source/core/edit/acorrect.cxx b/sw/source/core/edit/acorrect.cxx index d8f1980..96a00b1 100644 --- a/sw/source/core/edit/acorrect.cxx +++ b/sw/source/core/edit/acorrect.cxx @@ -340,7 +340,7 @@ bool SwAutoCorrDoc::ChgAutoCorrWord( sal_Int32& rSttPos, sal_Int32 nEndPos, } else { - SwTextBlocks aTBlks( rACorrect.GetAutoCorrFileName( aLanguageTag, sal_False, sal_True )); + SwTextBlocks aTBlks( rACorrect.GetAutoCorrFileName( aLanguageTag, false, true, false )); sal_uInt16 nPos = aTBlks.GetIndex( pFnd->GetShort() ); if( USHRT_MAX != nPos && aTBlks.BeginGetDoc( nPos ) ) {
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits