summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Monastirsky <momonasmon@gmail.com>2014-05-18 08:38:16 +0300
committerMaxim Monastirsky <momonasmon@gmail.com>2014-05-18 14:50:58 +0300
commite4ce7d286a5039e5a65ba994bd1b168679d4a7c3 (patch)
tree5dc981f557619c068214d7945e4d9d22c77f9070
parent205801782d51861d9cee6fa342367af92bb1d845 (diff)
fdo#46839 Convert line color picker to split button
Change-Id: I4987cc9ffba675009f2d2ae9f6b12ed4ee02fe13
-rw-r--r--include/svx/dialogs.hrc1
-rw-r--r--include/svx/linectrl.hxx18
-rw-r--r--include/svx/tbcontrl.hxx25
-rw-r--r--sc/uiconfig/scalc/toolbar/drawobjectbar.xml2
-rw-r--r--sd/uiconfig/sdraw/toolbar/drawingobjectbar.xml2
-rw-r--r--sd/uiconfig/simpress/toolbar/drawingobjectbar.xml2
-rw-r--r--svx/source/sidebar/line/LinePropertyPanel.cxx2
-rw-r--r--svx/source/tbxctrls/linectrl.cxx77
-rw-r--r--svx/source/tbxctrls/tbcontrl.cxx87
-rw-r--r--svx/source/tbxctrls/tbcontrl.src5
-rw-r--r--svx/source/tbxctrls/tbxcolorupdate.cxx3
-rw-r--r--sw/uiconfig/sglobal/toolbar/drawingobjectbar.xml2
-rw-r--r--sw/uiconfig/sweb/toolbar/drawingobjectbar.xml2
-rw-r--r--sw/uiconfig/swform/toolbar/drawingobjectbar.xml2
-rw-r--r--sw/uiconfig/swreport/toolbar/drawingobjectbar.xml2
-rw-r--r--sw/uiconfig/swriter/toolbar/drawingobjectbar.xml2
-rw-r--r--sw/uiconfig/swxform/toolbar/drawingobjectbar.xml2
17 files changed, 128 insertions, 108 deletions
diff --git a/include/svx/dialogs.hrc b/include/svx/dialogs.hrc
index 09a122df6ff9..f35a97f1ed96 100644
--- a/include/svx/dialogs.hrc
+++ b/include/svx/dialogs.hrc
@@ -260,6 +260,7 @@
#define RID_SVXSTR_MORE (RID_SVX_START + 198)
#define RID_SVXSTR_CHARFONTNAME_NOTAVAILABLE (RID_SVX_START + 199)
#define RID_SVXSTR_CHARFONTNAME (RID_SVX_START + 200)
+#define RID_SVXSTR_LINECOLOR (RID_SVX_START + 201)
// Strings for insert/overwrite mode
#define RID_SVXSTR_INSERT_HELPTEXT (RID_SVX_START + 210)
diff --git a/include/svx/linectrl.hxx b/include/svx/linectrl.hxx
index 1419b653a814..4beb9bde5fce 100644
--- a/include/svx/linectrl.hxx
+++ b/include/svx/linectrl.hxx
@@ -30,7 +30,6 @@ class XLineStyleItem;
class XLineDashItem;
class SvxLineBox;
class SvxMetricField;
-class SvxColorBox;
// SvxLineStyleController:
@@ -74,23 +73,6 @@ public:
};
-// SvxLineColorController:
-
-
-class SVX_DLLPUBLIC SvxLineColorToolBoxControl : public SfxToolBoxControl
-{
-public:
- SFX_DECL_TOOLBOX_CONTROL();
-
- SvxLineColorToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx );
- virtual ~SvxLineColorToolBoxControl();
-
- virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState,
- const SfxPoolItem* pState ) SAL_OVERRIDE;
- void Update( const SfxPoolItem* pState );
- virtual Window* CreateItemWindow( Window *pParent ) SAL_OVERRIDE;
-};
-
// class SvxLineEndWindow
diff --git a/include/svx/tbcontrl.hxx b/include/svx/tbcontrl.hxx
index e086b0ed274f..1694d13b4ab2 100644
--- a/include/svx/tbcontrl.hxx
+++ b/include/svx/tbcontrl.hxx
@@ -66,6 +66,11 @@
for 3D extrusion
Execute-Id SID_EXTRUSION_3D_COLOR
+ SvxLineColorToolBoxControl
+ --------------------------
+ Item type: XLineColorItem
+ Execute-Id SID_ATTR_LINE_COLOR
+
SvxPatternToolBoxControl
------------------------
Item type: SvxBrushItem
@@ -230,6 +235,26 @@ public:
};
+// class SvxLineColorToolBoxControl --------------------------------------
+
+class SVX_DLLPUBLIC SvxLineColorToolBoxControl : public SfxToolBoxControl
+{
+ ::boost::scoped_ptr< ::svx::ToolboxButtonColorUpdater > pBtnUpdater;
+ Color mLastColor;
+ DECL_LINK( SelectedHdl, Color* );
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxLineColorToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx );
+ virtual ~SvxLineColorToolBoxControl();
+
+ virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState,
+ const SfxPoolItem* pState ) SAL_OVERRIDE;
+ virtual SfxPopupWindowType GetPopupWindowType() const SAL_OVERRIDE;
+ virtual SfxPopupWindow* CreatePopupWindow() SAL_OVERRIDE;
+ virtual void Select(sal_uInt16 nSelectModifier) SAL_OVERRIDE;
+};
+
+
// class SvxFrameToolBoxControl ------------------------------------------
class SVX_DLLPUBLIC SvxFrameToolBoxControl : public SfxToolBoxControl
diff --git a/sc/uiconfig/scalc/toolbar/drawobjectbar.xml b/sc/uiconfig/scalc/toolbar/drawobjectbar.xml
index fb670673a3f7..81e44a46a637 100644
--- a/sc/uiconfig/scalc/toolbar/drawobjectbar.xml
+++ b/sc/uiconfig/scalc/toolbar/drawobjectbar.xml
@@ -25,7 +25,7 @@
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="10171"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="10172"/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:style="dropdown" toolbar:helpid="10172"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="10142"/>
<toolbar:toolbarseparator/>
diff --git a/sd/uiconfig/sdraw/toolbar/drawingobjectbar.xml b/sd/uiconfig/sdraw/toolbar/drawingobjectbar.xml
index 9e810741bae8..23a905a7f0b8 100644
--- a/sd/uiconfig/sdraw/toolbar/drawingobjectbar.xml
+++ b/sd/uiconfig/sdraw/toolbar/drawingobjectbar.xml
@@ -27,7 +27,7 @@
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="10171"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="10172"/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:style="dropdown" toolbar:helpid="10172"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="10142"/>
<toolbar:toolbarseparator/>
diff --git a/sd/uiconfig/simpress/toolbar/drawingobjectbar.xml b/sd/uiconfig/simpress/toolbar/drawingobjectbar.xml
index eed7d1b9717c..162acead694b 100644
--- a/sd/uiconfig/simpress/toolbar/drawingobjectbar.xml
+++ b/sd/uiconfig/simpress/toolbar/drawingobjectbar.xml
@@ -27,7 +27,7 @@
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="10171"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="10172"/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:style="dropdown" toolbar:helpid="10172"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="10142"/>
<toolbar:toolbarseparator/>
diff --git a/svx/source/sidebar/line/LinePropertyPanel.cxx b/svx/source/sidebar/line/LinePropertyPanel.cxx
index 0f8e8c74b526..072517d42f3a 100644
--- a/svx/source/sidebar/line/LinePropertyPanel.cxx
+++ b/svx/source/sidebar/line/LinePropertyPanel.cxx
@@ -203,7 +203,7 @@ LinePropertyPanel::LinePropertyPanel(
get(mpLBCapStyle, "linecapstyle");
const sal_uInt16 nIdColor = mpTBColor->GetItemId(UNO_SELECTCOLOR);
- mpColorUpdater.reset(new ::svx::ToolboxButtonColorUpdater(SID_ATTR_LINE_COLOR, nIdColor, mpTBColor)),
+ mpColorUpdater.reset(new ::svx::ToolboxButtonColorUpdater(0 /* not defined, default is transparent */, nIdColor, mpTBColor)),
Initialize();
}
diff --git a/svx/source/tbxctrls/linectrl.cxx b/svx/source/tbxctrls/linectrl.cxx
index f86821cfa079..65563c0734dd 100644
--- a/svx/source/tbxctrls/linectrl.cxx
+++ b/svx/source/tbxctrls/linectrl.cxx
@@ -48,7 +48,6 @@ using namespace ::com::sun::star::lang;
SFX_IMPL_TOOLBOX_CONTROL( SvxLineStyleToolBoxControl, XLineStyleItem );
SFX_IMPL_TOOLBOX_CONTROL( SvxLineWidthToolBoxControl, XLineWidthItem );
-SFX_IMPL_TOOLBOX_CONTROL( SvxLineColorToolBoxControl, XLineColorItem );
SFX_IMPL_TOOLBOX_CONTROL( SvxLineEndToolBoxControl, SfxBoolItem );
/*************************************************************************
@@ -262,84 +261,8 @@ Window* SvxLineWidthToolBoxControl::CreateItemWindow( Window *pParent )
return( new SvxMetricField( pParent, m_xFrame ) );
}
-/*************************************************************************
-|*
-|* SvxLineColorToolBoxControl
-|*
-\************************************************************************/
-
-SvxLineColorToolBoxControl::SvxLineColorToolBoxControl(
- sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ) :
- SfxToolBoxControl( nSlotId, nId, rTbx )
-{
- addStatusListener( OUString( ".uno:ColorTableState" ));
-}
-
-
-
-SvxLineColorToolBoxControl::~SvxLineColorToolBoxControl()
-{
-}
-
-
-
-void SvxLineColorToolBoxControl::StateChanged(
-
- sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState )
-
-{
- SvxColorBox* pBox = (SvxColorBox*)GetToolBox().GetItemWindow( GetId() );
- DBG_ASSERT( pBox, "Window not found" );
-
- if ( nSID != SID_COLOR_TABLE )
- {
- if ( eState == SFX_ITEM_DISABLED )
- {
- pBox->Disable();
- pBox->SetNoSelection();
- }
- else
- {
- pBox->Enable();
-
- if ( eState == SFX_ITEM_AVAILABLE )
- {
- DBG_ASSERT( pState->ISA(XLineColorItem), "wrong ItemType" );
- pBox->Update( (const XLineColorItem*) pState );
- }
- else
- pBox->Update( NULL );
- }
- }
- else
- Update( pState );
-}
-
-void SvxLineColorToolBoxControl::Update( const SfxPoolItem* pState )
-{
- if ( pState && ( pState->ISA( SvxColorListItem ) ) )
- {
- SvxColorBox* pBox = (SvxColorBox*)GetToolBox().GetItemWindow( GetId() );
-
- DBG_ASSERT( pBox, "Window not found" );
-
- // The list of colors (ColorTable) has changed:
- ::Color aTmpColor( pBox->GetSelectEntryColor() );
- pBox->Clear();
- pBox->Fill( ( (SvxColorListItem*)pState )->GetColorList() );
- pBox->SelectEntry( aTmpColor );
- }
-}
-
-
-
-Window* SvxLineColorToolBoxControl::CreateItemWindow( Window *pParent )
-{
- return new SvxColorBox( pParent, m_aCommandURL, m_xFrame );
-}
-
/*************************************************************************
|*
|* SvxLineEndWindow
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index 3bab63d04d6b..93c5981d087b 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -87,6 +87,7 @@
#include <svx/tbxcolorupdate.hxx>
#include <editeng/eerdll.hxx>
#include <editeng/editrids.hrc>
+#include <svx/xlnclit.hxx>
@@ -115,6 +116,7 @@ using namespace ::com::sun::star::lang;
SFX_IMPL_TOOLBOX_CONTROL( SvxStyleToolBoxControl, SfxTemplateItem );
SFX_IMPL_TOOLBOX_CONTROL( SvxFontNameToolBoxControl, SvxFontItem );
SFX_IMPL_TOOLBOX_CONTROL( SvxColorToolBoxControl, SvxColorItem );
+SFX_IMPL_TOOLBOX_CONTROL( SvxLineColorToolBoxControl, XLineColorItem );
SFX_IMPL_TOOLBOX_CONTROL( SvxFrameToolBoxControl, SvxBoxItem );
SFX_IMPL_TOOLBOX_CONTROL( SvxFrameLineStyleToolBoxControl, SvxLineItem );
SFX_IMPL_TOOLBOX_CONTROL( SvxSimpleUndoRedoController, SfxStringItem );
@@ -1119,10 +1121,14 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString& rCommand,
aColorSet.SetAccessibleName( SVX_RESSTR( RID_SVXSTR_TEXTCOLOR ) );
}
}
- else
+ else if ( SID_FRAME_LINECOLOR == theSlotId )
{
aColorSet.SetAccessibleName( SVX_RESSTR( RID_SVXSTR_FRAME_COLOR ) );
}
+ else
+ {
+ aColorSet.SetAccessibleName( SVX_RESSTR( RID_SVXSTR_LINECOLOR ) );
+ }
if ( pColorList.is() )
{
@@ -1228,10 +1234,16 @@ void SvxColorWindow_Impl::StateChanged( sal_uInt16 nSID, SfxItemState eState, co
aColorSet.Clear();
aColorSet.addEntriesForXColorList(*pColorList);
}
- else if ((SFX_ITEM_DEFAULT <= eState ) && ( pState->ISA( SvxColorItem )))
+ else if ( SFX_ITEM_DEFAULT <= eState )
{
aColorSet.SetNoSelection();
- const Color rColor = ((const SvxColorItem*)pState)->GetValue();
+
+ Color rColor;
+ if ( pState->ISA( SvxColorItem ) )
+ rColor = ((const SvxColorItem*)pState)->GetValue();
+ else if ( pState->ISA( XLineColorItem ) )
+ rColor = ((const XLineColorItem*)pState)->GetColorValue();
+
for ( size_t i = 1; i < aColorSet.GetItemCount(); i++ )
{
if ( rColor == aColorSet.GetItemColor(i) )
@@ -2464,6 +2476,75 @@ void SvxColorToolBoxControl::Select(sal_uInt16 /*nSelectModifier*/)
}
+// class SvxLineColorToolBoxControl ----------------------------------------
+
+SvxLineColorToolBoxControl::SvxLineColorToolBoxControl(
+ sal_uInt16 nSlotId,
+ sal_uInt16 nId,
+ ToolBox& rTbx ) :
+
+ SfxToolBoxControl( nSlotId, nId, rTbx ),
+ mLastColor( COL_BLACK )
+{
+ rTbx.SetItemBits( nId, TIB_DROPDOWN | rTbx.GetItemBits( nId ) );
+ addStatusListener( OUString( ".uno:XLineColor" ) );
+ pBtnUpdater.reset( new ::svx::ToolboxButtonColorUpdater( nSlotId, nId, &GetToolBox() ) );
+}
+
+SvxLineColorToolBoxControl::~SvxLineColorToolBoxControl()
+{
+}
+
+SfxPopupWindowType SvxLineColorToolBoxControl::GetPopupWindowType() const
+{
+ return SFX_POPUPWINDOW_ONTIMEOUT;
+}
+
+SfxPopupWindow* SvxLineColorToolBoxControl::CreatePopupWindow()
+{
+ SvxColorWindow_Impl* pColorWin =
+ new SvxColorWindow_Impl(
+ m_aCommandURL,
+ GetSlotId(),
+ m_xFrame,
+ SVX_RESSTR( RID_SVXSTR_LINECOLOR ),
+ &GetToolBox() );
+
+ pColorWin->StartPopupMode( &GetToolBox(),
+ FLOATWIN_POPUPMODE_GRABFOCUS|FLOATWIN_POPUPMODE_ALLOWTEAROFF|FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE );
+ pColorWin->StartSelection();
+ SetPopupWindow( pColorWin );
+ pColorWin->SetSelectedHdl( LINK( this, SvxLineColorToolBoxControl, SelectedHdl ) );
+ return pColorWin;
+}
+
+IMPL_LINK(SvxLineColorToolBoxControl, SelectedHdl, Color*, pColor)
+{
+ pBtnUpdater->Update( *pColor );
+ mLastColor = *pColor;
+ return 0;
+}
+
+void SvxLineColorToolBoxControl::StateChanged(
+
+ sal_uInt16 /*nSID*/, SfxItemState eState, const SfxPoolItem* /*pState*/ )
+
+{
+ ToolBox& rTbx = GetToolBox();
+ sal_uInt16 nId = GetId();
+ rTbx.EnableItem( nId, SFX_ITEM_DISABLED != eState );
+ rTbx.SetItemState( nId, ( SFX_ITEM_DONTCARE == eState ) ? TRISTATE_INDET : TRISTATE_FALSE );
+}
+
+void SvxLineColorToolBoxControl::Select(sal_uInt16 /*nSelectModifier*/)
+{
+ Sequence< PropertyValue > aArgs( 1 );
+ aArgs[0].Name = "XLineColor";
+ aArgs[0].Value = makeAny( (sal_uInt32)( mLastColor.GetColor() ));
+ Dispatch( OUString( ".uno:XLineColor" ), aArgs );
+}
+
+
// class SvxFrameToolBoxControl ------------------------------------------
diff --git a/svx/source/tbxctrls/tbcontrl.src b/svx/source/tbxctrls/tbcontrl.src
index 94151bf5049a..793eb76445d7 100644
--- a/svx/source/tbxctrls/tbcontrl.src
+++ b/svx/source/tbxctrls/tbcontrl.src
@@ -71,6 +71,11 @@ String RID_SVXSTR_FRAME_COLOR
Text [ en-US ] = "Border Color" ;
};
+String RID_SVXSTR_LINECOLOR
+{
+ Text [ en-US ] = "Line Color" ;
+};
+
ComboBox RID_SVXTBX_STYLE
{
HelpId = HID_STYLE_LISTBOX ;
diff --git a/svx/source/tbxctrls/tbxcolorupdate.cxx b/svx/source/tbxctrls/tbxcolorupdate.cxx
index 6f1b86736a49..fc12a36274a7 100644
--- a/svx/source/tbxctrls/tbxcolorupdate.cxx
+++ b/svx/source/tbxctrls/tbxcolorupdate.cxx
@@ -67,6 +67,9 @@ namespace svx
case SID_BACKGROUND_COLOR :
Update( COL_YELLOW );
break;
+ case SID_ATTR_LINE_COLOR:
+ Update( COL_BLACK );
+ break;
default :
Update( COL_TRANSPARENT );
}
diff --git a/sw/uiconfig/sglobal/toolbar/drawingobjectbar.xml b/sw/uiconfig/sglobal/toolbar/drawingobjectbar.xml
index f9cfdd9643ab..376a5015949f 100644
--- a/sw/uiconfig/sglobal/toolbar/drawingobjectbar.xml
+++ b/sw/uiconfig/sglobal/toolbar/drawingobjectbar.xml
@@ -25,7 +25,7 @@
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:LineWidth"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:XLineColor"/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:style="dropdown"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:FormatArea"/>
<toolbar:toolbarseparator/>
diff --git a/sw/uiconfig/sweb/toolbar/drawingobjectbar.xml b/sw/uiconfig/sweb/toolbar/drawingobjectbar.xml
index c87522fca404..71e2ad0f8678 100644
--- a/sw/uiconfig/sweb/toolbar/drawingobjectbar.xml
+++ b/sw/uiconfig/sweb/toolbar/drawingobjectbar.xml
@@ -25,7 +25,7 @@
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="10171"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="10172"/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:style="dropdown" toolbar:helpid="10172"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="10142"/>
<toolbar:toolbarseparator/>
diff --git a/sw/uiconfig/swform/toolbar/drawingobjectbar.xml b/sw/uiconfig/swform/toolbar/drawingobjectbar.xml
index f9cfdd9643ab..376a5015949f 100644
--- a/sw/uiconfig/swform/toolbar/drawingobjectbar.xml
+++ b/sw/uiconfig/swform/toolbar/drawingobjectbar.xml
@@ -25,7 +25,7 @@
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:LineWidth"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:XLineColor"/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:style="dropdown"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:FormatArea"/>
<toolbar:toolbarseparator/>
diff --git a/sw/uiconfig/swreport/toolbar/drawingobjectbar.xml b/sw/uiconfig/swreport/toolbar/drawingobjectbar.xml
index f9cfdd9643ab..376a5015949f 100644
--- a/sw/uiconfig/swreport/toolbar/drawingobjectbar.xml
+++ b/sw/uiconfig/swreport/toolbar/drawingobjectbar.xml
@@ -25,7 +25,7 @@
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:LineWidth"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:XLineColor"/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:style="dropdown"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:FormatArea"/>
<toolbar:toolbarseparator/>
diff --git a/sw/uiconfig/swriter/toolbar/drawingobjectbar.xml b/sw/uiconfig/swriter/toolbar/drawingobjectbar.xml
index f9cfdd9643ab..376a5015949f 100644
--- a/sw/uiconfig/swriter/toolbar/drawingobjectbar.xml
+++ b/sw/uiconfig/swriter/toolbar/drawingobjectbar.xml
@@ -25,7 +25,7 @@
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:LineWidth"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:XLineColor"/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:style="dropdown"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:FormatArea"/>
<toolbar:toolbarseparator/>
diff --git a/sw/uiconfig/swxform/toolbar/drawingobjectbar.xml b/sw/uiconfig/swxform/toolbar/drawingobjectbar.xml
index f9cfdd9643ab..376a5015949f 100644
--- a/sw/uiconfig/swxform/toolbar/drawingobjectbar.xml
+++ b/sw/uiconfig/swxform/toolbar/drawingobjectbar.xml
@@ -25,7 +25,7 @@
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:LineWidth"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:XLineColor"/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:style="dropdown"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:FormatArea"/>
<toolbar:toolbarseparator/>