diff options
author | Katarina Behrens <Katarina.Behrens@cib.de> | 2017-03-31 10:00:40 +0200 |
---|---|---|
committer | Katarina Behrens <Katarina.Behrens@cib.de> | 2017-03-31 10:54:34 +0000 |
commit | ff1f83dd08b7b0169301ffe0a53499a27af613b9 (patch) | |
tree | fa553938d3a2c30af42361156b9ce02967a06ec0 /cui | |
parent | 541b377a94fb1247dbf4c39b5bcf55deb8e5ef60 (diff) |
tdf#105922: Apply custom gradient/hatch even if not saved as preset
Change-Id: Ide35eb2c186d1ef5daaf96b1bd6d52448dfe69f9
Reviewed-on: https://gerrit.libreoffice.org/35961
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Diffstat (limited to 'cui')
-rw-r--r-- | cui/source/tabpages/tpgradnt.cxx | 9 | ||||
-rw-r--r-- | cui/source/tabpages/tphatch.cxx | 9 |
2 files changed, 15 insertions, 3 deletions
diff --git a/cui/source/tabpages/tpgradnt.cxx b/cui/source/tabpages/tpgradnt.cxx index 6bd9788d296b..505d156b4b3c 100644 --- a/cui/source/tabpages/tpgradnt.cxx +++ b/cui/source/tabpages/tpgradnt.cxx @@ -227,7 +227,7 @@ bool SvxGradientTabPage::FillItemSet( SfxItemSet* rSet ) { std::unique_ptr<XGradient> pXGradient; OUString aString; - size_t nPos = m_pGradientLB->GetSelectItemPos(); + size_t nPos = m_pGradientLB->IsNoSelection() ? VALUESET_ITEM_NOTFOUND : m_pGradientLB->GetSelectItemPos(); if( nPos != VALUESET_ITEM_NOTFOUND ) { pXGradient.reset(new XGradient( m_pGradientList->GetGradient( static_cast<sal_uInt16>(nPos) )->GetGradient() )); @@ -236,6 +236,7 @@ bool SvxGradientTabPage::FillItemSet( SfxItemSet* rSet ) else // gradient was passed (unidentified) { + aString = "gradient"; pXGradient.reset(new XGradient( m_pLbColorFrom->GetSelectEntryColor(), m_pLbColorTo->GetSelectEntryColor(), (css::awt::GradientStyle) m_pLbGradientType->GetSelectEntryPos(), @@ -282,21 +283,26 @@ VclPtr<SfxTabPage> SvxGradientTabPage::Create( vcl::Window* pWindow, IMPL_LINK( SvxGradientTabPage, ModifiedListBoxHdl_Impl, ListBox&, rListBox, void ) { ModifiedHdl_Impl(&rListBox); + // gradient params changed, it is no longer one of the presets + m_pGradientLB->SetNoSelection(); } IMPL_LINK( SvxGradientTabPage, ModifiedColorListBoxHdl_Impl, SvxColorListBox&, rListBox, void ) { ModifiedHdl_Impl(&rListBox); + m_pGradientLB->SetNoSelection(); } IMPL_LINK( SvxGradientTabPage, ModifiedEditHdl_Impl, Edit&, rBox, void ) { ModifiedHdl_Impl(&rBox); + m_pGradientLB->SetNoSelection(); } IMPL_LINK( SvxGradientTabPage, ModifiedSliderHdl_Impl, Slider*, rSlider, void ) { ModifiedHdl_Impl(rSlider); + m_pGradientLB->SetNoSelection(); } IMPL_LINK_NOARG( SvxGradientTabPage, ChangeAutoStepHdl_Impl, CheckBox&, void ) @@ -312,6 +318,7 @@ IMPL_LINK_NOARG( SvxGradientTabPage, ChangeAutoStepHdl_Impl, CheckBox&, void ) m_pMtrIncrement->Enable(); } ModifiedHdl_Impl(m_pMtrIncrement); + m_pGradientLB->SetNoSelection(); } void SvxGradientTabPage::ModifiedHdl_Impl( void* pControl ) diff --git a/cui/source/tabpages/tphatch.cxx b/cui/source/tabpages/tphatch.cxx index 3c0c382e3e7b..a6e61d264537 100644 --- a/cui/source/tabpages/tphatch.cxx +++ b/cui/source/tabpages/tphatch.cxx @@ -253,13 +253,13 @@ bool SvxHatchTabPage::FillItemSet( SfxItemSet* rSet ) { std::unique_ptr<XHatch> pXHatch; OUString aString; - size_t nPos = m_pHatchLB->GetSelectItemPos(); + size_t nPos = m_pHatchLB->IsNoSelection() ? VALUESET_ITEM_NOTFOUND : m_pHatchLB->GetSelectItemPos(); if( nPos != VALUESET_ITEM_NOTFOUND ) { pXHatch.reset(new XHatch( m_pHatchingList->GetHatch( static_cast<sal_uInt16>(nPos) )->GetHatch() )); aString = m_pHatchLB->GetItemText( m_pHatchLB->GetSelectItemId() ); } - // gradient has been (unidentified) passed + // unidentified hatch has been passed else { pXHatch.reset(new XHatch( m_pLbLineColor->GetSelectEntryColor(), @@ -309,11 +309,14 @@ VclPtr<SfxTabPage> SvxHatchTabPage::Create( vcl::Window* pWindow, IMPL_LINK( SvxHatchTabPage, ModifiedListBoxHdl_Impl, ListBox&, rListBox, void ) { ModifiedHdl_Impl(&rListBox); + // hatch params have changed, it is no longer one of the presets + m_pHatchLB->SetNoSelection(); } IMPL_LINK( SvxHatchTabPage, ModifiedColorListBoxHdl_Impl, SvxColorListBox&, rListBox, void ) { ModifiedHdl_Impl(&rListBox); + m_pHatchLB->SetNoSelection(); } IMPL_LINK_NOARG( SvxHatchTabPage, ToggleHatchBackgroundColor_Impl, CheckBox&, void ) @@ -344,11 +347,13 @@ IMPL_LINK_NOARG( SvxHatchTabPage, ModifiedBackgroundHdl_Impl, SvxColorListBox&, IMPL_LINK( SvxHatchTabPage, ModifiedEditHdl_Impl, Edit&, rEdit, void ) { ModifiedHdl_Impl(&rEdit); + m_pHatchLB->SetNoSelection(); } IMPL_LINK( SvxHatchTabPage, ModifiedSliderHdl_Impl, Slider*, rSlider, void ) { ModifiedHdl_Impl(rSlider); + m_pHatchLB->SetNoSelection(); } void SvxHatchTabPage::ModifiedHdl_Impl( void* p ) { |