summaryrefslogtreecommitdiffstats
path: root/sw/source/filter/xml/wrtxml.cxx
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2008-07-08 07:02:25 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2008-07-08 07:02:25 +0000
commitf29357792f91eff287e36ab16ccfa5f8655600eb (patch)
tree37320c2243e73166fa29531db79486f001db4d28 /sw/source/filter/xml/wrtxml.cxx
parentINTEGRATION: CWS fwk90 (1.47.88); FILE MERGED (diff)
downloadcore-f29357792f91eff287e36ab16ccfa5f8655600eb.tar.gz
core-f29357792f91eff287e36ab16ccfa5f8655600eb.zip
INTEGRATION: CWS fwk90 (1.61.90); FILE MERGED
2008/06/16 09:06:30 mav 1.61.90.2: fix typo 2008/06/06 11:31:39 mav 1.61.90.1: #i60623# store meta-information for database embedded forms
Diffstat (limited to 'sw/source/filter/xml/wrtxml.cxx')
-rw-r--r--sw/source/filter/xml/wrtxml.cxx24
1 files changed, 21 insertions, 3 deletions
diff --git a/sw/source/filter/xml/wrtxml.cxx b/sw/source/filter/xml/wrtxml.cxx
index 38a81f48d8b3..e944ad81aba7 100644
--- a/sw/source/filter/xml/wrtxml.cxx
+++ b/sw/source/filter/xml/wrtxml.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: wrtxml.cxx,v $
- * $Revision: 1.61 $
+ * $Revision: 1.62 $
*
* This file is part of OpenOffice.org.
*
@@ -40,6 +40,7 @@
#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
#include <com/sun/star/document/XExporter.hpp>
#include <com/sun/star/document/XFilter.hpp>
+#include <com/sun/star/frame/XModule.hpp>
#include <comphelper/processfactory.hxx>
#include <comphelper/genericpropertyset.hxx>
#include <unotools/streamwrap.hxx>
@@ -365,8 +366,25 @@ pGraphicHelper = SvXMLGraphicHelper::Create( xStg,
sal_Bool bWarn = sal_False, bErr = sal_False;
String sWarnFile, sErrFile;
- if( !bOrganizerMode && !bBlock &&
- SFX_CREATE_MODE_EMBEDDED != pDoc->GetDocShell()->GetCreateMode() )
+ sal_Bool bStoreMeta = ( SFX_CREATE_MODE_EMBEDDED != pDoc->GetDocShell()->GetCreateMode() );
+ if ( !bStoreMeta )
+ {
+ try
+ {
+ Reference< frame::XModule > xModule( xModelComp, UNO_QUERY );
+ if ( xModule.is() )
+ {
+ ::rtl::OUString aModuleID = xModule->getIdentifier();
+ bStoreMeta = ( aModuleID.getLength()
+ && ( aModuleID.equals( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sdb.FormDesign" ) ) )
+ || aModuleID.equals( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sdb.TextReportDesign" ) ) ) ) );
+ }
+ }
+ catch( uno::Exception& )
+ {}
+ }
+
+ if( !bOrganizerMode && !bBlock && bStoreMeta )
{
if( !WriteThroughComponent(
xModelComp, "meta.xml", xServiceFactory,