diff options
author | Ashod Nakashian <ashod.nakashian@collabora.co.uk> | 2019-05-26 14:59:53 -0400 |
---|---|---|
committer | Ashod Nakashian <ashnakash@gmail.com> | 2019-11-25 13:48:10 +0100 |
commit | 46a1c0a733f1e664823dcb483796dbcc8a743f4a (patch) | |
tree | 87da675599be2a60c38971f5d183556e48a9d273 /svx | |
parent | 90349075a0058623f3171acea54badcf7e3c972f (diff) |
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@gmail.com>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/dialog/hdft.cxx | 83 |
1 files changed, 43 insertions, 40 deletions
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(); } |