diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2016-01-08 18:22:04 +0100 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2016-03-24 22:40:41 +0100 |
commit | d97029895b3e3e6299e759e52629c04b1eac217f (patch) | |
tree | ef5efa7bba4e61bb7f920a18ddd566569f39cd11 | |
parent | e637b6743a506ef74c93ccbe15ab6642f3baa34f (diff) |
MM: abort email MM without an email DB column
Change-Id: Ia35a64d08f47af577426749712fa37c3b3b0b6e6
-rw-r--r-- | sw/source/uibase/dbui/dbmgr.cxx | 47 |
1 files changed, 26 insertions, 21 deletions
diff --git a/sw/source/uibase/dbui/dbmgr.cxx b/sw/source/uibase/dbui/dbmgr.cxx index 0751476d3687..8331a44637d1 100644 --- a/sw/source/uibase/dbui/dbmgr.cxx +++ b/sw/source/uibase/dbui/dbmgr.cxx @@ -952,12 +952,6 @@ bool SwDBManager::MergeMailFiles(SwWrtShell* pSourceShell, const bool bNeedsTempFiles = ( bMT_EMAIL || bMT_FILE ); const bool bCreateSingleFile = rMergeDescriptor.bCreateSingleFile; - ::rtl::Reference< MailDispatcher > xMailDispatcher; - OUString sMailBodyMimeType; - rtl_TextEncoding sMailEncoding = ::osl_getThreadTextEncoding(); - - bool bNoError = true; - // Setup for dumping debugging documents static const char *sMaxDumpDocs = nullptr; static sal_Int32 nMaxDumpDocs = 0; @@ -970,27 +964,23 @@ bool SwDBManager::MergeMailFiles(SwWrtShell* pSourceShell, nMaxDumpDocs = rtl_ustr_toInt32(reinterpret_cast<const sal_Unicode*>( sMaxDumpDocs ), 10); } - if( bMT_EMAIL ) - { - xMailDispatcher.set( new MailDispatcher(rMergeDescriptor.xSmtpServer)); - if(!rMergeDescriptor.bSendAsAttachment && rMergeDescriptor.bSendAsHTML) - { - sMailBodyMimeType = "text/html; charset="; - sMailBodyMimeType += OUString::createFromAscii( - rtl_getBestMimeCharsetFromTextEncoding( sMailEncoding )); - SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get(); - sMailEncoding = rHtmlOptions.GetTextEncoding(); - } - else - sMailBodyMimeType = "text/plain; charset=UTF-8; format=flowed"; - } + ::rtl::Reference< MailDispatcher > xMailDispatcher; + OUString sMailBodyMimeType; + rtl_TextEncoding sMailEncoding = ::osl_getThreadTextEncoding(); + + bool bNoError = true; uno::Reference< beans::XPropertySet > xColumnProp; { // Check for (mandatory) email or (optional) filename column SwDBFormatData aColumnDBFormat; bool bColumnName = !rMergeDescriptor.sDBcolumn.isEmpty(); - if( bColumnName ) + if( ! bColumnName ) + { + if( bMT_EMAIL ) + return false; + } + else { uno::Reference< sdbcx::XColumnsSupplier > xColsSupp( pImpl->pMergeData->xResultSet, uno::UNO_QUERY ); uno::Reference<container::XNameAccess> xCols = xColsSupp->getColumns(); @@ -1001,6 +991,21 @@ bool SwDBManager::MergeMailFiles(SwWrtShell* pSourceShell, aColumnDBFormat.xFormatter = pImpl->pMergeData->xFormatter; aColumnDBFormat.aNullDate = pImpl->pMergeData->aNullDate; + + if( bMT_EMAIL ) + { + xMailDispatcher.set( new MailDispatcher(rMergeDescriptor.xSmtpServer)); + if(!rMergeDescriptor.bSendAsAttachment && rMergeDescriptor.bSendAsHTML) + { + sMailBodyMimeType = "text/html; charset="; + sMailBodyMimeType += OUString::createFromAscii( + rtl_getBestMimeCharsetFromTextEncoding( sMailEncoding )); + SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get(); + sMailEncoding = rHtmlOptions.GetTextEncoding(); + } + else + sMailBodyMimeType = "text/plain; charset=UTF-8; format=flowed"; + } } // Try saving the source document |