[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.2' - svx/source

Ashod Nakashian (via logerrit) logerrit at kemper.freedesktop.org
Mon Nov 25 12:48:51 UTC 2019


 svx/source/dialog/hdft.cxx |   83 +++++++++++++++++++++++----------------------
 1 file changed, 43 insertions(+), 40 deletions(-)

New commits:
commit 46a1c0a733f1e664823dcb483796dbcc8a743f4a
Author:     Ashod Nakashian <ashod.nakashian at collabora.co.uk>
AuthorDate: Sun May 26 14:59:53 2019 -0400
Commit:     Ashod Nakashian <ashnakash at gmail.com>
CommitDate: Mon Nov 25 13:48:10 2019 +0100

    svx: LOK: convert background child-dialogs to async
    
    (cherry picked from commit 625a8c33bd95b4068838caef19af28c5404c59ce)
    
    Change-Id: I682ab039ce3732aa973e0fe371c191f1ca1b9ef7
    Reviewed-on: https://gerrit.libreoffice.org/83633
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>

diff --git a/svx/source/dialog/hdft.cxx b/svx/source/dialog/hdft.cxx
index c4d79ddd25ae..c5a072300493 100644
--- a/svx/source/dialog/hdft.cxx
+++ b/svx/source/dialog/hdft.cxx
@@ -622,57 +622,60 @@ IMPL_LINK_NOARG(SvxHFPage, BackgroundHdl, weld::Button&, void)
         *pBBSet,
         mbEnableDrawingLayerFillStyles));
 
-    if(RET_OK == pDlg->Execute() && pDlg->GetOutputItemSet())
-    {
-        SfxItemIter aIter(*pDlg->GetOutputItemSet());
-        const SfxPoolItem* pItem = aIter.FirstItem();
-
-        while(pItem)
+    pDlg->StartExecuteAsync([&](sal_Int32 nResult) {
+        if (nResult == RET_OK && pDlg->GetOutputItemSet())
         {
-            if(!IsInvalidItem(pItem))
-            {
-                pBBSet->Put(*pItem);
-            }
-
-            pItem = aIter.NextItem();
-        }
-
-        {
-            drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes;
+            SfxItemIter aIter(*pDlg->GetOutputItemSet());
+            const SfxPoolItem* pItem = aIter.FirstItem();
 
-            if(mbEnableDrawingLayerFillStyles)
+            while (pItem)
             {
-                // create FillAttributes directly from DrawingLayer FillStyle entries
-                aFillAttributes.reset(new drawinglayer::attribute::SdrAllFillAttributesHelper(*pBBSet));
+                if (!IsInvalidItem(pItem))
+                    pBBSet->Put(*pItem);
+
+                pItem = aIter.NextItem();
             }
-            else
+
             {
-                const sal_uInt16 nWhich = GetWhich(SID_ATTR_BRUSH);
+                drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes;
 
-                if(pBBSet->GetItemState(nWhich) == SfxItemState::SET)
+                if (mbEnableDrawingLayerFillStyles)
                 {
-                    // create FillAttributes from SvxBrushItem
-                    const SvxBrushItem& rItem = static_cast< const SvxBrushItem& >(pBBSet->Get(nWhich));
-                    SfxItemSet aTempSet(*pBBSet->GetPool(), svl::Items<XATTR_FILL_FIRST, XATTR_FILL_LAST>{});
-
-                    setSvxBrushItemAsFillAttributesToTargetSet(rItem, aTempSet);
-                    aFillAttributes.reset(new drawinglayer::attribute::SdrAllFillAttributesHelper(aTempSet));
+                    // create FillAttributes directly from DrawingLayer FillStyle entries
+                    aFillAttributes.reset(
+                        new drawinglayer::attribute::SdrAllFillAttributesHelper(*pBBSet));
+                }
+                else
+                {
+                    const sal_uInt16 nWhich = GetWhich(SID_ATTR_BRUSH);
+
+                    if (pBBSet->GetItemState(nWhich) == SfxItemState::SET)
+                    {
+                        // create FillAttributes from SvxBrushItem
+                        const SvxBrushItem& rItem
+                            = static_cast<const SvxBrushItem&>(pBBSet->Get(nWhich));
+                        SfxItemSet aTempSet(*pBBSet->GetPool(),
+                                            svl::Items<XATTR_FILL_FIRST, XATTR_FILL_LAST>{});
+
+                        setSvxBrushItemAsFillAttributesToTargetSet(rItem, aTempSet);
+                        aFillAttributes.reset(
+                            new drawinglayer::attribute::SdrAllFillAttributesHelper(aTempSet));
+                    }
                 }
-            }
 
-            if(SID_ATTR_PAGE_HEADERSET == nId)
-            {
-                //m_aBspWin.SetHdColor(rItem.GetColor());
-                m_aBspWin.setHeaderFillAttributes(aFillAttributes);
-            }
-            else
-            {
-                //m_aBspWin.SetFtColor(rItem.GetColor());
-                m_aBspWin.setFooterFillAttributes(aFillAttributes);
+                if (SID_ATTR_PAGE_HEADERSET == nId)
+                {
+                    //m_aBspWin.SetHdColor(rItem.GetColor());
+                    m_aBspWin.setHeaderFillAttributes(aFillAttributes);
+                }
+                else
+                {
+                    //m_aBspWin.SetFtColor(rItem.GetColor());
+                    m_aBspWin.setFooterFillAttributes(aFillAttributes);
+                }
             }
         }
-
-    }
+    });
 
     UpdateExample();
 }


More information about the Libreoffice-commits mailing list