summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2022-10-18 17:02:41 -0400
committerMiklos Vajna <vmiklos@collabora.com>2022-11-04 08:33:18 +0100
commitfb8d94e77f16e0f9d3af42d64756bd771de9d17c (patch)
treec042047c3048f4e89523f7319c7581fe4f781bb0
parentf994f4312d8e166e79b36f7bf0f8c41c3f1082f4 (diff)
sw: add FN_PARA_1 to MAILPREPAREEXPORT slot
Reuse the code to use the functionality without the UpdateFields calls, otherwise it will reset the data source on the first record and export to pdf will have wrong data. Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: Iec3b44b91c06861cb22d0a7a7234bee6f6f817a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141519 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r--svx/sdi/svx.sdi2
-rw-r--r--sw/source/uibase/app/docsh2.cxx11
2 files changed, 10 insertions, 3 deletions
diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi
index c53fefd67d39..0be42759ae94 100644
--- a/svx/sdi/svx.sdi
+++ b/svx/sdi/svx.sdi
@@ -11770,7 +11770,7 @@ SfxVoidItem InsertRowsAfter SID_TABLE_INSERT_ROW_AFTER
]
SfxBoolItem PrepareMailExport SID_MAIL_PREPAREEXPORT
-()
+(SfxBoolItem On FN_PARAM_1)
[
AutoUpdate = FALSE,
FastCall = FALSE,
diff --git a/sw/source/uibase/app/docsh2.cxx b/sw/source/uibase/app/docsh2.cxx
index a5e79881e342..99eaf2249423 100644
--- a/sw/source/uibase/app/docsh2.cxx
+++ b/sw/source/uibase/app/docsh2.cxx
@@ -881,11 +881,18 @@ void SwDocShell::Execute(SfxRequest& rReq)
case SID_MAIL_PREPAREEXPORT:
{
+ const SfxPoolItem* pNoUpdate;
+
//pWrtShell is not set in page preview
if (m_pWrtShell)
m_pWrtShell->StartAllAction();
- m_xDoc->getIDocumentFieldsAccess().UpdateFields( false );
- m_xDoc->getIDocumentLinksAdministration().EmbedAllLinks();
+
+ if (!pArgs || (pArgs && !pArgs->HasItem(FN_PARAM_1, &pNoUpdate)))
+ {
+ m_xDoc->getIDocumentFieldsAccess().UpdateFields( false );
+ m_xDoc->getIDocumentLinksAdministration().EmbedAllLinks();
+ }
+
m_IsRemovedInvisibleContent
= officecfg::Office::Security::HiddenContent::RemoveHiddenContent::get();
if (m_IsRemovedInvisibleContent)