summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorMaxim Monastirsky <momonasmon@gmail.com>2014-10-24 11:03:19 +0300
committerMaxim Monastirsky <momonasmon@gmail.com>2014-10-24 11:45:02 +0300
commit518b30527955276363f2cd6ccb5019d15de51413 (patch)
treecb29f6663daa0fb81637d9b62f706750a5718300 /svx
parent312d903b8ec1805da91f7af367ba18cfe63313a3 (diff)
Related: fdo#84844 Support fill color in SvxColorToolBoxControl
Change-Id: I6ccc1d4e71a9fe76cd16dd957f626722aaba543c
Diffstat (limited to 'svx')
-rw-r--r--svx/source/tbxctrls/tbcontrl.cxx29
-rw-r--r--svx/source/tbxctrls/tbcontrl.src5
-rw-r--r--svx/source/tbxctrls/tbxcolorupdate.cxx4
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 );
}