summaryrefslogtreecommitdiff
path: root/svx/source
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source')
-rw-r--r--svx/source/sidebar/text/TextPropertyPanel.cxx19
-rw-r--r--svx/source/sidebar/text/TextPropertyPanel.hxx1
-rw-r--r--svx/source/tbxctrls/tbcontrl.cxx18
-rw-r--r--svx/source/tbxctrls/tbcontrl.src5
4 files changed, 38 insertions, 5 deletions
diff --git a/svx/source/sidebar/text/TextPropertyPanel.cxx b/svx/source/sidebar/text/TextPropertyPanel.cxx
index 5e4f48a4b293..01661366285f 100644
--- a/svx/source/sidebar/text/TextPropertyPanel.cxx
+++ b/svx/source/sidebar/text/TextPropertyPanel.cxx
@@ -97,8 +97,9 @@ TextPropertyPanel::TextPropertyPanel ( vcl::Window* pParent, const css::uno::Ref
get(mpToolBoxFont, "fonteffects");
get(mpToolBoxIncDec, "fontadjust");
get(mpToolBoxSpacing, "spacingbar");
- get(mpToolBoxFontColorSw, "colorbar");
- get(mpToolBoxFontColor, "colorsingle");
+ get(mpToolBoxFontColorSw, "colorbar_writer");
+ get(mpToolBoxFontColor, "colorbar_others");
+ get(mpToolBoxBackgroundColor, "colorbar_background");
//toolbox
SetupToolboxItems();
@@ -144,15 +145,20 @@ void TextPropertyPanel::HandleContextChange (
mpToolBoxIncDec->Show(maContext.GetApplication_DI() != sfx2::sidebar::EnumContext::Application_Calc);
bool bWriterText = false;
+ bool bDrawText = false;
+ bool bNeedTextSpacing = false;
+
switch (maContext.GetCombinedContext_DI())
{
case CombinedEnumContext(Application_Calc, Context_Cell):
case CombinedEnumContext(Application_Calc, Context_Pivot):
- mpToolBoxSpacing->Disable();
+ // bNeedTextSpacing = false;
break;
case CombinedEnumContext(Application_Calc, Context_EditCell):
case CombinedEnumContext(Application_Calc, Context_DrawText):
+ bNeedTextSpacing = true;
+
case CombinedEnumContext(Application_WriterVariants, Context_DrawText):
case CombinedEnumContext(Application_WriterVariants, Context_Annotation):
case CombinedEnumContext(Application_DrawImpress, Context_DrawText):
@@ -162,12 +168,13 @@ void TextPropertyPanel::HandleContextChange (
case CombinedEnumContext(Application_DrawImpress, Context_Draw):
case CombinedEnumContext(Application_DrawImpress, Context_TextObject):
case CombinedEnumContext(Application_DrawImpress, Context_Graphic):
- mpToolBoxSpacing->Enable();
+ bNeedTextSpacing = true;
+ bDrawText = true;
break;
case CombinedEnumContext(Application_WriterVariants, Context_Text):
case CombinedEnumContext(Application_WriterVariants, Context_Table):
- mpToolBoxSpacing->Enable();
+ bNeedTextSpacing = true;
bWriterText = true;
break;
@@ -175,8 +182,10 @@ void TextPropertyPanel::HandleContextChange (
break;
}
+ mpToolBoxSpacing->Enable(bNeedTextSpacing);
mpToolBoxFontColor->Show(!bWriterText);
mpToolBoxFontColorSw->Show(bWriterText);
+ mpToolBoxBackgroundColor->Show(bDrawText);
}
void TextPropertyPanel::DataChanged (const DataChangedEvent& /*rEvent*/)
diff --git a/svx/source/sidebar/text/TextPropertyPanel.hxx b/svx/source/sidebar/text/TextPropertyPanel.hxx
index 7ea19a69d754..30e494b164ca 100644
--- a/svx/source/sidebar/text/TextPropertyPanel.hxx
+++ b/svx/source/sidebar/text/TextPropertyPanel.hxx
@@ -87,6 +87,7 @@ private:
VclPtr<ToolBox> mpToolBoxSpacing;
VclPtr<ToolBox> mpToolBoxFontColorSw;
VclPtr<ToolBox> mpToolBoxFontColor;
+ VclPtr<ToolBox> mpToolBoxBackgroundColor;
//control items
::sfx2::sidebar::ControllerItem maFontSizeControl;
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index 2e962cc93946..50f20ee29959 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -1436,6 +1436,8 @@ void SvxColorWindow_Impl::StateChanged( sal_uInt16 nSID, SfxItemState eState, co
aColor = static_cast<const XLineColorItem*>(pState)->GetColorValue();
else if ( pState->ISA( XFillColorItem ) )
aColor = static_cast<const XFillColorItem*>(pState)->GetColorValue();
+ else if ( pState->ISA( SvxBackgroundColorItem ) )
+ aColor = static_cast<const SvxBackgroundColorItem*>(pState)->GetValue();
}
if ( aColor == COL_TRANSPARENT )
@@ -2553,6 +2555,11 @@ SvxColorToolBoxControl::SvxColorToolBoxControl(
bSidebarType = false;
break;
+ case SID_ATTR_CHAR_BACK_COLOR:
+ addStatusListener( OUString( ".uno:CharBackColor" ));
+ mPaletteManager.SetLastColor( COL_YELLOW );
+ break;
+
case SID_FRAME_LINECOLOR:
addStatusListener( OUString( ".uno:FrameLineColor" ));
addStatusListener( OUString( ".uno:BorderTLBR" ));
@@ -2616,6 +2623,10 @@ VclPtr<SfxPopupWindow> SvxColorToolBoxControl::CreatePopupWindow()
pColorWin->SetText( SVX_RESSTR( RID_SVXSTR_BACKGROUND ) );
break;
+ case SID_ATTR_CHAR_BACK_COLOR :
+ pColorWin->SetText( SVX_RESSTR( RID_SVXSTR_CHAR_BACK_COLOR ) );
+ break;
+
case SID_FRAME_LINECOLOR:
pColorWin->SetText( SVX_RESSTR( RID_SVXSTR_FRAME_COLOR ) );
break;
@@ -2714,6 +2725,11 @@ void SvxColorToolBoxControl::Select(sal_uInt16 /*nSelectModifier*/)
aParamName = "BackColor";
break;
+ case SID_ATTR_CHAR_BACK_COLOR :
+ aCommand = ".uno:CharBackColor";
+ aParamName = "CharBackColor";
+ break;
+
case SID_FRAME_LINECOLOR :
aCommand = ".uno:FrameLineColor";
aParamName = "FrameLineColor";
@@ -2752,6 +2768,8 @@ void SvxColorToolBoxControl::RegisterControl(sal_uInt16 nSlotId, SfxModule *pMod
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 if ( nSlotId == SID_ATTR_CHAR_BACK_COLOR )
+ SfxToolBoxControl::RegisterToolBoxControl( pMod, new SfxTbxCtrlFactory( SvxColorToolBoxControl::CreateImpl, TYPE(SvxBackgroundColorItem), 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 6e0add7d9ae8..f6cd74635dc8 100644
--- a/svx/source/tbxctrls/tbcontrl.src
+++ b/svx/source/tbxctrls/tbcontrl.src
@@ -125,6 +125,11 @@ String RID_SVXSTR_EXTRAS_CHARBACKGROUND
Text [ en-US ] = "Highlighting" ;
};
+String RID_SVXSTR_CHAR_BACK_COLOR
+{
+ Text [ en-US ] = "Text Background Color" ;
+};
+
String RID_SVXSTR_BACKGROUND
{
Text [ en-US ] = "Background";