diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-10-28 13:37:33 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-11-04 17:14:26 +0000 |
commit | 43bc3031483d172eccd72c3804e2d4fc2ef37de4 (patch) | |
tree | 991d98e8e61fae47ada28ba7a0b02e1d6c8e443f /svx/source/sidebar | |
parent | 44523738f094ff3987e85ea0c47b8c636bbe5786 (diff) |
unify color selectors
Note: this removes the use of auto-color from writer's asian text grid, because
its always invisible as far as I can see in practice.
Change-Id: Ie850790d740a4d56c43015e493e093678cef3b4e
Diffstat (limited to 'svx/source/sidebar')
-rw-r--r-- | svx/source/sidebar/area/AreaPropertyPanelBase.cxx | 97 | ||||
-rw-r--r-- | svx/source/sidebar/shadow/ShadowPropertyPanel.cxx | 37 | ||||
-rw-r--r-- | svx/source/sidebar/shadow/ShadowPropertyPanel.hxx | 11 |
3 files changed, 51 insertions, 94 deletions
diff --git a/svx/source/sidebar/area/AreaPropertyPanelBase.cxx b/svx/source/sidebar/area/AreaPropertyPanelBase.cxx index 5f90b223781a..318b95b20e23 100644 --- a/svx/source/sidebar/area/AreaPropertyPanelBase.cxx +++ b/svx/source/sidebar/area/AreaPropertyPanelBase.cxx @@ -167,10 +167,11 @@ void AreaPropertyPanelBase::Initialize() mpLbFillType->SetSelectHdl( LINK( this, AreaPropertyPanelBase, SelectFillTypeHdl ) ); Link<ListBox&,void> aLink = LINK( this, AreaPropertyPanelBase, SelectFillAttrHdl ); + Link<SvxColorListBox&,void> aLink3 = LINK( this, AreaPropertyPanelBase, SelectFillColorHdl ); mpLbFillAttr->SetSelectHdl( aLink ); mpGradientStyle->SetSelectHdl( aLink ); - mpLbFillGradFrom->SetSelectHdl( aLink ); - mpLbFillGradTo->SetSelectHdl( aLink ); + mpLbFillGradFrom->SetSelectHdl( aLink3 ); + mpLbFillGradTo->SetSelectHdl( aLink3 ); mpMTRAngle->SetModifyHdl(LINK(this,AreaPropertyPanelBase, ChangeGradientAngle)); mpLBTransType->SetSelectHdl(LINK(this, AreaPropertyPanelBase, ChangeTrgrTypeHdl_Impl)); @@ -296,61 +297,33 @@ IMPL_LINK_NOARG(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox&, void) mpToolBoxColor->Hide(); mpBmpImport->Hide(); - const SvxColorListItem* pColorListItem = static_cast<const SvxColorListItem*>(pSh->GetItem(SID_COLOR_TABLE)); - if(pColorListItem) - { - mpLbFillAttr->Enable(); - mpLbFillGradTo->Enable(); - mpLbFillGradFrom->Enable(); - mpGradientStyle->Enable(); - mpMTRAngle->Enable(); - mpLbFillAttr->Clear(); - mpLbFillGradTo->Clear(); - mpLbFillGradFrom->Clear(); - mpLbFillGradTo->Fill(pColorListItem->GetColorList()); - mpLbFillGradFrom->Fill(pColorListItem->GetColorList()); + mpLbFillAttr->Enable(); + mpLbFillGradTo->Enable(); + mpLbFillGradFrom->Enable(); + mpGradientStyle->Enable(); + mpMTRAngle->Enable(); + mpLbFillAttr->Clear(); - mpLbFillGradFrom->AdaptDropDownLineCountToMaximum(); - mpLbFillGradTo->AdaptDropDownLineCountToMaximum(); + if (LISTBOX_ENTRY_NOTFOUND != mnLastPosGradient) + { + const SvxGradientListItem aItem(*static_cast<const SvxGradientListItem*>(pSh->GetItem(SID_GRADIENT_LIST))); - if(LISTBOX_ENTRY_NOTFOUND != mnLastPosGradient) + if(mnLastPosGradient < aItem.GetGradientList()->Count()) { - const SvxGradientListItem aItem(*static_cast<const SvxGradientListItem*>(pSh->GetItem(SID_GRADIENT_LIST))); - - if(mnLastPosGradient < aItem.GetGradientList()->Count()) - { - const XGradient aGradient = aItem.GetGradientList()->GetGradient(mnLastPosGradient)->GetGradient(); - const XFillGradientItem aXFillGradientItem(aGradient); - - // #i122676# change FillStyle and Gradient in one call - XFillStyleItem aXFillStyleItem(drawing::FillStyle_GRADIENT); - setFillStyleAndGradient(&aXFillStyleItem, aXFillGradientItem); - mpLbFillGradFrom->SelectEntry(aGradient.GetStartColor()); - if(mpLbFillGradFrom->GetSelectEntryCount() == 0) - { - mpLbFillGradFrom->InsertEntry(aGradient.GetStartColor(), OUString()); - mpLbFillGradFrom->SelectEntry(aGradient.GetStartColor()); - } - mpLbFillGradTo->SelectEntry(aGradient.GetEndColor()); - if(mpLbFillGradTo->GetSelectEntryCount() == 0) - { - mpLbFillGradTo->InsertEntry(aGradient.GetEndColor(), OUString()); - mpLbFillGradTo->SelectEntry(aGradient.GetEndColor()); - } - - mpMTRAngle->SetValue(aGradient.GetAngle() / 10); - css::awt::GradientStyle eXGS = aGradient.GetGradientStyle(); - mpGradientStyle->SelectEntryPos(sal::static_int_cast< sal_Int32 >( eXGS )); - } + const XGradient aGradient = aItem.GetGradientList()->GetGradient(mnLastPosGradient)->GetGradient(); + const XFillGradientItem aXFillGradientItem(aGradient); + + // #i122676# change FillStyle and Gradient in one call + XFillStyleItem aXFillStyleItem(drawing::FillStyle_GRADIENT); + setFillStyleAndGradient(&aXFillStyleItem, aXFillGradientItem); + mpLbFillGradFrom->SelectEntry(aGradient.GetStartColor()); + mpLbFillGradTo->SelectEntry(aGradient.GetEndColor()); + + mpMTRAngle->SetValue(aGradient.GetAngle() / 10); + css::awt::GradientStyle eXGS = aGradient.GetGradientStyle(); + mpGradientStyle->SelectEntryPos(sal::static_int_cast< sal_Int32 >( eXGS )); } } - else - { - mpLbFillGradFrom->Disable(); - mpLbFillGradTo->Disable(); - mpMTRAngle->Disable(); - mpGradientStyle->Disable(); - } break; } case HATCH: @@ -475,6 +448,11 @@ IMPL_LINK_NOARG(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox&, void) } } +IMPL_LINK_NOARG(AreaPropertyPanelBase, SelectFillColorHdl, SvxColorListBox&, void) +{ + SelectFillAttrHdl_Impl(); +} + IMPL_LINK_NOARG(AreaPropertyPanelBase, SelectFillAttrHdl, ListBox&, void) { SelectFillAttrHdl_Impl(); @@ -1176,28 +1154,15 @@ void AreaPropertyPanelBase::Update() mpLbFillAttr->Enable(); mpLbFillAttr->Clear(); mpLbFillAttr->Fill(aItem.GetGradientList()); - const SvxColorListItem aColorItem(*static_cast<const SvxColorListItem*>(pSh->GetItem(SID_COLOR_TABLE))); - mpLbFillGradFrom->Fill(aColorItem.GetColorList()); - mpLbFillGradTo->Fill(aColorItem.GetColorList()); mpLbFillGradTo->SetNoSelection(); mpLbFillGradFrom->SetNoSelection(); - if(mpFillGradientItem) + if (mpFillGradientItem) { const OUString aString(mpFillGradientItem->GetName()); mpLbFillAttr->SelectEntry(aString); const XGradient aGradient = mpFillGradientItem->GetGradientValue(); mpLbFillGradFrom->SelectEntry(aGradient.GetStartColor()); - if(mpLbFillGradFrom->GetSelectEntryCount() == 0) - { - mpLbFillGradFrom->InsertEntry(aGradient.GetStartColor(), OUString()); - mpLbFillGradFrom->SelectEntry(aGradient.GetStartColor()); - } mpLbFillGradTo->SelectEntry(aGradient.GetEndColor()); - if(mpLbFillGradTo->GetSelectEntryCount() == 0) - { - mpLbFillGradTo->InsertEntry(aGradient.GetEndColor(), OUString()); - mpLbFillGradTo->SelectEntry(aGradient.GetEndColor()); - } mpGradientStyle->SelectEntryPos(sal::static_int_cast< sal_Int32 >( aGradient.GetGradientStyle() )); if(mpGradientStyle->GetSelectEntryPos() == (sal_Int32)GradientStyle::Radial) mpMTRAngle->Disable(); diff --git a/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx b/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx index a1ea3879f3dd..0766550e29cd 100644 --- a/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx +++ b/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx @@ -10,6 +10,7 @@ #include <ShadowPropertyPanel.hxx> #include <comphelper/string.hxx> #include <sfx2/sidebar/ControlFactory.hxx> +#include <svx/colorbox.hxx> #include <svx/dialogs.hrc> #include <svx/dialmgr.hxx> #include <sfx2/objsh.hxx> @@ -122,25 +123,18 @@ void ShadowPropertyPanel::dispose() void ShadowPropertyPanel::Initialize() { - SfxObjectShell* pSh = SfxObjectShell::Current(); - - const SvxColorListItem* pColorListItem = static_cast<const SvxColorListItem*>(pSh ? pSh->GetItem(SID_COLOR_TABLE) : nullptr); - if (pColorListItem) - { - mpLBShadowColor->Fill(pColorListItem->GetColorList()); - mpShowShadow->SetState( TRISTATE_FALSE ); - mpShowShadow->SetClickHdl( LINK(this, ShadowPropertyPanel, ClickShadowHdl ) ); - mpShadowTransMetric->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowTransMetricHdl) ); - mpLBShadowColor->SetSelectHdl( LINK( this, ShadowPropertyPanel, ModifyShadowColorHdl ) ); - mpShadowAngle->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowDistanceHdl) ); - mpShadowDistance->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowDistanceHdl) ); - mpShadowTransSlider->SetRange(Range(0,100)); - mpShadowTransSlider->SetUpdateMode(true); - mpShadowTransSlider->SetSlideHdl( LINK(this, ShadowPropertyPanel, ModifyShadowTransSliderHdl) ); - for(sal_uInt16 i = 0; i <= 20 ; i++) - mpShadowDistance->InsertValue(i*2,FUNIT_POINT); - InsertAngleValues(); - } + mpShowShadow->SetState( TRISTATE_FALSE ); + mpShowShadow->SetClickHdl( LINK(this, ShadowPropertyPanel, ClickShadowHdl ) ); + mpShadowTransMetric->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowTransMetricHdl) ); + mpLBShadowColor->SetSelectHdl( LINK( this, ShadowPropertyPanel, ModifyShadowColorHdl ) ); + mpShadowAngle->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowDistanceHdl) ); + mpShadowDistance->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowDistanceHdl) ); + mpShadowTransSlider->SetRange(Range(0,100)); + mpShadowTransSlider->SetUpdateMode(true); + mpShadowTransSlider->SetSlideHdl( LINK(this, ShadowPropertyPanel, ModifyShadowTransSliderHdl) ); + for(sal_uInt16 i = 0; i <= 20 ; i++) + mpShadowDistance->InsertValue(i*2,FUNIT_POINT); + InsertAngleValues(); } IMPL_LINK_NOARG(ShadowPropertyPanel, ClickShadowHdl, Button*, void) @@ -159,7 +153,7 @@ IMPL_LINK_NOARG(ShadowPropertyPanel, ClickShadowHdl, Button*, void) } } -IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowColorHdl, ListBox&, void) +IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowColorHdl, SvxColorListBox&, void) { XColorItem aItem(makeSdrShadowColorItem(mpLBShadowColor->GetSelectEntryColor())); GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_SHADOW_COLOR, @@ -320,9 +314,6 @@ void ShadowPropertyPanel::NotifyItemUpdate( { mpLBShadowColor->SelectEntry(pColorItem->GetColorValue()); } - else - { - } } } break; diff --git a/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx b/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx index 7e7288617d32..f3fd1c7e12eb 100644 --- a/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx +++ b/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx @@ -25,6 +25,7 @@ #include <sfx2/request.hxx> #include <svx/dlgctrl.hxx> +class SvxColorListBox; namespace svx { namespace sidebar { @@ -60,10 +61,10 @@ public: SfxBindings* pBindings); private: - VclPtr<CheckBox> mpShowShadow; - VclPtr<MetricBox> mpShadowDistance; - VclPtr<ColorLB> mpLBShadowColor; - VclPtr<MetricBox> mpShadowAngle; + VclPtr<CheckBox> mpShowShadow; + VclPtr<MetricBox> mpShadowDistance; + VclPtr<SvxColorListBox> mpLBShadowColor; + VclPtr<MetricBox> mpShadowAngle; VclPtr<FixedText> mpFTAngle; VclPtr<FixedText> mpFTDistance; VclPtr<FixedText> mpFTTransparency; @@ -84,7 +85,7 @@ private: void SetTransparencyValue(long); void UpdateControls(); DECL_LINK(ClickShadowHdl, Button*, void); - DECL_LINK(ModifyShadowColorHdl, ListBox&, void); + DECL_LINK(ModifyShadowColorHdl, SvxColorListBox&, void); DECL_LINK(ModifyShadowTransMetricHdl, Edit&, void); DECL_LINK(ModifyShadowDistanceHdl, Edit&, void); DECL_LINK(ModifyShadowTransSliderHdl, Slider*, void); |