diff options
author | Muhammet Kara <muhammet.kara@collabora.com> | 2019-06-27 21:12:42 +0300 |
---|---|---|
committer | Muhammet Kara <muhammet.kara@collabora.com> | 2019-06-27 23:38:26 +0200 |
commit | d306d22d570817adb3986fc7054ae1e36768b8be (patch) | |
tree | 74c391c8f8745af10c299389aad3264dbb74651d /sw | |
parent | b82fdec369449e87df24acc8fa0daa54f2aeb4da (diff) |
lokdialog: Convert the Format -> Line... to async exec
for sw and sc
Change-Id: If89bff982d16ba8d4e4524445e56ee2fe23d7876
Reviewed-on: https://gerrit.libreoffice.org/74818
Tested-by: Jenkins
Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/uibase/shells/drawdlg.cxx | 58 |
1 files changed, 34 insertions, 24 deletions
diff --git a/sw/source/uibase/shells/drawdlg.cxx b/sw/source/uibase/shells/drawdlg.cxx index c2232bfa413b..b7e6fbd5ee11 100644 --- a/sw/source/uibase/shells/drawdlg.cxx +++ b/sw/source/uibase/shells/drawdlg.cxx @@ -144,36 +144,46 @@ void SwDrawShell::ExecDrawDlg(SfxRequest& rReq) pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); - ScopedVclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateSvxLineTabDialog(rReq.GetFrameWeld(), + VclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateSvxLineTabDialog(rReq.GetFrameWeld(), &aNewAttr, pDoc, pObj, bHasMarked)); - if (pDlg->Execute() == RET_OK) - { - pSh->StartAction(); - if(bHasMarked) - pView->SetAttrToMarked(*pDlg->GetOutputItemSet(), false); - else - pView->SetDefaultAttr(*pDlg->GetOutputItemSet(), false); - pSh->EndAction(); - static sal_uInt16 aInval[] = + pDlg->StartExecuteAsync([=](sal_Int32 nResult){ + if (nResult == RET_OK) { - SID_ATTR_LINE_STYLE, // ( SID_SVX_START + 169 ) - SID_ATTR_LINE_DASH, // ( SID_SVX_START + 170 ) - SID_ATTR_LINE_WIDTH, // ( SID_SVX_START + 171 ) - SID_ATTR_LINE_COLOR, // ( SID_SVX_START + 172 ) - SID_ATTR_LINE_START, // ( SID_SVX_START + 173 ) - SID_ATTR_LINE_END, // ( SID_SVX_START + 174 ) - SID_ATTR_LINE_TRANSPARENCE, // (SID_SVX_START+1107) - SID_ATTR_LINE_JOINT, // (SID_SVX_START+1110) - SID_ATTR_LINE_CAP, // (SID_SVX_START+1111) - 0 - }; - - GetView().GetViewFrame()->GetBindings().Invalidate(aInval); - } + pSh->StartAction(); + if(bHasMarked) + pView->SetAttrToMarked(*pDlg->GetOutputItemSet(), false); + else + pView->SetDefaultAttr(*pDlg->GetOutputItemSet(), false); + pSh->EndAction(); + + static sal_uInt16 aInval[] = + { + SID_ATTR_LINE_STYLE, // ( SID_SVX_START + 169 ) + SID_ATTR_LINE_DASH, // ( SID_SVX_START + 170 ) + SID_ATTR_LINE_WIDTH, // ( SID_SVX_START + 171 ) + SID_ATTR_LINE_COLOR, // ( SID_SVX_START + 172 ) + SID_ATTR_LINE_START, // ( SID_SVX_START + 173 ) + SID_ATTR_LINE_END, // ( SID_SVX_START + 174 ) + SID_ATTR_LINE_TRANSPARENCE, // (SID_SVX_START+1107) + SID_ATTR_LINE_JOINT, // (SID_SVX_START+1110) + SID_ATTR_LINE_CAP, // (SID_SVX_START+1111) + 0 + }; + + GetView().GetViewFrame()->GetBindings().Invalidate(aInval); + } + + if (pDoc->IsChanged()) + GetShell().SetModified(); + else if (bChanged) + pDoc->SetChanged(); + + pDlg->disposeOnce(); + }); } break; |