tdf#121239 give writer, calc and draw/impress the same underline options
uno:Underline is the "real" deal, and has multiple underline options uno:UnderlineSimple is "some underline on" vs no underline calc and writer had UnderlineSingle, UnderlineDouble and UnderlineDotted for that specific type of underline on vs not-on add those to draw/impress too and then use UnderlineSingle instead of Underline in the format menu so that when UnderlineDouble is applied, UnderlineSingle is not show as applied, instead of using Underline ot UnderlineSimple which would show as on if UnderlineDouble was applied Change-Id: I6f9fcf37c2c90d215ea52b536e4fa84734754850 Reviewed-on: https://gerrit.libreoffice.org/82469 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
@@ -990,8 +990,13 @@ class SvxSetItem;
|
||||
|
||||
#define SID_IMPRESS_DOC TypedWhichId<SfxBoolItem>( SID_SVX_START + 1194 )
|
||||
|
||||
#define SID_ULINE_VAL_NONE (SID_SVX_START + 1195) /* no underline */
|
||||
#define SID_ULINE_VAL_SINGLE (SID_SVX_START + 1196) /* single underline */
|
||||
#define SID_ULINE_VAL_DOUBLE (SID_SVX_START + 1197) /* double underline */
|
||||
#define SID_ULINE_VAL_DOTTED (SID_SVX_START + 1198) /* dotted underline */
|
||||
|
||||
// IMPORTANT NOTE: adjust SID_SVX_FIRSTFREE, when adding new slot id
|
||||
#define SID_SVX_FIRSTFREE ( SID_SVX_START + 1194 + 1 )
|
||||
#define SID_SVX_FIRSTFREE ( SID_SVX_START + 1198 + 1 )
|
||||
|
||||
// Overflow check for slot IDs
|
||||
#if SID_SVX_FIRSTFREE > SID_SVX_END
|
||||
|
@@ -1233,16 +1233,6 @@
|
||||
<value xml:lang="en-US">Collaborate...</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:UnderlineNone" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Underline: Off</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:UnderlineSingle" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Underline: Single</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:AcceptChanges" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">~Manage...</value>
|
||||
@@ -1265,11 +1255,6 @@
|
||||
<value>1</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:UnderlineDotted" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Underline: Dotted</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:Delete" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Cle~ar Cells...</value>
|
||||
|
@@ -1563,6 +1563,7 @@
|
||||
<value>9</value>
|
||||
</prop>
|
||||
</node>
|
||||
<!-- selection of possible underlines -->
|
||||
<node oor:name=".uno:Underline" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Underline</value>
|
||||
@@ -1571,6 +1572,7 @@
|
||||
<value>9</value>
|
||||
</prop>
|
||||
</node>
|
||||
<!-- set single underline, state of any non-None underline -->
|
||||
<node oor:name=".uno:UnderlineSimple" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Underline</value>
|
||||
@@ -1582,6 +1584,22 @@
|
||||
<value>.uno:Underline</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:UnderlineNone" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Underline: Off</value>
|
||||
</prop>
|
||||
<prop oor:name="Properties" oor:type="xs:int">
|
||||
<value>9</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:UnderlineSingle" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Single Underline</value>
|
||||
</prop>
|
||||
<prop oor:name="Properties" oor:type="xs:int">
|
||||
<value>9</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:UnderlineDouble" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Double Underline</value>
|
||||
@@ -1590,6 +1608,11 @@
|
||||
<value>9</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:UnderlineDotted" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Dotted Underline</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name=".uno:Overline" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Overline</value>
|
||||
|
@@ -584,12 +584,6 @@
|
||||
|
||||
#define FID_FOCUS_POSWND (SID_NEW_SLOTS+74)
|
||||
|
||||
// single slots for different underline kinds (popup menu)
|
||||
#define SID_ULINE_VAL_NONE (SID_NEW_SLOTS+75)
|
||||
#define SID_ULINE_VAL_SINGLE (SID_NEW_SLOTS+76)
|
||||
#define SID_ULINE_VAL_DOUBLE (SID_NEW_SLOTS+77)
|
||||
#define SID_ULINE_VAL_DOTTED (SID_NEW_SLOTS+78)
|
||||
|
||||
#define FID_DEL_MANUALBREAKS (SID_NEW_SLOTS+79)
|
||||
#define SID_ADD_PRINTAREA (SID_NEW_SLOTS+80)
|
||||
#define FID_ADJUST_PRINTZOOM (SID_NEW_SLOTS+81)
|
||||
|
@@ -1193,7 +1193,6 @@ void ScEditShell::GetAttrState(SfxItemSet &rSet)
|
||||
ScViewUtil::PutItemScript( rSet, aAttribs, EE_CHAR_ITALIC, nScript );
|
||||
|
||||
// underline
|
||||
|
||||
SfxItemState eState = aAttribs.GetItemState( EE_CHAR_UNDERLINE );
|
||||
if ( eState == SfxItemState::DONTCARE )
|
||||
{
|
||||
|
@@ -320,7 +320,7 @@
|
||||
<menu:menupopup>
|
||||
<menu:menuitem menu:id=".uno:Bold"/>
|
||||
<menu:menuitem menu:id=".uno:Italic"/>
|
||||
<menu:menuitem menu:id=".uno:Underline"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineSingle"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineDouble"/>
|
||||
<menu:menuitem menu:id=".uno:Strikeout"/>
|
||||
<menu:menuitem menu:id=".uno:Overline"/>
|
||||
|
@@ -2727,6 +2727,26 @@ interface DrawView
|
||||
ExecMethod = ExecChar ;
|
||||
StateMethod = GetAttrState ;
|
||||
]
|
||||
SID_ULINE_VAL_NONE
|
||||
[
|
||||
ExecMethod = ExecChar ;
|
||||
StateMethod = GetAttrState ;
|
||||
]
|
||||
SID_ULINE_VAL_SINGLE
|
||||
[
|
||||
ExecMethod = ExecChar ;
|
||||
StateMethod = GetAttrState ;
|
||||
]
|
||||
SID_ULINE_VAL_DOUBLE
|
||||
[
|
||||
ExecMethod = ExecChar ;
|
||||
StateMethod = GetAttrState ;
|
||||
]
|
||||
SID_ULINE_VAL_DOTTED
|
||||
[
|
||||
ExecMethod = ExecChar ;
|
||||
StateMethod = GetAttrState ;
|
||||
]
|
||||
SID_ATTR_CHAR_SHADOWED
|
||||
[
|
||||
ExecMethod = ExecChar ;
|
||||
|
@@ -68,12 +68,42 @@ shell TextObjectBar
|
||||
StateMethod = GetAttrState;
|
||||
]
|
||||
|
||||
SID_ULINE_VAL_NONE
|
||||
[
|
||||
ExecMethod = Execute ;
|
||||
StateMethod = GetAttrState ;
|
||||
]
|
||||
|
||||
SID_ULINE_VAL_SINGLE
|
||||
[
|
||||
ExecMethod = Execute ;
|
||||
StateMethod = GetAttrState ;
|
||||
]
|
||||
|
||||
SID_ULINE_VAL_DOUBLE
|
||||
[
|
||||
ExecMethod = Execute ;
|
||||
StateMethod = GetAttrState ;
|
||||
]
|
||||
|
||||
SID_ULINE_VAL_DOTTED
|
||||
[
|
||||
ExecMethod = Execute ;
|
||||
StateMethod = GetAttrState ;
|
||||
]
|
||||
|
||||
SID_ATTR_CHAR_OVERLINE // ole : ?, status : ?
|
||||
[
|
||||
ExecMethod = Execute;
|
||||
StateMethod = GetAttrState;
|
||||
]
|
||||
|
||||
SID_ATTR_CHAR_UNDERLINE // ole : ?, status : ?
|
||||
[
|
||||
ExecMethod = Execute;
|
||||
StateMethod = GetAttrState;
|
||||
]
|
||||
|
||||
SID_ATTR_CHAR_CONTOUR // ole : ?, status : ?
|
||||
[
|
||||
ExecMethod = Execute;
|
||||
|
@@ -4734,3 +4734,75 @@ SfxVoidItem EditDiagram SID_EDIT_DIAGRAM
|
||||
ToolBoxConfig = TRUE,
|
||||
GroupId = SfxGroupId::Modify;
|
||||
]
|
||||
|
||||
SfxBoolItem UnderlineNone SID_ULINE_VAL_NONE
|
||||
|
||||
[
|
||||
AutoUpdate = TRUE,
|
||||
FastCall = FALSE,
|
||||
ReadOnlyDoc = FALSE,
|
||||
Toggle = FALSE,
|
||||
Container = FALSE,
|
||||
RecordAbsolute = FALSE,
|
||||
RecordPerSet;
|
||||
|
||||
|
||||
AccelConfig = TRUE,
|
||||
MenuConfig = TRUE,
|
||||
ToolBoxConfig = TRUE,
|
||||
GroupId = SfxGroupId::Format;
|
||||
]
|
||||
|
||||
SfxBoolItem UnderlineSingle SID_ULINE_VAL_SINGLE
|
||||
|
||||
[
|
||||
AutoUpdate = TRUE,
|
||||
FastCall = FALSE,
|
||||
ReadOnlyDoc = FALSE,
|
||||
Toggle = FALSE,
|
||||
Container = FALSE,
|
||||
RecordAbsolute = FALSE,
|
||||
RecordPerSet;
|
||||
|
||||
|
||||
AccelConfig = TRUE,
|
||||
MenuConfig = TRUE,
|
||||
ToolBoxConfig = TRUE,
|
||||
GroupId = SfxGroupId::Format;
|
||||
]
|
||||
|
||||
SfxBoolItem UnderlineDouble SID_ULINE_VAL_DOUBLE
|
||||
|
||||
[
|
||||
AutoUpdate = TRUE,
|
||||
FastCall = FALSE,
|
||||
ReadOnlyDoc = FALSE,
|
||||
Toggle = FALSE,
|
||||
Container = FALSE,
|
||||
RecordAbsolute = FALSE,
|
||||
RecordPerSet;
|
||||
|
||||
|
||||
AccelConfig = TRUE,
|
||||
MenuConfig = TRUE,
|
||||
ToolBoxConfig = TRUE,
|
||||
GroupId = SfxGroupId::Format;
|
||||
]
|
||||
|
||||
SfxBoolItem UnderlineDotted SID_ULINE_VAL_DOTTED
|
||||
|
||||
[
|
||||
AutoUpdate = TRUE,
|
||||
FastCall = FALSE,
|
||||
ReadOnlyDoc = FALSE,
|
||||
Toggle = FALSE,
|
||||
Container = FALSE,
|
||||
RecordAbsolute = FALSE,
|
||||
RecordPerSet;
|
||||
|
||||
|
||||
AccelConfig = TRUE,
|
||||
MenuConfig = TRUE,
|
||||
ToolBoxConfig = TRUE,
|
||||
GroupId = SfxGroupId::Format;
|
||||
]
|
||||
|
@@ -24,6 +24,7 @@
|
||||
#include <com/sun/star/linguistic2/XThesaurus.hpp>
|
||||
|
||||
#include <editeng/eeitem.hxx>
|
||||
#include <editeng/udlnitem.hxx>
|
||||
#include <editeng/ulspitem.hxx>
|
||||
#include <editeng/lspcitem.hxx>
|
||||
#include <editeng/adjustitem.hxx>
|
||||
@@ -376,6 +377,34 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
|
||||
}
|
||||
break;
|
||||
|
||||
case SID_ULINE_VAL_NONE:
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
{
|
||||
if( aAttrSet.GetItemState( EE_CHAR_UNDERLINE ) >= SfxItemState::DEFAULT )
|
||||
{
|
||||
FontLineStyle eLineStyle = aAttrSet.Get(EE_CHAR_UNDERLINE).GetLineStyle();
|
||||
|
||||
switch (nSlotId)
|
||||
{
|
||||
case SID_ULINE_VAL_NONE:
|
||||
rSet.Put(SfxBoolItem(nSlotId, eLineStyle == LINESTYLE_NONE));
|
||||
break;
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
rSet.Put(SfxBoolItem(nSlotId, eLineStyle == LINESTYLE_SINGLE));
|
||||
break;
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
rSet.Put(SfxBoolItem(nSlotId, eLineStyle == LINESTYLE_DOUBLE));
|
||||
break;
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
rSet.Put(SfxBoolItem(nSlotId, eLineStyle == LINESTYLE_DOTTED));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case SID_GROW_FONT_SIZE:
|
||||
case SID_SHRINK_FONT_SIZE:
|
||||
{
|
||||
|
@@ -551,6 +551,38 @@ void TextObjectBar::Execute( SfxRequest &rReq )
|
||||
EE_CHAR_UNDERLINE ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case SID_ULINE_VAL_NONE:
|
||||
{
|
||||
aNewAttr.Put(SvxUnderlineItem(LINESTYLE_NONE, EE_CHAR_UNDERLINE));
|
||||
break;
|
||||
}
|
||||
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
{
|
||||
FontLineStyle eOld = aEditAttr.Get(EE_CHAR_UNDERLINE).GetLineStyle();
|
||||
FontLineStyle eNew = eOld;
|
||||
|
||||
switch (nSlot)
|
||||
{
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
eNew = ( eOld == LINESTYLE_SINGLE ) ? LINESTYLE_NONE : LINESTYLE_SINGLE;
|
||||
break;
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
eNew = ( eOld == LINESTYLE_DOUBLE ) ? LINESTYLE_NONE : LINESTYLE_DOUBLE;
|
||||
break;
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
eNew = ( eOld == LINESTYLE_DOTTED ) ? LINESTYLE_NONE : LINESTYLE_DOTTED;
|
||||
break;
|
||||
}
|
||||
|
||||
SvxUnderlineItem aUnderline(eNew, EE_CHAR_UNDERLINE);
|
||||
aNewAttr.Put(aUnderline);
|
||||
}
|
||||
break;
|
||||
|
||||
case SID_ATTR_CHAR_OVERLINE:
|
||||
{
|
||||
FontLineStyle eFO = aEditAttr.Get( EE_CHAR_OVERLINE ).GetLineStyle();
|
||||
|
@@ -3560,6 +3560,38 @@ void DrawViewShell::ExecChar( SfxRequest &rReq )
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case SID_ULINE_VAL_NONE:
|
||||
{
|
||||
aNewAttr.Put(SvxUnderlineItem(LINESTYLE_NONE, EE_CHAR_UNDERLINE));
|
||||
break;
|
||||
}
|
||||
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
{
|
||||
FontLineStyle eOld = aEditAttr.Get(EE_CHAR_UNDERLINE).GetLineStyle();
|
||||
FontLineStyle eNew = eOld;
|
||||
|
||||
switch (nSId)
|
||||
{
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
eNew = ( eOld == LINESTYLE_SINGLE ) ? LINESTYLE_NONE : LINESTYLE_SINGLE;
|
||||
break;
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
eNew = ( eOld == LINESTYLE_DOUBLE ) ? LINESTYLE_NONE : LINESTYLE_DOUBLE;
|
||||
break;
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
eNew = ( eOld == LINESTYLE_DOTTED ) ? LINESTYLE_NONE : LINESTYLE_DOTTED;
|
||||
break;
|
||||
}
|
||||
|
||||
SvxUnderlineItem aUnderline(eNew, EE_CHAR_UNDERLINE);
|
||||
aNewAttr.Put(aUnderline);
|
||||
}
|
||||
break;
|
||||
|
||||
case SID_ATTR_CHAR_SHADOWED:
|
||||
if( rReq.GetArgs() )
|
||||
{
|
||||
|
@@ -25,6 +25,7 @@
|
||||
#include <svx/hlnkitem.hxx>
|
||||
#include <editeng/eeitem.hxx>
|
||||
#include <editeng/flditem.hxx>
|
||||
#include <editeng/udlnitem.hxx>
|
||||
#include <sfx2/viewfrm.hxx>
|
||||
#include <svl/whiter.hxx>
|
||||
#include <svl/eitem.hxx>
|
||||
@@ -365,6 +366,39 @@ void DrawViewShell::GetAttrState( SfxItemSet& rSet )
|
||||
Invalidate(SID_ATTR_PARA_ULSPACE);
|
||||
}
|
||||
break;
|
||||
case SID_ULINE_VAL_NONE:
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
{
|
||||
SfxItemSet aAttrs( GetDoc()->GetPool() );
|
||||
mpDrawView->GetAttributes( aAttrs );
|
||||
if( aAttrs.GetItemState( EE_CHAR_UNDERLINE ) >= SfxItemState::DEFAULT )
|
||||
{
|
||||
FontLineStyle eLineStyle = aAttrs.Get(EE_CHAR_UNDERLINE).GetLineStyle();
|
||||
|
||||
switch (nSlotId)
|
||||
{
|
||||
case SID_ULINE_VAL_NONE:
|
||||
rSet.Put(SfxBoolItem(nSlotId, eLineStyle == LINESTYLE_NONE));
|
||||
break;
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
rSet.Put(SfxBoolItem(nSlotId, eLineStyle == LINESTYLE_SINGLE));
|
||||
break;
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
rSet.Put(SfxBoolItem(nSlotId, eLineStyle == LINESTYLE_DOUBLE));
|
||||
break;
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
rSet.Put(SfxBoolItem(nSlotId, eLineStyle == LINESTYLE_DOTTED));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bAttr = true;
|
||||
|
||||
Invalidate(nSlotId);
|
||||
}
|
||||
break;
|
||||
case SID_ATTR_FILL_STYLE:
|
||||
case SID_ATTR_FILL_COLOR:
|
||||
case SID_ATTR_FILL_GRADIENT:
|
||||
|
@@ -280,7 +280,7 @@
|
||||
<menu:menupopup>
|
||||
<menu:menuitem menu:id=".uno:Bold"/>
|
||||
<menu:menuitem menu:id=".uno:Italic"/>
|
||||
<menu:menuitem menu:id=".uno:Underline"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineSingle"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineDouble"/>
|
||||
<menu:menuitem menu:id=".uno:Strikeout"/>
|
||||
<menu:menuitem menu:id=".uno:Overline"/>
|
||||
|
@@ -313,7 +313,7 @@
|
||||
<menu:menupopup>
|
||||
<menu:menuitem menu:id=".uno:Bold"/>
|
||||
<menu:menuitem menu:id=".uno:Italic"/>
|
||||
<menu:menuitem menu:id=".uno:Underline"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineSingle"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineDouble"/>
|
||||
<menu:menuitem menu:id=".uno:Strikeout"/>
|
||||
<menu:menuitem menu:id=".uno:Overline"/>
|
||||
|
@@ -286,8 +286,7 @@
|
||||
#define FN_AUTOFORMAT_AUTO (FN_FORMAT + 2 ) /* apply autoformat during user input */
|
||||
#define FN_GROW_FONT_SIZE (FN_FORMAT + 3 ) /* size */
|
||||
#define FN_SHRINK_FONT_SIZE (FN_FORMAT + 4 ) /* size */
|
||||
#define FN_UNDERLINE_DOUBLE (FN_FORMAT + 5 ) /* double underline */
|
||||
#define FN_AUTOFORMAT_REDLINE_APPLY (FN_FORMAT + 6 ) /* apply autoformat with Redlining */
|
||||
#define FN_AUTOFORMAT_REDLINE_APPLY (FN_FORMAT + 5 ) /* apply autoformat with Redlining */
|
||||
#define FN_SET_SUPER_SCRIPT (FN_FORMAT + 11) /* superscript */
|
||||
#define FN_SET_SUB_SCRIPT (FN_FORMAT + 12) /* subscript */
|
||||
#define FN_SET_SMALL_CAPS (FN_FORMAT + 13) /* small caps */
|
||||
|
@@ -1450,7 +1450,25 @@ interface BaseText
|
||||
StateMethod = GetTextCtrlState;
|
||||
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
|
||||
]
|
||||
FN_UNDERLINE_DOUBLE // status(final|play)
|
||||
SID_ULINE_VAL_NONE // status(final|play)
|
||||
[
|
||||
ExecMethod = ExecCharAttr ;
|
||||
StateMethod = GetAttrState ;
|
||||
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
|
||||
]
|
||||
SID_ULINE_VAL_SINGLE // status(final|play)
|
||||
[
|
||||
ExecMethod = ExecCharAttr ;
|
||||
StateMethod = GetAttrState ;
|
||||
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
|
||||
]
|
||||
SID_ULINE_VAL_DOUBLE // status(final|play)
|
||||
[
|
||||
ExecMethod = ExecCharAttr ;
|
||||
StateMethod = GetAttrState ;
|
||||
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
|
||||
]
|
||||
SID_ULINE_VAL_DOTTED // status(final|play)
|
||||
[
|
||||
ExecMethod = ExecCharAttr ;
|
||||
StateMethod = GetAttrState ;
|
||||
|
@@ -5980,13 +5980,67 @@ SfxVoidItem ToggleObjectLayer FN_TOOL_HIERARCHIE
|
||||
GroupId = SfxGroupId::Format;
|
||||
]
|
||||
|
||||
SfxBoolItem UnderlineDouble FN_UNDERLINE_DOUBLE
|
||||
SfxBoolItem UnderlineNone SID_ULINE_VAL_NONE
|
||||
|
||||
[
|
||||
AutoUpdate = TRUE,
|
||||
FastCall = FALSE,
|
||||
ReadOnlyDoc = FALSE,
|
||||
Toggle = TRUE,
|
||||
Toggle = FALSE,
|
||||
Container = FALSE,
|
||||
RecordAbsolute = FALSE,
|
||||
RecordPerSet;
|
||||
|
||||
|
||||
AccelConfig = TRUE,
|
||||
MenuConfig = TRUE,
|
||||
ToolBoxConfig = TRUE,
|
||||
GroupId = SfxGroupId::Format;
|
||||
]
|
||||
|
||||
SfxBoolItem UnderlineSingle SID_ULINE_VAL_SINGLE
|
||||
|
||||
[
|
||||
AutoUpdate = TRUE,
|
||||
FastCall = FALSE,
|
||||
ReadOnlyDoc = FALSE,
|
||||
Toggle = FALSE,
|
||||
Container = FALSE,
|
||||
RecordAbsolute = FALSE,
|
||||
RecordPerSet;
|
||||
|
||||
|
||||
AccelConfig = TRUE,
|
||||
MenuConfig = TRUE,
|
||||
ToolBoxConfig = TRUE,
|
||||
GroupId = SfxGroupId::Format;
|
||||
]
|
||||
|
||||
SfxBoolItem UnderlineDouble SID_ULINE_VAL_DOUBLE
|
||||
|
||||
[
|
||||
AutoUpdate = TRUE,
|
||||
FastCall = FALSE,
|
||||
ReadOnlyDoc = FALSE,
|
||||
Toggle = FALSE,
|
||||
Container = FALSE,
|
||||
RecordAbsolute = FALSE,
|
||||
RecordPerSet;
|
||||
|
||||
|
||||
AccelConfig = TRUE,
|
||||
MenuConfig = TRUE,
|
||||
ToolBoxConfig = TRUE,
|
||||
GroupId = SfxGroupId::Format;
|
||||
]
|
||||
|
||||
SfxBoolItem UnderlineDotted SID_ULINE_VAL_DOTTED
|
||||
|
||||
[
|
||||
AutoUpdate = TRUE,
|
||||
FastCall = FALSE,
|
||||
ReadOnlyDoc = FALSE,
|
||||
Toggle = FALSE,
|
||||
Container = FALSE,
|
||||
RecordAbsolute = FALSE,
|
||||
RecordPerSet;
|
||||
|
@@ -158,25 +158,37 @@ void SwTextShell::ExecCharAttr(SfxRequest &rReq)
|
||||
rSh.QuickUpdateStyle();
|
||||
rReq.Done();
|
||||
break;
|
||||
case FN_UNDERLINE_DOUBLE:
|
||||
|
||||
case SID_ULINE_VAL_NONE:
|
||||
{
|
||||
FontLineStyle eUnderline =
|
||||
aSet.Get(RES_CHRATR_UNDERLINE).GetLineStyle();
|
||||
switch( eState )
|
||||
SvxUnderlineItem aUnderline(LINESTYLE_NONE, RES_CHRATR_UNDERLINE );
|
||||
rSh.SetAttrItem( aUnderline );
|
||||
rReq.AppendItem( aUnderline );
|
||||
rReq.Done();
|
||||
break;
|
||||
}
|
||||
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
{
|
||||
FontLineStyle eOld = aSet.Get(RES_CHRATR_UNDERLINE).GetLineStyle();
|
||||
FontLineStyle eNew = eOld;
|
||||
|
||||
switch (nWhich)
|
||||
{
|
||||
case STATE_TOGGLE:
|
||||
eUnderline = eUnderline == LINESTYLE_DOUBLE ?
|
||||
LINESTYLE_NONE :
|
||||
LINESTYLE_DOUBLE;
|
||||
break;
|
||||
case STATE_ON:
|
||||
eUnderline = LINESTYLE_DOUBLE;
|
||||
break;
|
||||
case STATE_OFF:
|
||||
eUnderline = LINESTYLE_NONE;
|
||||
break;
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
eNew = ( eOld == LINESTYLE_SINGLE ) ? LINESTYLE_NONE : LINESTYLE_SINGLE;
|
||||
break;
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
eNew = ( eOld == LINESTYLE_DOUBLE ) ? LINESTYLE_NONE : LINESTYLE_DOUBLE;
|
||||
break;
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
eNew = ( eOld == LINESTYLE_DOTTED ) ? LINESTYLE_NONE : LINESTYLE_DOTTED;
|
||||
break;
|
||||
}
|
||||
SvxUnderlineItem aUnderline(eUnderline, RES_CHRATR_UNDERLINE );
|
||||
|
||||
SvxUnderlineItem aUnderline(eNew, RES_CHRATR_UNDERLINE );
|
||||
rSh.SetAttrItem( aUnderline );
|
||||
rReq.AppendItem( aUnderline );
|
||||
rReq.Done();
|
||||
@@ -691,14 +703,31 @@ void SwTextShell::GetAttrState(SfxItemSet &rSet)
|
||||
nSlot = 0;
|
||||
}
|
||||
break;
|
||||
case FN_UNDERLINE_DOUBLE:
|
||||
case SID_ULINE_VAL_NONE:
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
{
|
||||
eState = aCoreSet.GetItemState(RES_CHRATR_UNDERLINE);
|
||||
if( eState >= SfxItemState::DEFAULT )
|
||||
{
|
||||
FontLineStyle eUnderline =
|
||||
aCoreSet.Get(RES_CHRATR_UNDERLINE).GetLineStyle();
|
||||
rSet.Put(SfxBoolItem(nSlot, eUnderline == LINESTYLE_DOUBLE));
|
||||
FontLineStyle eLineStyle = aCoreSet.Get(RES_CHRATR_UNDERLINE).GetLineStyle();
|
||||
|
||||
switch (nSlot)
|
||||
{
|
||||
case SID_ULINE_VAL_NONE:
|
||||
rSet.Put(SfxBoolItem(nSlot, eLineStyle == LINESTYLE_NONE));
|
||||
break;
|
||||
case SID_ULINE_VAL_SINGLE:
|
||||
rSet.Put(SfxBoolItem(nSlot, eLineStyle == LINESTYLE_SINGLE));
|
||||
break;
|
||||
case SID_ULINE_VAL_DOUBLE:
|
||||
rSet.Put(SfxBoolItem(nSlot, eLineStyle == LINESTYLE_DOUBLE));
|
||||
break;
|
||||
case SID_ULINE_VAL_DOTTED:
|
||||
rSet.Put(SfxBoolItem(nSlot, eLineStyle == LINESTYLE_DOTTED));
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
rSet.InvalidateItem(nSlot);
|
||||
|
@@ -613,7 +613,8 @@ void SwView::CheckReadonlyState()
|
||||
SID_ATTR_CHAR_COLOR, SID_ATTR_CHAR_WEIGHT, SID_ATTR_CHAR_POSTURE,
|
||||
SID_ATTR_CHAR_OVERLINE,
|
||||
SID_ATTR_CHAR_UNDERLINE, SID_ATTR_FLASH, SID_ATTR_CHAR_STRIKEOUT,
|
||||
FN_UNDERLINE_DOUBLE, SID_ATTR_CHAR_CONTOUR, SID_ATTR_CHAR_SHADOWED,
|
||||
SID_ULINE_VAL_SINGLE, SID_ULINE_VAL_DOUBLE, SID_ULINE_VAL_DOTTED,
|
||||
SID_ATTR_CHAR_CONTOUR, SID_ATTR_CHAR_SHADOWED,
|
||||
SID_ATTR_CHAR_AUTOKERN, SID_ATTR_CHAR_ESCAPEMENT, FN_SET_SUPER_SCRIPT,
|
||||
FN_SET_SUB_SCRIPT, SID_ATTR_CHAR_CASEMAP, SID_ATTR_CHAR_LANGUAGE,
|
||||
SID_ATTR_CHAR_KERNING, SID_CHAR_DLG, SID_ATTR_CHAR_WORDLINEMODE,
|
||||
|
@@ -356,7 +356,7 @@
|
||||
<menu:menupopup>
|
||||
<menu:menuitem menu:id=".uno:Bold"/>
|
||||
<menu:menuitem menu:id=".uno:Italic"/>
|
||||
<menu:menuitem menu:id=".uno:Underline"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineSingle"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineDouble"/>
|
||||
<menu:menuitem menu:id=".uno:Strikeout"/>
|
||||
<menu:menuitem menu:id=".uno:Overline"/>
|
||||
|
@@ -229,7 +229,7 @@
|
||||
<menu:menupopup>
|
||||
<menu:menuitem menu:id=".uno:Bold"/>
|
||||
<menu:menuitem menu:id=".uno:Italic"/>
|
||||
<menu:menuitem menu:id=".uno:Underline"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineSingle"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineDouble"/>
|
||||
<menu:menuitem menu:id=".uno:Strikeout"/>
|
||||
<menu:menuitem menu:id=".uno:Overline"/>
|
||||
|
@@ -308,7 +308,7 @@
|
||||
<menu:menupopup>
|
||||
<menu:menuitem menu:id=".uno:Bold"/>
|
||||
<menu:menuitem menu:id=".uno:Italic"/>
|
||||
<menu:menuitem menu:id=".uno:Underline"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineSingle"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineDouble"/>
|
||||
<menu:menuitem menu:id=".uno:Strikeout"/>
|
||||
<menu:menuitem menu:id=".uno:Overline"/>
|
||||
|
@@ -294,7 +294,7 @@
|
||||
<menu:menupopup>
|
||||
<menu:menuitem menu:id=".uno:Bold"/>
|
||||
<menu:menuitem menu:id=".uno:Italic"/>
|
||||
<menu:menuitem menu:id=".uno:Underline"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineSingle"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineDouble"/>
|
||||
<menu:menuitem menu:id=".uno:Strikeout"/>
|
||||
<menu:menuitem menu:id=".uno:Overline"/>
|
||||
|
@@ -359,7 +359,7 @@
|
||||
<menu:menupopup>
|
||||
<menu:menuitem menu:id=".uno:Bold"/>
|
||||
<menu:menuitem menu:id=".uno:Italic"/>
|
||||
<menu:menuitem menu:id=".uno:Underline"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineSingle"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineDouble"/>
|
||||
<menu:menuitem menu:id=".uno:Strikeout"/>
|
||||
<menu:menuitem menu:id=".uno:Overline"/>
|
||||
|
@@ -355,7 +355,7 @@
|
||||
<menu:menupopup>
|
||||
<menu:menuitem menu:id=".uno:Bold"/>
|
||||
<menu:menuitem menu:id=".uno:Italic"/>
|
||||
<menu:menuitem menu:id=".uno:Underline"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineSingle"/>
|
||||
<menu:menuitem menu:id=".uno:UnderlineDouble"/>
|
||||
<menu:menuitem menu:id=".uno:Strikeout"/>
|
||||
<menu:menuitem menu:id=".uno:Overline"/>
|
||||
|
Reference in New Issue
Block a user