summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorAshod Nakashian <ashod.nakashian@collabora.co.uk>2019-05-26 14:59:53 -0400
committerAshod Nakashian <ashnakash@gmail.com>2019-11-25 13:48:10 +0100
commit46a1c0a733f1e664823dcb483796dbcc8a743f4a (patch)
tree87da675599be2a60c38971f5d183556e48a9d273 /svx
parent90349075a0058623f3171acea54badcf7e3c972f (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.cxx83
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();
}