summaryrefslogtreecommitdiff
path: root/include/editeng
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2019-11-28 11:13:44 +0100
committerSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2019-12-06 12:00:37 +0100
commit72bd0df107ee47c4d54fa88b4960d32ea03e9f69 (patch)
treef4ad346dbf636f32211298aace3a4a34957058f3 /include/editeng
parentd8c36a8771398327ba83884a2e0aa82a6d7c8492 (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>
Diffstat (limited to 'include/editeng')
-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
4 files changed, 61 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 98023e39d3fa..bec53ca51002 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 4fae9a92dfe3..6dbcea427e8e 100644
--- a/include/editeng/unotext.hxx
+++ b/include/editeng/unotext.hxx
@@ -136,6 +136,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}, \