diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2018-12-07 13:10:57 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2019-06-18 13:58:30 +0200 |
commit | b833372df8d06c69809b656137826c3ca8dd53f8 (patch) | |
tree | 7ca7190a550eb4f622541506b159149a707d527d | |
parent | 8f1ecdc9e874de1e49f6a47789bb0cceeea1221b (diff) |
tdf#121779: extend TWo CApitals list to also ignore sMALL iNITIALS
Now this list is used also in rules for capitalizing first letter of
every sentence, and for correcting accidental use of Caps Lock key.
Change-Id: I4fbdbccbae32743d5e9a6757344361eefd88e167
Reviewed-on: https://gerrit.libreoffice.org/64759
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com>
Reviewed-by: Sophie Gautier <gautier.sophie@gmail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 7bf6d0d9d8e3e2e07726ca6df246619ee1ead3a3)
Reviewed-on: https://gerrit.libreoffice.org/74258
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r-- | cui/uiconfig/ui/acorexceptpage.ui | 6 | ||||
-rw-r--r-- | editeng/source/misc/svxacorr.cxx | 8 | ||||
-rw-r--r-- | include/editeng/svxacorr.hxx | 8 | ||||
-rw-r--r-- | officecfg/registry/schema/org/openoffice/Office/Common.xcs | 9 |
4 files changed, 19 insertions, 12 deletions
diff --git a/cui/uiconfig/ui/acorexceptpage.ui b/cui/uiconfig/ui/acorexceptpage.ui index b1568fbd3bed..505457430969 100644 --- a/cui/uiconfig/ui/acorexceptpage.ui +++ b/cui/uiconfig/ui/acorexceptpage.ui @@ -289,7 +289,7 @@ <property name="use_stock">True</property> <child internal-child="accessible"> <object class="AtkObject" id="newdouble-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="acorexceptpage|newdouble-atkobject">New words with two initial capitals</property> + <property name="AtkObject::accessible-description" translatable="yes" context="acorexceptpage|newdouble-atkobject">New words with two initial capitals or small initial</property> </object> </child> </object> @@ -325,7 +325,7 @@ <property name="use_stock">True</property> <child internal-child="accessible"> <object class="AtkObject" id="deldouble-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="acorexceptpage|deldouble-atkobject">Delete words with two initial capitals</property> + <property name="AtkObject::accessible-description" translatable="yes" context="acorexceptpage|deldouble-atkobject">Delete words with two initial capitals or small initial</property> </object> </child> </object> @@ -394,7 +394,7 @@ <object class="GtkLabel" id="label2"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="label" translatable="yes" context="acorexceptpage|label2">Words With TWo INitial CApitals</property> + <property name="label" translatable="yes" context="acorexceptpage|label2">Words With TWo INitial CApitals or sMALL iNITIAL</property> <attributes> <attribute name="weight" value="bold"/> </attributes> diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx index e1a32bb154b5..0f06586be272 100644 --- a/editeng/source/misc/svxacorr.cxx +++ b/editeng/source/misc/svxacorr.cxx @@ -900,6 +900,10 @@ void SvxAutoCorrect::FnCapitalStartSentence( SvxAutoCorrDoc& rDoc, return; // no valid separator -> no replacement } + // No replacement for words in TWo INitial CApitals or sMALL iNITIAL list + if (FindInWrdSttExceptList(eLang, OUString(pWordStt, pDelim - pWordStt))) + return; + if( bAtStart ) // at the beginning of a paragraph? { // Check out the previous paragraph, if it exists. @@ -1114,6 +1118,10 @@ bool SvxAutoCorrect::FnCorrectCapsLock( SvxAutoCorrDoc& rDoc, const OUString& rT aConverted.append( rCC.uppercase(OUString(rTxt[nSttPos])) ); aConverted.append( rCC.lowercase(OUString(rTxt[nSttPos+1])) ); + // No replacement for words in TWo INitial CApitals or sMALL iNITIAL list + if (FindInWrdSttExceptList(eLang, rTxt.copy(nSttPos, nEndPos - nSttPos))) + return false; + for( sal_Int32 i = nSttPos+2; i < nEndPos; ++i ) { if ( IsLowerLetter(rCC.getCharacterType(rTxt, i)) ) diff --git a/include/editeng/svxacorr.hxx b/include/editeng/svxacorr.hxx index 988680984e12..311ed4cfadf7 100644 --- a/include/editeng/svxacorr.hxx +++ b/include/editeng/svxacorr.hxx @@ -67,7 +67,7 @@ enum class ACFlags : sal_uInt32 { Autocorrect = 0x00000080, // Call AutoCorrect ChgQuotes = 0x00000100, // replace double quotes SaveWordCplSttLst = 0x00000200, // Save Auto correction of Capital letter at beginning of sentence. - SaveWordWrdSttLst = 0x00000400, // Save Auto correction of 2 Capital letter at beginning of word. + SaveWordWrdSttLst = 0x00000400, // Save Auto correction of TWo INitial CApitals or sMALL iNITIAL. IgnoreDoubleSpace = 0x00000800, // Ignore 2 Spaces ChgSglQuotes = 0x00001000, // Replace simple quotes CorrectCapsLock = 0x00002000, // Correct accidental use of cAPS LOCK key @@ -209,8 +209,7 @@ public: SvStringsISortDtor* GetCplSttExceptList(); bool AddToCplSttExceptList(const OUString& rNew); - // Load, Set, Get the exception list for 2 Capital letters at the - // beginning of a word. + // Load, Set, Get the exception list for TWo INitial CApitals or sMALL iNITIAL SvStringsISortDtor* LoadWrdSttExceptList(); void SaveWrdSttExceptList(); SvStringsISortDtor* GetWrdSttExceptList(); @@ -363,8 +362,7 @@ public: // Adds a single word. The list will be immediately written to the file! bool AddCplSttException( const OUString& rNew, LanguageType eLang ); - // Load, Set, Get the exception list for 2 Capital letters at the - // beginning of a word. + // Load, Set, Get the exception list for TWo INitial CApitals or sMALL iNITIAL void SaveWrdSttExceptList( LanguageType eLang ); SvStringsISortDtor* LoadWrdSttExceptList( LanguageType eLang ) { return GetLanguageList_( eLang ).LoadWrdSttExceptList(); } diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs index efb5503924d1..ecc913106447 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs @@ -1417,12 +1417,13 @@ <!-- OldPath: AutoCorrect/Options/All --> <!-- OldLocation: Soffice.cfg --> <!-- UIHints: Tools - AutoCorrect/AutoFormat - Exceptions - Words with - 2 initial capitals --> + 2 initial capitals or small initial --> <info> <desc>Specifies if defined words with two initial capital letters - should not be included in the AutoCorrect replacement.</desc> - <label>Words with two initial capital letters - Add - automatically</label> + or a small initial letter should not be included in the AutoCorrect + replacement.</desc> + <label>Words with two initial capital letters or a small initial - + Add automatically</label> </info> <value>true</value> </prop> |