summaryrefslogtreecommitdiff
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
parent312d903b8ec1805da91f7af367ba18cfe63313a3 (diff)
Related: fdo#84844 Support fill color in SvxColorToolBoxControl
Change-Id: I6ccc1d4e71a9fe76cd16dd957f626722aaba543c
-rw-r--r--icon-themes/galaxy/links.txt2
-rw-r--r--include/svx/dialogs.hrc1
-rw-r--r--officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu3
-rw-r--r--sc/source/ui/app/scdll.cxx1
-rw-r--r--sd/source/ui/app/sddll.cxx1
-rw-r--r--svx/source/tbxctrls/tbcontrl.cxx29
-rw-r--r--svx/source/tbxctrls/tbcontrl.src5
-rw-r--r--svx/source/tbxctrls/tbxcolorupdate.cxx4
-rw-r--r--sw/source/uibase/app/swmodule.cxx1
9 files changed, 46 insertions, 1 deletions
diff --git a/icon-themes/galaxy/links.txt b/icon-themes/galaxy/links.txt
index 2bd46e0f1f7c..cb176fcea991 100644
--- a/icon-themes/galaxy/links.txt
+++ b/icon-themes/galaxy/links.txt
@@ -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
diff --git a/include/svx/dialogs.hrc b/include/svx/dialogs.hrc
index 06980523e035..e06a8a717045 100644
--- a/include/svx/dialogs.hrc
+++ b/include/svx/dialogs.hrc
@@ -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)
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 91734b081faf..3417c20f340f 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -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">
diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx
index 072a551133ed..f20e3420bb41 100644
--- a/sc/source/ui/app/scdll.cxx
+++ b/sc/source/ui/app/scdll.cxx
@@ -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);
diff --git a/sd/source/ui/app/sddll.cxx b/sd/source/ui/app/sddll.cxx
index 4eda9f20f053..8f1c3e8a2596 100644
--- a/sd/source/ui/app/sddll.cxx
+++ b/sd/source/ui/app/sddll.cxx
@@ -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 );
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 );
}
diff --git a/sw/source/uibase/app/swmodule.cxx b/sw/source/uibase/app/swmodule.cxx
index ecec7df0a8a3..bd1809f64c33 100644
--- a/sw/source/uibase/app/swmodule.cxx
+++ b/sw/source/uibase/app/swmodule.cxx
@@ -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 );