diff options
Diffstat (limited to 'sw/source/ui/dbui/mmoutputpage.cxx')
-rw-r--r-- | sw/source/ui/dbui/mmoutputpage.cxx | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/sw/source/ui/dbui/mmoutputpage.cxx b/sw/source/ui/dbui/mmoutputpage.cxx index 5a5ba88615c3..2b6c5feeb2aa 100644 --- a/sw/source/ui/dbui/mmoutputpage.cxx +++ b/sw/source/ui/dbui/mmoutputpage.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -914,7 +914,7 @@ IMPL_LINK(SwMailMergeOutputPage, PrintHdl_Impl, PushButton*, EMPTYARG) rConfigItem.SetPrintRange( (USHORT)nBegin, (USHORT)nEnd ); SwDocMergeInfo& rStartInfo = rConfigItem.GetDocumentMergeInfo(nBegin); SwDocMergeInfo& rEndInfo = rConfigItem.GetDocumentMergeInfo(nEnd - 1); - + rtl::OUString sPages(rtl::OUString::valueOf( rStartInfo.nStartPageInTarget )); sPages += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - ")); sPages += rtl::OUString::valueOf( rEndInfo.nEndPageInTarget ); @@ -939,7 +939,7 @@ IMPL_LINK(SwMailMergeOutputPage, PrintHdl_Impl, PushButton*, EMPTYARG) aProps[0].Value <<= sal_True; aProps[1]. Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Pages")); aProps[1]. Value <<= sPages; - + pTargetView->ExecPrint( aProps, false, true ); SFX_APP()->NotifyEvent(SfxEventHint(SW_EVENT_MAIL_MERGE_END, SwDocShell::GetEventName(STR_SW_EVENT_MAIL_MERGE_END), pObjSh)); @@ -1043,7 +1043,6 @@ IMPL_LINK(SwMailMergeOutputPage, SendDocumentsHdl_Impl, PushButton*, pButton) nEnd = rConfigItem.GetMergedDocumentCount(); } bool bAsBody = false; - bool bIsPDF = false; rtl_TextEncoding eEncoding = ::gsl_getSystemTextEncoding(); SfxFilterContainer* pFilterContainer = SwDocShell::Factory().GetFilterContainer(); const SfxFilter *pSfxFlt = 0; @@ -1051,8 +1050,22 @@ IMPL_LINK(SwMailMergeOutputPage, SendDocumentsHdl_Impl, PushButton*, pButton) String sExtension = lcl_GetExtensionForDocType(nDocType); switch( nDocType ) { - case MM_DOCTYPE_OOO : break; - case MM_DOCTYPE_PDF : bIsPDF = true; break; + case MM_DOCTYPE_OOO: + { + //Make sure we don't pick e.g. the flat xml filter + //for this format + pSfxFlt = SwIoSystem::GetFilterOfFormat( + String::CreateFromAscii( FILTER_XML ), + SwDocShell::Factory().GetFilterContainer() ); + } + break; + case MM_DOCTYPE_PDF: + { + pSfxFlt = pFilterContainer->GetFilter4FilterName( + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("writer_pdf_Export")), + SFX_FILTER_EXPORT); + } + break; case MM_DOCTYPE_WORD: { //the method SwIOSystemGetFilterOfFormat( ) returns the template filter @@ -1195,14 +1208,6 @@ IMPL_LINK(SwMailMergeOutputPage, SendDocumentsHdl_Impl, PushButton*, pButton) INetURLObject(), utl::TempFile::CreateTempName(0), URIHelper::GetMaybeFileHdl()) ); -/* if(bIsPDF) - { - SfxDispatcher* pSfxDispatcher = pTempView->GetViewFrame()->GetDispatcher(); - pSfxDispatcher->Execute( - SID_DIRECTEXPORTDOCASPDF, - SFX_CALLMODE_SYNCHRON, &aName, &aFilterName, 0L ); - } - else*/ { uno::Sequence< beans::PropertyValue > aFilterValues(MM_DOCTYPE_TEXT == nDocType ? 2 : 1); beans::PropertyValue* pFilterValues = aFilterValues.getArray(); |