diff options
author | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2019-11-28 11:13:44 +0100 |
---|---|---|
committer | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2019-12-06 12:00:37 +0100 |
commit | 72bd0df107ee47c4d54fa88b4960d32ea03e9f69 (patch) | |
tree | f4ad346dbf636f32211298aace3a4a34957058f3 /include/editeng | |
parent | d8c36a8771398327ba83884a2e0aa82a6d7c8492 (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.hxx | 109 | ||||
-rw-r--r-- | include/editeng/hyphenzoneitem.hxx | 4 | ||||
-rw-r--r-- | include/editeng/memberids.h | 1 | ||||
-rw-r--r-- | include/editeng/unotext.hxx | 1 |
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}, \ |