lokdialog: Convert the Format -> ... -> Area... to async exec.
Change-Id: I3756bd472b4e54db1d1c9da382d5d655f472bdb7 Reviewed-on: https://gerrit.libreoffice.org/48080 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
This commit is contained in:
@@ -52,19 +52,28 @@ rtl::Reference<FuPoor> FuArea::Create( ViewShell* pViewSh, ::sd::Window* pWin, :
|
|||||||
|
|
||||||
void FuArea::DoExecute( SfxRequest& rReq )
|
void FuArea::DoExecute( SfxRequest& rReq )
|
||||||
{
|
{
|
||||||
|
rReq.Ignore ();
|
||||||
|
|
||||||
const SfxItemSet* pArgs = rReq.GetArgs();
|
const SfxItemSet* pArgs = rReq.GetArgs();
|
||||||
|
if (pArgs)
|
||||||
if( !pArgs )
|
|
||||||
{
|
{
|
||||||
SfxItemSet aNewAttr( mpDoc->GetPool() );
|
mpViewShell->Cancel();
|
||||||
mpView->GetAttributes( aNewAttr );
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
|
SfxItemSet aNewAttr( mpDoc->GetPool() );
|
||||||
ScopedVclPtr<AbstractSvxAreaTabDialog> pDlg(pFact ? pFact->CreateSvxAreaTabDialog( nullptr,
|
mpView->GetAttributes( aNewAttr );
|
||||||
&aNewAttr,
|
|
||||||
mpDoc,
|
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
|
||||||
true) : nullptr);
|
VclPtr<AbstractSvxAreaTabDialog> pDlg(pFact ? pFact->CreateSvxAreaTabDialog(nullptr, &aNewAttr, mpDoc, true) : nullptr);
|
||||||
if( pDlg && (pDlg->Execute() == RET_OK) )
|
if (!pDlg)
|
||||||
|
{
|
||||||
|
mpViewShell->Cancel();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
pDlg->StartExecuteAsync([=](sal_Int32 nResult){
|
||||||
|
if (nResult == RET_OK)
|
||||||
{
|
{
|
||||||
mpView->SetAttributes (*(pDlg->GetOutputItemSet ()));
|
mpView->SetAttributes (*(pDlg->GetOutputItemSet ()));
|
||||||
|
|
||||||
@@ -81,10 +90,7 @@ void FuArea::DoExecute( SfxRequest& rReq )
|
|||||||
|
|
||||||
mpViewShell->GetViewFrame()->GetBindings().Invalidate( SidArray );
|
mpViewShell->GetViewFrame()->GetBindings().Invalidate( SidArray );
|
||||||
}
|
}
|
||||||
}
|
}, pDlg);
|
||||||
|
|
||||||
rReq.Ignore ();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FuArea::Activate()
|
void FuArea::Activate()
|
||||||
|
@@ -1374,7 +1374,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
|
|||||||
case SID_ATTRIBUTES_AREA: // BASIC
|
case SID_ATTRIBUTES_AREA: // BASIC
|
||||||
{
|
{
|
||||||
SetCurrentFunction( FuArea::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
|
SetCurrentFunction( FuArea::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
|
||||||
Cancel();
|
// Cancel() called directly in FuTransform::Create()
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user