[Libreoffice-commits] core.git: cui/source

Katarina Behrens Katarina.Behrens at cib.de
Fri Mar 31 10:54:57 UTC 2017


 cui/source/tabpages/tpgradnt.cxx |    9 ++++++++-
 cui/source/tabpages/tphatch.cxx  |    9 +++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)

New commits:
commit ff1f83dd08b7b0169301ffe0a53499a27af613b9
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date:   Fri Mar 31 10:00:40 2017 +0200

    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 at libreoffice.org>
    Reviewed-by: Katarina Behrens <Katarina.Behrens at cib.de>

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 )
 {


More information about the Libreoffice-commits mailing list