summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2017-03-31 10:00:40 +0200
committerKatarina Behrens <Katarina.Behrens@cib.de>2017-03-31 10:54:34 +0000
commitff1f83dd08b7b0169301ffe0a53499a27af613b9 (patch)
treefa553938d3a2c30af42361156b9ce02967a06ec0
parent541b377a94fb1247dbf4c39b5bcf55deb8e5ef60 (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>
-rw-r--r--cui/source/tabpages/tpgradnt.cxx9
-rw-r--r--cui/source/tabpages/tphatch.cxx9
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 )
{