Kaydet (Commit) 518b3052 authored tarafından Maxim Monastirsky's avatar Maxim Monastirsky

Related: fdo#84844 Support fill color in SvxColorToolBoxControl

Change-Id: I6ccc1d4e71a9fe76cd16dd957f626722aaba543c
üst 312d903b
......@@ -7,3 +7,5 @@ cmd/sc_showsinglepage.png cmd/sc_adddirect.png
cmd/sc_zoommode.png cmd/sc_zoomoptimal.png
cmd/sc_nexttrackedchange.png cmd/sc_arrowshapes.right-arrow.png
cmd/sc_previoustrackedchange.png cmd/sc_arrowshapes.left-arrow.png
cmd/sc_fillcolor.png cmd/sc_formatarea.png
cmd/lc_fillcolor.png cmd/lc_formatarea.png
\ No newline at end of file
......@@ -255,6 +255,7 @@
#define RID_SVXSTR_CHARFONTNAME (RID_SVX_START + 200)
#define RID_SVXSTR_LINECOLOR (RID_SVX_START + 201)
#define RID_SVXSTR_MORE_STYLES (RID_SVX_START + 202)
#define RID_SVXSTR_FILLCOLOR (RID_SVX_START + 203)
// Strings for insert/overwrite mode
#define RID_SVXSTR_INSERT_HELPTEXT (RID_SVX_START + 210)
......
......@@ -2513,6 +2513,9 @@
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Fill Color</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
<value>1</value>
</prop>
</node>
<node oor:name=".uno:StyleApply" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
......
......@@ -172,6 +172,7 @@ void ScDLL::Init()
SvxLineStyleToolBoxControl ::RegisterControl(0, pMod);
SvxLineWidthToolBoxControl ::RegisterControl(0, pMod);
SvxColorToolBoxControl ::RegisterControl(SID_ATTR_LINE_COLOR, pMod);
SvxColorToolBoxControl ::RegisterControl(SID_ATTR_FILL_COLOR, pMod);
SvxLineEndToolBoxControl ::RegisterControl(SID_ATTR_LINEEND_STYLE, pMod);
SvxStyleToolBoxControl ::RegisterControl(SID_STYLE_APPLY, pMod);
SvxFontNameToolBoxControl ::RegisterControl(SID_ATTR_CHAR_FONT, pMod);
......
......@@ -208,6 +208,7 @@ void SdDLL::RegisterControllers()
SvxLineStyleToolBoxControl::RegisterControl(0, pMod);
SvxLineWidthToolBoxControl::RegisterControl(0, pMod);
SvxColorToolBoxControl::RegisterControl(SID_ATTR_LINE_COLOR, pMod);
SvxColorToolBoxControl::RegisterControl(SID_ATTR_FILL_COLOR, pMod);
SvxLineEndToolBoxControl::RegisterControl( SID_ATTR_LINEEND_STYLE, pMod );
......
......@@ -1182,12 +1182,18 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString& rCommand,
mpAutomaticSeparator->Hide();
mpColorSet->SetAccessibleName( SVX_RESSTR( RID_SVXSTR_FRAME_COLOR ) );
}
else
else if ( SID_ATTR_LINE_COLOR == theSlotId )
{
mpButtonAutoColor->Hide();
mpAutomaticSeparator->Hide();
mpColorSet->SetAccessibleName( SVX_RESSTR( RID_SVXSTR_LINECOLOR ) );
}
else if ( SID_ATTR_FILL_COLOR == theSlotId )
{
mpButtonAutoColor->Hide();
mpAutomaticSeparator->Hide();
mpColorSet->SetAccessibleName( SVX_RESSTR( RID_SVXSTR_FILLCOLOR ) );
}
mpPaletteListBox->SetStyle( mpPaletteListBox->GetStyle() | WB_BORDER | WB_AUTOSIZE );
mpPaletteListBox->SetSelectHdl( LINK( this, SvxColorWindow_Impl, SelectPaletteHdl ) );
......@@ -1338,6 +1344,8 @@ void SvxColorWindow_Impl::StateChanged( sal_uInt16 nSID, SfxItemState eState, co
aColor = static_cast<const SvxColorItem*>(pState)->GetValue();
else if ( pState->ISA( XLineColorItem ) )
aColor = static_cast<const XLineColorItem*>(pState)->GetColorValue();
else if ( pState->ISA( XFillColorItem ) )
aColor = static_cast<const XFillColorItem*>(pState)->GetColorValue();
for ( size_t i = 1; i <= mpColorSet->GetItemCount(); ++i )
{
......@@ -2375,6 +2383,11 @@ SvxColorToolBoxControl::SvxColorToolBoxControl(
addStatusListener( OUString( ".uno:XLineColor" ));
mPaletteManager.SetLastColor( COL_BLACK );
break;
case SID_ATTR_FILL_COLOR:
addStatusListener( OUString( ".uno:FillColor" ));
mPaletteManager.SetLastColor( COL_DEFAULT_SHAPE_FILLING );
break;
}
if ( bSidebarType )
......@@ -2427,6 +2440,10 @@ SfxPopupWindow* SvxColorToolBoxControl::CreatePopupWindow()
case SID_ATTR_LINE_COLOR:
pColorWin->SetText( SVX_RESSTR( RID_SVXSTR_LINECOLOR ) );
break;
case SID_ATTR_FILL_COLOR:
pColorWin->SetText( SVX_RESSTR( RID_SVXSTR_FILLCOLOR ) );
break;
}
pColorWin->StartPopupMode( &GetToolBox(),
......@@ -2467,6 +2484,9 @@ void SvxColorToolBoxControl::StateChanged(
aColor = static_cast< const SvxColorItem* >(pState)->GetValue();
else if ( pState->ISA( XLineColorItem ) )
aColor = static_cast< const XLineColorItem* >(pState)->GetColorValue();
else if ( pState->ISA( XFillColorItem ) )
aColor = static_cast< const XFillColorItem* >(pState)->GetColorValue();
pBtnUpdater->Update( aColor );
}
}
......@@ -2521,6 +2541,11 @@ void SvxColorToolBoxControl::Select(sal_uInt16 /*nSelectModifier*/)
aCommand = ".uno:XLineColor";
aParamName = "XLineColor";
break;
case SID_ATTR_FILL_COLOR:
aCommand = ".uno:FillColor";
aParamName = "FillColor";
break;
}
Sequence< PropertyValue > aArgs( 1 );
......@@ -2538,6 +2563,8 @@ void SvxColorToolBoxControl::RegisterControl(sal_uInt16 nSlotId, SfxModule *pMod
{
if ( nSlotId == SID_ATTR_LINE_COLOR )
SfxToolBoxControl::RegisterToolBoxControl( pMod, new SfxTbxCtrlFactory( SvxColorToolBoxControl::CreateImpl, TYPE(XLineColorItem), nSlotId ) );
else if ( nSlotId == SID_ATTR_FILL_COLOR )
SfxToolBoxControl::RegisterToolBoxControl( pMod, new SfxTbxCtrlFactory( SvxColorToolBoxControl::CreateImpl, TYPE(XFillColorItem), nSlotId ) );
else
SfxToolBoxControl::RegisterToolBoxControl( pMod, new SfxTbxCtrlFactory( SvxColorToolBoxControl::CreateImpl, TYPE(SvxColorItem), nSlotId ) );
}
......
......@@ -76,6 +76,11 @@ String RID_SVXSTR_LINECOLOR
Text [ en-US ] = "Line Color" ;
};
String RID_SVXSTR_FILLCOLOR
{
Text [ en-US ] = "Fill Color" ;
};
ComboBox RID_SVXTBX_STYLE
{
HelpId = HID_STYLE_LISTBOX ;
......
......@@ -20,6 +20,7 @@
#include <svx/tbxcolorupdate.hxx>
#include <svx/svxids.hrc>
#include <svx/xdef.hxx>
#include <vcl/toolbox.hxx>
#include <vcl/bmpacc.hxx>
......@@ -70,6 +71,9 @@ namespace svx
case SID_ATTR_LINE_COLOR:
Update( COL_BLACK );
break;
case SID_ATTR_FILL_COLOR:
Update( COL_DEFAULT_SHAPE_FILLING );
break;
default :
Update( COL_TRANSPARENT );
}
......
......@@ -322,6 +322,7 @@ void SwDLL::RegisterControls()
SvxLineWidthToolBoxControl::RegisterControl(SID_ATTR_LINE_WIDTH, pMod );
SvxColorToolBoxControl::RegisterControl(SID_ATTR_LINE_COLOR, pMod );
SvxLineEndToolBoxControl::RegisterControl(SID_ATTR_LINEEND_STYLE, pMod );
SvxColorToolBoxControl::RegisterControl(SID_ATTR_FILL_COLOR, pMod);
SvxFontNameToolBoxControl::RegisterControl(SID_ATTR_CHAR_FONT, pMod );
SvxColorToolBoxControl::RegisterControl(SID_ATTR_CHAR_COLOR, pMod );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment