summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2019-11-28 11:13:44 +0100
committerMichael Stahl <michael.stahl@cib.de>2019-12-07 19:58:33 +0100
commitad86ebb1f86f6347ccb9bbe40b0ca080562cbae8 (patch)
treeb598bad7d2ae57861cc57cd81271bd96b9aa9929 /include
parente000187243b9b90f9c8c9110fcd9a82c01ba0fe7 (diff)
tdf#121658 Add option to not hyphenate words in CAPS
* Add checkbox to pagraph dialog * Store property in paragraph model * Move docx import/export from grabbag to paragraph model * Add ODF import/export * Add ODF unit test * Add layout test Change-Id: Id4e7c5a0ad145c042f862995d227c31ae2aa0abd Reviewed-on: https://gerrit.libreoffice.org/83979 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 72bd0df107ee47c4d54fa88b4960d32ea03e9f69) Reviewed-on: https://gerrit.libreoffice.org/84620
Diffstat (limited to 'include')
-rw-r--r--include/editeng/eeitem.hxx109
-rw-r--r--include/editeng/hyphenzoneitem.hxx4
-rw-r--r--include/editeng/memberids.h1
-rw-r--r--include/editeng/unotext.hxx1
-rw-r--r--include/linguistic/lngprophelp.hxx4
-rw-r--r--include/unotools/linguprops.hxx2
-rw-r--r--include/xmloff/xmltoken.hxx1
7 files changed, 68 insertions, 54 deletions
diff --git a/include/editeng/eeitem.hxx b/include/editeng/eeitem.hxx
index be1e249f87bc..9c746ee55b05 100644
--- a/include/editeng/eeitem.hxx
+++ b/include/editeng/eeitem.hxx
@@ -76,65 +76,66 @@ class SvxNumBulletItem;
#define EE_PARA_ASIANCJKSPACING TypedWhichId<SvxScriptSpaceItem>(EE_ITEMS_START+4)
#define EE_PARA_NUMBULLET TypedWhichId<SvxNumBulletItem>(EE_ITEMS_START+5)
#define EE_PARA_HYPHENATE TypedWhichId<SfxBoolItem>(EE_ITEMS_START+6)
-#define EE_PARA_BULLETSTATE TypedWhichId<SfxBoolItem>(EE_ITEMS_START+7)
-#define EE_PARA_OUTLLRSPACE TypedWhichId<SvxLRSpaceItem>(EE_ITEMS_START+8)
-#define EE_PARA_OUTLLEVEL TypedWhichId<SfxInt16Item>(EE_ITEMS_START+9)
-#define EE_PARA_BULLET TypedWhichId<SvxBulletItem>(EE_ITEMS_START+10)
-#define EE_PARA_LRSPACE TypedWhichId<SvxLRSpaceItem>(EE_ITEMS_START+11)
-#define EE_PARA_ULSPACE TypedWhichId<SvxULSpaceItem>(EE_ITEMS_START+12)
-#define EE_PARA_SBL TypedWhichId<SvxLineSpacingItem>(EE_ITEMS_START+13)
-#define EE_PARA_JUST TypedWhichId<SvxAdjustItem>(EE_ITEMS_START+14)
-#define EE_PARA_TABS TypedWhichId<SvxTabStopItem>(EE_ITEMS_START+15)
-#define EE_PARA_JUST_METHOD TypedWhichId<SvxJustifyMethodItem>(EE_ITEMS_START+16)
-#define EE_PARA_VER_JUST TypedWhichId<SvxVerJustifyItem>(EE_ITEMS_START+17)
-#define EE_PARA_END (EE_ITEMS_START+17)
+#define EE_PARA_HYPHENATE_NO_CAPS TypedWhichId<SfxBoolItem>(EE_ITEMS_START+7)
+#define EE_PARA_BULLETSTATE TypedWhichId<SfxBoolItem>(EE_ITEMS_START+8)
+#define EE_PARA_OUTLLRSPACE TypedWhichId<SvxLRSpaceItem>(EE_ITEMS_START+9)
+#define EE_PARA_OUTLLEVEL TypedWhichId<SfxInt16Item>(EE_ITEMS_START+10)
+#define EE_PARA_BULLET TypedWhichId<SvxBulletItem>(EE_ITEMS_START+11)
+#define EE_PARA_LRSPACE TypedWhichId<SvxLRSpaceItem>(EE_ITEMS_START+12)
+#define EE_PARA_ULSPACE TypedWhichId<SvxULSpaceItem>(EE_ITEMS_START+13)
+#define EE_PARA_SBL TypedWhichId<SvxLineSpacingItem>(EE_ITEMS_START+14)
+#define EE_PARA_JUST TypedWhichId<SvxAdjustItem>(EE_ITEMS_START+15)
+#define EE_PARA_TABS TypedWhichId<SvxTabStopItem>(EE_ITEMS_START+16)
+#define EE_PARA_JUST_METHOD TypedWhichId<SvxJustifyMethodItem>(EE_ITEMS_START+17)
+#define EE_PARA_VER_JUST TypedWhichId<SvxVerJustifyItem>(EE_ITEMS_START+18)
+#define EE_PARA_END (EE_ITEMS_START+18)
// Character attributes:
-#define EE_CHAR_START (EE_ITEMS_START+18)
-#define EE_CHAR_COLOR TypedWhichId<SvxColorItem>(EE_ITEMS_START+18)
-#define EE_CHAR_FONTINFO TypedWhichId<SvxFontItem>(EE_ITEMS_START+19)
-#define EE_CHAR_FONTHEIGHT TypedWhichId<SvxFontHeightItem>(EE_ITEMS_START+20)
-#define EE_CHAR_FONTWIDTH TypedWhichId<SvxCharScaleWidthItem>(EE_ITEMS_START+21)
-#define EE_CHAR_WEIGHT TypedWhichId<SvxWeightItem>(EE_ITEMS_START+22)
-#define EE_CHAR_UNDERLINE TypedWhichId<SvxUnderlineItem>(EE_ITEMS_START+23)
-#define EE_CHAR_STRIKEOUT TypedWhichId<SvxCrossedOutItem>(EE_ITEMS_START+24)
-#define EE_CHAR_ITALIC TypedWhichId<SvxPostureItem>(EE_ITEMS_START+25)
-#define EE_CHAR_OUTLINE TypedWhichId<SvxContourItem>(EE_ITEMS_START+26)
-#define EE_CHAR_SHADOW TypedWhichId<SvxShadowedItem>(EE_ITEMS_START+27)
-#define EE_CHAR_ESCAPEMENT TypedWhichId<SvxEscapementItem>(EE_ITEMS_START+28)
-#define EE_CHAR_PAIRKERNING TypedWhichId<SvxAutoKernItem>(EE_ITEMS_START+29)
-#define EE_CHAR_KERNING TypedWhichId<SvxKerningItem>(EE_ITEMS_START+30)
-#define EE_CHAR_WLM TypedWhichId<SvxWordLineModeItem>(EE_ITEMS_START+31)
-#define EE_CHAR_LANGUAGE TypedWhichId<SvxLanguageItem>(EE_ITEMS_START+32)
-#define EE_CHAR_LANGUAGE_CJK TypedWhichId<SvxLanguageItem>(EE_ITEMS_START+33)
-#define EE_CHAR_LANGUAGE_CTL TypedWhichId<SvxLanguageItem>(EE_ITEMS_START+34)
-#define EE_CHAR_FONTINFO_CJK TypedWhichId<SvxFontItem>(EE_ITEMS_START+35)
-#define EE_CHAR_FONTINFO_CTL TypedWhichId<SvxFontItem>(EE_ITEMS_START+36)
-#define EE_CHAR_FONTHEIGHT_CJK TypedWhichId<SvxFontHeightItem>(EE_ITEMS_START+37)
-#define EE_CHAR_FONTHEIGHT_CTL TypedWhichId<SvxFontHeightItem>(EE_ITEMS_START+38)
-#define EE_CHAR_WEIGHT_CJK TypedWhichId<SvxWeightItem>(EE_ITEMS_START+39)
-#define EE_CHAR_WEIGHT_CTL TypedWhichId<SvxWeightItem>(EE_ITEMS_START+40)
-#define EE_CHAR_ITALIC_CJK TypedWhichId<SvxPostureItem>(EE_ITEMS_START+41)
-#define EE_CHAR_ITALIC_CTL TypedWhichId<SvxPostureItem>(EE_ITEMS_START+42)
-#define EE_CHAR_EMPHASISMARK TypedWhichId<SvxEmphasisMarkItem>(EE_ITEMS_START+43)
-#define EE_CHAR_RELIEF TypedWhichId<SvxCharReliefItem>(EE_ITEMS_START+44)
-#define EE_CHAR_RUBI_DUMMY TypedWhichId<SfxVoidItem>(EE_ITEMS_START+45)
-#define EE_CHAR_XMLATTRIBS TypedWhichId<SvXMLAttrContainerItem>(EE_ITEMS_START+46)
-#define EE_CHAR_OVERLINE TypedWhichId<SvxOverlineItem>(EE_ITEMS_START+47)
-#define EE_CHAR_CASEMAP TypedWhichId<SvxCaseMapItem>(EE_ITEMS_START+48)
-#define EE_CHAR_GRABBAG TypedWhichId<SfxGrabBagItem>(EE_ITEMS_START+49)
-#define EE_CHAR_BKGCOLOR TypedWhichId<SvxBackgroundColorItem>(EE_ITEMS_START+50)
+#define EE_CHAR_START (EE_ITEMS_START+19)
+#define EE_CHAR_COLOR TypedWhichId<SvxColorItem>(EE_CHAR_START+0)
+#define EE_CHAR_FONTINFO TypedWhichId<SvxFontItem>(EE_CHAR_START+1)
+#define EE_CHAR_FONTHEIGHT TypedWhichId<SvxFontHeightItem>(EE_CHAR_START+2)
+#define EE_CHAR_FONTWIDTH TypedWhichId<SvxCharScaleWidthItem>(EE_CHAR_START+3)
+#define EE_CHAR_WEIGHT TypedWhichId<SvxWeightItem>(EE_CHAR_START+4)
+#define EE_CHAR_UNDERLINE TypedWhichId<SvxUnderlineItem>(EE_CHAR_START+5)
+#define EE_CHAR_STRIKEOUT TypedWhichId<SvxCrossedOutItem>(EE_CHAR_START+6)
+#define EE_CHAR_ITALIC TypedWhichId<SvxPostureItem>(EE_CHAR_START+7)
+#define EE_CHAR_OUTLINE TypedWhichId<SvxContourItem>(EE_CHAR_START+8)
+#define EE_CHAR_SHADOW TypedWhichId<SvxShadowedItem>(EE_CHAR_START+9)
+#define EE_CHAR_ESCAPEMENT TypedWhichId<SvxEscapementItem>(EE_CHAR_START+10)
+#define EE_CHAR_PAIRKERNING TypedWhichId<SvxAutoKernItem>(EE_CHAR_START+11)
+#define EE_CHAR_KERNING TypedWhichId<SvxKerningItem>(EE_CHAR_START+12)
+#define EE_CHAR_WLM TypedWhichId<SvxWordLineModeItem>(EE_CHAR_START+13)
+#define EE_CHAR_LANGUAGE TypedWhichId<SvxLanguageItem>(EE_CHAR_START+14)
+#define EE_CHAR_LANGUAGE_CJK TypedWhichId<SvxLanguageItem>(EE_CHAR_START+15)
+#define EE_CHAR_LANGUAGE_CTL TypedWhichId<SvxLanguageItem>(EE_CHAR_START+16)
+#define EE_CHAR_FONTINFO_CJK TypedWhichId<SvxFontItem>(EE_CHAR_START+17)
+#define EE_CHAR_FONTINFO_CTL TypedWhichId<SvxFontItem>(EE_CHAR_START+18)
+#define EE_CHAR_FONTHEIGHT_CJK TypedWhichId<SvxFontHeightItem>(EE_CHAR_START+19)
+#define EE_CHAR_FONTHEIGHT_CTL TypedWhichId<SvxFontHeightItem>(EE_CHAR_START+20)
+#define EE_CHAR_WEIGHT_CJK TypedWhichId<SvxWeightItem>(EE_CHAR_START+21)
+#define EE_CHAR_WEIGHT_CTL TypedWhichId<SvxWeightItem>(EE_CHAR_START+22)
+#define EE_CHAR_ITALIC_CJK TypedWhichId<SvxPostureItem>(EE_CHAR_START+23)
+#define EE_CHAR_ITALIC_CTL TypedWhichId<SvxPostureItem>(EE_CHAR_START+24)
+#define EE_CHAR_EMPHASISMARK TypedWhichId<SvxEmphasisMarkItem>(EE_CHAR_START+25)
+#define EE_CHAR_RELIEF TypedWhichId<SvxCharReliefItem>(EE_CHAR_START+26)
+#define EE_CHAR_RUBI_DUMMY TypedWhichId<SfxVoidItem>(EE_CHAR_START+27)
+#define EE_CHAR_XMLATTRIBS TypedWhichId<SvXMLAttrContainerItem>(EE_CHAR_START+28)
+#define EE_CHAR_OVERLINE TypedWhichId<SvxOverlineItem>(EE_CHAR_START+29)
+#define EE_CHAR_CASEMAP TypedWhichId<SvxCaseMapItem>(EE_CHAR_START+30)
+#define EE_CHAR_GRABBAG TypedWhichId<SfxGrabBagItem>(EE_CHAR_START+31)
+#define EE_CHAR_BKGCOLOR TypedWhichId<SvxBackgroundColorItem>(EE_CHAR_START+32)
-#define EE_CHAR_END (EE_ITEMS_START+50)
+#define EE_CHAR_END (EE_CHAR_START+32)
-#define EE_FEATURE_START (EE_ITEMS_START+51)
-#define EE_FEATURE_TAB (EE_ITEMS_START+51)
-#define EE_FEATURE_LINEBR (EE_ITEMS_START+52)
-#define EE_FEATURE_NOTCONV (EE_ITEMS_START+53)
-#define EE_FEATURE_FIELD (EE_ITEMS_START+54)
-#define EE_FEATURE_END (EE_ITEMS_START+54)
+#define EE_FEATURE_START (EE_CHAR_END+1)
+#define EE_FEATURE_TAB (EE_FEATURE_START+0)
+#define EE_FEATURE_LINEBR (EE_FEATURE_TAB+1)
+#define EE_FEATURE_NOTCONV (EE_FEATURE_LINEBR+1)
+#define EE_FEATURE_FIELD (EE_FEATURE_NOTCONV+1)
+#define EE_FEATURE_END (EE_FEATURE_FIELD+0)
-#define EE_ITEMS_END (EE_ITEMS_START+54)
+#define EE_ITEMS_END (EE_FEATURE_END)
#define EDITITEMCOUNT ( EE_ITEMS_END - EE_ITEMS_START + 1 )
diff --git a/include/editeng/hyphenzoneitem.hxx b/include/editeng/hyphenzoneitem.hxx
index fc718f916bdc..0b573f43c9f5 100644
--- a/include/editeng/hyphenzoneitem.hxx
+++ b/include/editeng/hyphenzoneitem.hxx
@@ -34,6 +34,7 @@ class EDITENG_DLLPUBLIC SvxHyphenZoneItem final : public SfxPoolItem
{
bool bHyphen : 1;
bool bPageEnd : 1;
+ bool bNoCapsHyphenation : 1;
sal_uInt8 nMinLead;
sal_uInt8 nMinTrail;
sal_uInt8 nMaxHyphens;
@@ -62,6 +63,9 @@ public:
void SetPageEnd( const bool bNew ) { bPageEnd = bNew; }
bool IsPageEnd() const { return bPageEnd; }
+ void SetNoCapsHyphenation( const bool bNew ) { bNoCapsHyphenation = bNew; }
+ bool IsNoCapsHyphenation() const { return bNoCapsHyphenation; }
+
sal_uInt8 &GetMinLead() { return nMinLead; }
sal_uInt8 GetMinLead() const { return nMinLead; }
diff --git a/include/editeng/memberids.h b/include/editeng/memberids.h
index c41b45af9cb9..5af872b705b3 100644
--- a/include/editeng/memberids.h
+++ b/include/editeng/memberids.h
@@ -46,6 +46,7 @@
#define MID_HYPHEN_MIN_LEAD 1
#define MID_HYPHEN_MIN_TRAIL 2
#define MID_HYPHEN_MAX_HYPHENS 3
+#define MID_HYPHEN_NO_CAPS 4
// SvxBoxInfoItem
#define MID_HORIZONTAL 1
diff --git a/include/editeng/unotext.hxx b/include/editeng/unotext.hxx
index c442fa731384..aaf9cd18328f 100644
--- a/include/editeng/unotext.hxx
+++ b/include/editeng/unotext.hxx
@@ -135,6 +135,7 @@ struct SfxItemPropertySimpleEntry;
{OUString(UNO_NAME_EDIT_PARA_ADJUST), EE_PARA_JUST, ::cppu::UnoType<sal_Int16>::get(), 0, MID_PARA_ADJUST }, \
{OUString(UNO_NAME_EDIT_PARA_BMARGIN), EE_PARA_ULSPACE, ::cppu::UnoType<sal_Int32>::get(), 0, MID_LO_MARGIN, PropertyMoreFlags::METRIC_ITEM }, \
{OUString(UNO_NAME_EDIT_PARA_IS_HYPHEN), EE_PARA_HYPHENATE, ::cppu::UnoType<bool>::get(), 0, 0 }, \
+ {OUString("ParaHyphenationNoCaps"), EE_PARA_HYPHENATE_NO_CAPS, ::cppu::UnoType<bool>::get(), 0, 0 }, \
{OUString(UNO_NAME_EDIT_PARA_LASTLINEADJ), EE_PARA_JUST, ::cppu::UnoType<sal_Int16>::get(), 0, MID_LAST_LINE_ADJUST }, \
{OUString(UNO_NAME_EDIT_PARA_LMARGIN), EE_PARA_LRSPACE, ::cppu::UnoType<sal_Int32>::get(), 0, MID_TXT_LMARGIN, PropertyMoreFlags::METRIC_ITEM }, \
{OUString(UNO_NAME_EDIT_PARA_LINESPACING), EE_PARA_SBL, cppu::UnoType<css::style::LineSpacing>::get(), 0, CONVERT_TWIPS}, \
diff --git a/include/linguistic/lngprophelp.hxx b/include/linguistic/lngprophelp.hxx
index 8474767488fe..f05481019704 100644
--- a/include/linguistic/lngprophelp.hxx
+++ b/include/linguistic/lngprophelp.hxx
@@ -244,11 +244,13 @@ class PropertyHelper_Hyphen :
sal_Int16 nHyphMinLeading,
nHyphMinTrailing,
nHyphMinWordLength;
+ bool bNoHyphenateCaps;
// return values, will be set to default value or current temporary value
sal_Int16 nResHyphMinLeading,
nResHyphMinTrailing,
nResHyphMinWordLength;
+ bool bResNoHyphenateCaps;
PropertyHelper_Hyphen( const PropertyHelper_Hyphen & ) = delete;
PropertyHelper_Hyphen & operator = ( const PropertyHelper_Hyphen & ) = delete;
@@ -275,6 +277,7 @@ public:
sal_Int16 GetMinLeading() const { return nResHyphMinLeading; }
sal_Int16 GetMinTrailing() const { return nResHyphMinTrailing; }
sal_Int16 GetMinWordLength() const { return nResHyphMinWordLength; }
+ bool IsNoHyphenateCaps() const { return bResNoHyphenateCaps; }
};
class LNG_DLLPUBLIC PropertyHelper_Hyphenation
@@ -297,6 +300,7 @@ public:
sal_Int16 GetMinLeading() const;
sal_Int16 GetMinTrailing() const;
sal_Int16 GetMinWordLength() const;
+ bool IsNoHyphenateCaps() const;
/// @throws css::uno::RuntimeException
bool addLinguServiceEventListener(
const css::uno::Reference< css::linguistic2::XLinguServiceEventListener >& rxListener );
diff --git a/include/unotools/linguprops.hxx b/include/unotools/linguprops.hxx
index 346a314503e4..23e0cdaae035 100644
--- a/include/unotools/linguprops.hxx
+++ b/include/unotools/linguprops.hxx
@@ -35,6 +35,7 @@
#define UPN_HYPH_MIN_LEADING "HyphMinLeading"
#define UPN_HYPH_MIN_TRAILING "HyphMinTrailing"
#define UPN_HYPH_MIN_WORD_LENGTH "HyphMinWordLength"
+#define UPN_HYPH_NO_CAPS "HyphNoCaps"
// UNO property names for Lingu
// (those not covered by the SpellChecker and Hyphenator
@@ -100,6 +101,7 @@
#define UPH_IS_REVERSE_MAPPING 33
#define UPH_IS_GRAMMAR_AUTO 34
#define UPH_IS_GRAMMAR_INTERACTIVE 35
+#define UPH_HYPH_NO_CAPS 36
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx
index 4418f9ba54a0..02bd9702d980 100644
--- a/include/xmloff/xmltoken.hxx
+++ b/include/xmloff/xmltoken.hxx
@@ -1005,6 +1005,7 @@ namespace xmloff { namespace token {
XML_HYPHENATION_LADDER_COUNT,
XML_HYPHENATION_PUSH_CHAR_COUNT,
XML_HYPHENATION_REMAIN_CHAR_COUNT,
+ XML_HYPHENATION_NO_CAPS,
XML_I,
XML_ICON,
XML_ICON_SET,