diff options
author | Maxim Monastirsky <momonasmon@gmail.com> | 2014-10-24 11:03:19 +0300 |
---|---|---|
committer | Maxim Monastirsky <momonasmon@gmail.com> | 2014-10-24 11:45:02 +0300 |
commit | 518b30527955276363f2cd6ccb5019d15de51413 (patch) | |
tree | cb29f6663daa0fb81637d9b62f706750a5718300 /svx | |
parent | 312d903b8ec1805da91f7af367ba18cfe63313a3 (diff) |
Related: fdo#84844 Support fill color in SvxColorToolBoxControl
Change-Id: I6ccc1d4e71a9fe76cd16dd957f626722aaba543c
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/tbxctrls/tbcontrl.cxx | 29 | ||||
-rw-r--r-- | svx/source/tbxctrls/tbcontrl.src | 5 | ||||
-rw-r--r-- | svx/source/tbxctrls/tbxcolorupdate.cxx | 4 |
3 files changed, 37 insertions, 1 deletions
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index 3f90933b8810..cc5b17202839 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -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 ) ); } diff --git a/svx/source/tbxctrls/tbcontrl.src b/svx/source/tbxctrls/tbcontrl.src index ccda7f645dee..b13cf629d6dd 100644 --- a/svx/source/tbxctrls/tbcontrl.src +++ b/svx/source/tbxctrls/tbcontrl.src @@ -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 ; diff --git a/svx/source/tbxctrls/tbxcolorupdate.cxx b/svx/source/tbxctrls/tbxcolorupdate.cxx index d7447aa199a9..62a022472efe 100644 --- a/svx/source/tbxctrls/tbxcolorupdate.cxx +++ b/svx/source/tbxctrls/tbxcolorupdate.cxx @@ -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 ); } |