diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2016-11-06 01:19:01 +0300 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-11-14 08:56:42 +0000 |
commit | 450762b224d62ded0c55144fee0796085dd4def3 (patch) | |
tree | 29ff18f83485fe8d0c3ad3f70f70f02b6c071a01 /sfx2/source | |
parent | 6b35488c723e2f2266f7e377ad53a82af7b6fede (diff) |
tdf#68118: Pass current document frame to SvxScriptSelectorDialog
... through MacroChooser
Without this, current document's macros library is unavailable in
"Assign" dialog
Change-Id: I83baa3b98858260eab61e8f4fefde3f9979c6d83
Reviewed-on: https://gerrit.libreoffice.org/30600
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sfx2/source')
-rw-r--r-- | sfx2/source/appl/appserv.cxx | 16 | ||||
-rw-r--r-- | sfx2/source/control/request.cxx | 12 |
2 files changed, 23 insertions, 5 deletions
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx index 7345027ab9ec..e804007ce55c 100644 --- a/sfx2/source/appl/appserv.cxx +++ b/sfx2/source/appl/appserv.cxx @@ -1190,17 +1190,17 @@ void SfxApplication::MiscState_Impl(SfxItemSet &rSet) #ifndef DISABLE_DYNLOADING -typedef rtl_uString* (SAL_CALL *basicide_choose_macro)(void*, sal_Bool, rtl_uString*); +typedef rtl_uString* (SAL_CALL *basicide_choose_macro)(void*, void*, sal_Bool, rtl_uString*); extern "C" { static void SAL_CALL thisModule() {} } #else -extern "C" rtl_uString* basicide_choose_macro(void*, sal_Bool, rtl_uString*); +extern "C" rtl_uString* basicide_choose_macro(void*, void*, sal_Bool, rtl_uString*); #endif -OUString ChooseMacro( const Reference< XModel >& rxLimitToDocument, bool bChooseOnly ) +OUString ChooseMacro( const Reference< XModel >& rxLimitToDocument, const Reference< XFrame >& xDocFrame, bool bChooseOnly ) { #ifndef DISABLE_DYNLOADING osl::Module aMod; @@ -1220,7 +1220,7 @@ OUString ChooseMacro( const Reference< XModel >& rxLimitToDocument, bool bChoose // call basicide_choose_macro in basctl OUString rMacroDesc; - rtl_uString* pScriptURL = pSymbol( rxLimitToDocument.get(), bChooseOnly, rMacroDesc.pData ); + rtl_uString* pScriptURL = pSymbol( rxLimitToDocument.get(), xDocFrame.get(), bChooseOnly, rMacroDesc.pData ); OUString aScriptURL( pScriptURL ); rtl_uString_release( pScriptURL ); return aScriptURL; @@ -1469,7 +1469,13 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq ) } } - rReq.SetReturnValue( SfxStringItem( rReq.GetSlot(), ChooseMacro( xLimitToModel, bChooseOnly ) ) ); + Reference< XFrame > xFrame; + const SfxItemSet* pIntSet = rReq.GetInternalArgs_Impl(); + const SfxUnoFrameItem* pFrameItem = SfxItemSet::GetItem<SfxUnoFrameItem>(pIntSet, SID_FILLFRAME, false); + if (pFrameItem) + xFrame = pFrameItem->GetFrame(); + + rReq.SetReturnValue(SfxStringItem(rReq.GetSlot(), ChooseMacro(xLimitToModel, xFrame, bChooseOnly))); rReq.Done(); } break; diff --git a/sfx2/source/control/request.cxx b/sfx2/source/control/request.cxx index 2cadc7924525..2c8f1ea69cb4 100644 --- a/sfx2/source/control/request.cxx +++ b/sfx2/source/control/request.cxx @@ -267,6 +267,18 @@ SfxRequest::SfxRequest } +SfxRequest::SfxRequest +( + sal_uInt16 nSlotId, + SfxCallMode nMode, + const SfxAllItemSet& rSfxArgs, + const SfxAllItemSet& rSfxInternalArgs +) +: SfxRequest(nSlotId, nMode, rSfxArgs) +{ + SetInternalArgs_Impl(rSfxInternalArgs); +} + SfxCallMode SfxRequest::GetCallMode() const { return pImpl->nCallMode; |