summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2018-12-07 13:10:57 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2019-06-18 13:58:30 +0200
commitb833372df8d06c69809b656137826c3ca8dd53f8 (patch)
tree7ca7190a550eb4f622541506b159149a707d527d
parent8f1ecdc9e874de1e49f6a47789bb0cceeea1221b (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.ui6
-rw-r--r--editeng/source/misc/svxacorr.cxx8
-rw-r--r--include/editeng/svxacorr.hxx8
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/Common.xcs9
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>