Kaydet (Commit) effa5990 authored tarafından Caolán McNamara's avatar Caolán McNamara

Related: tdf#116928 set specific parent for document warning dialog

Change-Id: I827563c16a2ae59c698e1bfa82022a11f5256483
Reviewed-on: https://gerrit.libreoffice.org/53055Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 79ee6c97
......@@ -374,11 +374,11 @@ void SvxHyperlinkNewDocTp::DoApply ()
if (pViewFrame)
{
SfxStringItem aNewName( SID_FILE_NAME, aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE ) );
SfxUnoFrameItem aDocFrame( SID_FILLFRAME, pViewFrame->GetFrame().GetFrameInterface() );
pViewFrame->GetDispatcher()->ExecuteList(
SID_SAVEASDOC, SfxCallMode::SYNCHRON,
{ &aNewName });
{ &aNewName }, { &aDocFrame } );
}
}
}
......
......@@ -130,9 +130,10 @@ public:
SfxItemSet const * pInternalArgs,
sal_uInt16 nModi);
const SfxPoolItem* ExecuteList( sal_uInt16 nSlot,
SfxCallMode nCall,
std::initializer_list<SfxPoolItem const*> args);
const SfxPoolItem* ExecuteList(sal_uInt16 nSlot,
SfxCallMode nCall,
std::initializer_list<SfxPoolItem const*> args,
std::initializer_list<SfxPoolItem const*> internalargs = std::initializer_list<SfxPoolItem const*>());
const SfxPoolItem* Execute( sal_uInt16 nSlot,
SfxCallMode nCall,
......
......@@ -1079,7 +1079,8 @@ const SfxPoolItem* SfxDispatcher::Execute(sal_uInt16 nSlot, SfxCallMode eCall,
});
*/
const SfxPoolItem* SfxDispatcher::ExecuteList(sal_uInt16 nSlot, SfxCallMode eCall,
std::initializer_list<SfxPoolItem const*> args)
std::initializer_list<SfxPoolItem const*> args,
std::initializer_list<SfxPoolItem const*> internalargs)
{
if ( IsLocked() )
return nullptr;
......@@ -1097,7 +1098,19 @@ const SfxPoolItem* SfxDispatcher::ExecuteList(sal_uInt16 nSlot, SfxCallMode eCal
MappedPut_Impl( aSet, *pArg );
}
SfxRequest aReq( nSlot, eCall, aSet );
SfxRequest aReq(nSlot, eCall, aSet);
if (internalargs.begin() != internalargs.end())
{
SfxAllItemSet aInternalSet(SfxGetpApp()->GetPool());
for (const SfxPoolItem *pArg : internalargs)
{
assert(pArg);
aInternalSet.Put(*pArg);
}
aReq.SetInternalArgs_Impl(aInternalSet);
}
Execute_( *pShell, *pSlot, aReq, eCall );
return aReq.GetReturnValue();
}
......
......@@ -698,7 +698,7 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
if ( lErr != ERRCODE_IO_ABORT )
{
SfxErrorContext aEc(ERRCTX_SFX_SAVEASDOC,GetTitle());
ErrorHandler::HandleError( lErr );
ErrorHandler::HandleError(lErr, rReq.GetFrameWeld());
}
if ( nId == SID_EXPORTDOCASPDF )
......@@ -787,7 +787,7 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
SetModified( false );
ErrCode lErr = GetErrorCode();
ErrorHandler::HandleError(lErr);
ErrorHandler::HandleError(lErr, rReq.GetFrameWeld());
rReq.SetReturnValue( SfxBoolItem(0, true) );
rReq.Done();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment