diff options
Diffstat (limited to 'svx/source')
-rw-r--r-- | svx/source/sidebar/text/TextPropertyPanel.cxx | 19 | ||||
-rw-r--r-- | svx/source/sidebar/text/TextPropertyPanel.hxx | 1 | ||||
-rw-r--r-- | svx/source/tbxctrls/tbcontrl.cxx | 18 | ||||
-rw-r--r-- | svx/source/tbxctrls/tbcontrl.src | 5 |
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"; |