summaryrefslogtreecommitdiff
path: root/embeddedobj
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-01-08 22:50:33 +0100
committerFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-01-08 22:50:33 +0100
commit6c8e917336e086756517876afe5727415a5b1a78 (patch)
treeba4ffd5f87056b71f7c27681af0665684ffab5f8 /embeddedobj
parent64d9903a647efe5cb689fc6ff84175a911b69cfd (diff)
parent76d80a085464494175053ae5c8597fa0ad1d331a (diff)
autorecovery: merge after rebase to m69
Diffstat (limited to 'embeddedobj')
-rw-r--r--embeddedobj/source/commonembedding/miscobj.cxx2
-rw-r--r--embeddedobj/source/commonembedding/persistence.cxx30
-rw-r--r--embeddedobj/source/inc/commonembobj.hxx1
3 files changed, 18 insertions, 15 deletions
diff --git a/embeddedobj/source/commonembedding/miscobj.cxx b/embeddedobj/source/commonembedding/miscobj.cxx
index c99f47722d..884116978c 100644
--- a/embeddedobj/source/commonembedding/miscobj.cxx
+++ b/embeddedobj/source/commonembedding/miscobj.cxx
@@ -66,6 +66,7 @@ OCommonEmbeddedObject::OCommonEmbeddedObject( const uno::Reference< lang::XMulti
, m_xFactory( xFactory )
, m_nMiscStatus( 0 )
, m_bEmbeddedScriptSupport( sal_True )
+, m_bDocumentRecoverySupport( sal_True )
, m_bWaitSaveCompleted( sal_False )
, m_bIsLink( sal_False )
, m_bLinkHasPassword( sal_False )
@@ -92,6 +93,7 @@ OCommonEmbeddedObject::OCommonEmbeddedObject(
, m_xFactory( xFactory )
, m_nMiscStatus( 0 )
, m_bEmbeddedScriptSupport( sal_True )
+, m_bDocumentRecoverySupport( sal_True )
, m_bWaitSaveCompleted( sal_False )
, m_bIsLink( sal_True )
, m_bLinkHasPassword( sal_False )
diff --git a/embeddedobj/source/commonembedding/persistence.cxx b/embeddedobj/source/commonembedding/persistence.cxx
index bd2ffcf042..dd0c84915b 100644
--- a/embeddedobj/source/commonembedding/persistence.cxx
+++ b/embeddedobj/source/commonembedding/persistence.cxx
@@ -63,6 +63,7 @@
#include <comphelper/fileformat.h>
#include <comphelper/storagehelper.hxx>
#include <comphelper/mimeconfighelper.hxx>
+#include <comphelper/namedvaluecollection.hxx>
#include <rtl/logfile.hxx>
@@ -199,22 +200,17 @@ uno::Reference< io::XInputStream > createTempInpStreamFromStor(
//------------------------------------------------------
static uno::Reference< util::XCloseable > CreateDocument( const uno::Reference< lang::XMultiServiceFactory >& _rxFactory,
- const ::rtl::OUString& _rDocumentServiceName, bool _bEmbeddedScriptSupport )
+ const ::rtl::OUString& _rDocumentServiceName, bool _bEmbeddedScriptSupport, const bool i_bDocumentRecoverySupport )
{
- uno::Sequence< uno::Any > aArguments(2);
- aArguments[0] <<= beans::NamedValue(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EmbeddedObject" ) ),
- uno::makeAny( (sal_Bool)sal_True )
- );
- aArguments[1] <<= beans::NamedValue(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EmbeddedScriptSupport" ) ),
- uno::makeAny( (sal_Bool)_bEmbeddedScriptSupport )
- );
+ ::comphelper::NamedValueCollection aArguments;
+ aArguments.put( "EmbeddedObject", (sal_Bool)sal_True );
+ aArguments.put( "EmbeddedScriptSupport", (sal_Bool)_bEmbeddedScriptSupport );
+ aArguments.put( "DocumentRecoverySupport", (sal_Bool)i_bDocumentRecoverySupport );
uno::Reference< uno::XInterface > xDocument;
try
{
- xDocument = _rxFactory->createInstanceWithArguments( _rDocumentServiceName, aArguments );
+ xDocument = _rxFactory->createInstanceWithArguments( _rDocumentServiceName, aArguments.getWrappedPropertyValues() );
}
catch( const uno::Exception& )
{
@@ -308,7 +304,7 @@ void OCommonEmbeddedObject::SwitchOwnPersistence( const uno::Reference< embed::X
uno::Reference< util::XCloseable > OCommonEmbeddedObject::InitNewDocument_Impl()
{
uno::Reference< util::XCloseable > xDocument( CreateDocument( m_xFactory, GetDocumentServiceName(),
- m_bEmbeddedScriptSupport ) );
+ m_bEmbeddedScriptSupport, m_bDocumentRecoverySupport ) );
uno::Reference< frame::XModel > xModel( xDocument, uno::UNO_QUERY );
uno::Reference< frame::XLoadable > xLoadable( xModel, uno::UNO_QUERY );
@@ -359,7 +355,7 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::InitNewDocument_Impl()
uno::Reference< util::XCloseable > OCommonEmbeddedObject::LoadLink_Impl()
{
uno::Reference< util::XCloseable > xDocument( CreateDocument( m_xFactory, GetDocumentServiceName(),
- m_bEmbeddedScriptSupport ) );
+ m_bEmbeddedScriptSupport, m_bDocumentRecoverySupport ) );
uno::Reference< frame::XLoadable > xLoadable( xDocument, uno::UNO_QUERY );
if ( !xLoadable.is() )
@@ -462,7 +458,7 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::LoadDocumentFromStorag
OSL_ENSURE( xStorage.is(), "The storage can not be empty!" );
uno::Reference< util::XCloseable > xDocument( CreateDocument( m_xFactory, GetDocumentServiceName(),
- m_bEmbeddedScriptSupport ) );
+ m_bEmbeddedScriptSupport, m_bDocumentRecoverySupport ) );
//#i103460# ODF: take the size given from the parent frame as default
uno::Reference< chart2::XChartDocument > xChart( xDocument, uno::UNO_QUERY );
@@ -804,7 +800,7 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::CreateDocFromMediaDesc
const uno::Sequence< beans::PropertyValue >& aMedDescr )
{
uno::Reference< util::XCloseable > xDocument( CreateDocument( m_xFactory, GetDocumentServiceName(),
- m_bEmbeddedScriptSupport ) );
+ m_bEmbeddedScriptSupport, m_bDocumentRecoverySupport ) );
uno::Reference< frame::XLoadable > xLoadable( xDocument, uno::UNO_QUERY );
if ( !xLoadable.is() )
@@ -1063,6 +1059,10 @@ void SAL_CALL OCommonEmbeddedObject::setPersistentEntry(
{
OSL_VERIFY( lObjArgs[nObjInd].Value >>= m_bEmbeddedScriptSupport );
}
+ else if ( lObjArgs[nObjInd].Name.equalsAscii( "DocumentRecoverySupport" ) )
+ {
+ OSL_VERIFY( lObjArgs[nObjInd].Value >>= m_bDocumentRecoverySupport );
+ }
sal_Int32 nStorageMode = m_bReadOnly ? embed::ElementModes::READ : embed::ElementModes::READWRITE;
diff --git a/embeddedobj/source/inc/commonembobj.hxx b/embeddedobj/source/inc/commonembobj.hxx
index 9139409c09..310a4e72f2 100644
--- a/embeddedobj/source/inc/commonembobj.hxx
+++ b/embeddedobj/source/inc/commonembobj.hxx
@@ -129,6 +129,7 @@ protected:
::rtl::OUString m_aDefaultParentBaseURL;
::rtl::OUString m_aModuleName;
sal_Bool m_bEmbeddedScriptSupport;
+ sal_Bool m_bDocumentRecoverySupport;
Interceptor* m_pInterceptor;