diff options
Diffstat (limited to 'sfx2/source/doc/objcont.cxx')
-rw-r--r-- | sfx2/source/doc/objcont.cxx | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/sfx2/source/doc/objcont.cxx b/sfx2/source/doc/objcont.cxx index 8398679302..d63d1fc17e 100644 --- a/sfx2/source/doc/objcont.cxx +++ b/sfx2/source/doc/objcont.cxx @@ -1423,31 +1423,35 @@ sal_Bool SfxObjectShell::IsHelpDocument() const void SfxObjectShell::ResetFromTemplate( const String& rTemplateName, const String& rFileName ) { - uno::Reference<document::XDocumentProperties> xDocProps(getDocProperties()); - xDocProps->setTemplateURL( ::rtl::OUString() ); - xDocProps->setTemplateName( ::rtl::OUString() ); - xDocProps->setTemplateDate( util::DateTime() ); - xDocProps->resetUserData( ::rtl::OUString() ); - - // TODO/REFACTOR: - // Title? - - if( ::utl::LocalFileHelper::IsLocalFile( rFileName ) ) + // only care about reseting this data for openoffice formats otherwise + if ( IsOwnStorageFormat_Impl( *GetMedium()) ) { - String aFoundName; - if( SFX_APP()->Get_Impl()->GetDocumentTemplates()->GetFull( String(), rTemplateName, aFoundName ) ) + uno::Reference<document::XDocumentProperties> xDocProps(getDocProperties()); + xDocProps->setTemplateURL( ::rtl::OUString() ); + xDocProps->setTemplateName( ::rtl::OUString() ); + xDocProps->setTemplateDate( util::DateTime() ); + xDocProps->resetUserData( ::rtl::OUString() ); + + // TODO/REFACTOR: + // Title? + + if( ::utl::LocalFileHelper::IsLocalFile( rFileName ) ) { - INetURLObject aObj( rFileName ); - xDocProps->setTemplateURL( aObj.GetMainURL(INetURLObject::DECODE_TO_IURI) ); - xDocProps->setTemplateName( rTemplateName ); - - ::DateTime now; - xDocProps->setTemplateDate( util::DateTime( - now.Get100Sec(), now.GetSec(), now.GetMin(), - now.GetHour(), now.GetDay(), now.GetMonth(), - now.GetYear() ) ); - - SetQueryLoadTemplate( sal_True ); + String aFoundName; + if( SFX_APP()->Get_Impl()->GetDocumentTemplates()->GetFull( String(), rTemplateName, aFoundName ) ) + { + INetURLObject aObj( rFileName ); + xDocProps->setTemplateURL( aObj.GetMainURL(INetURLObject::DECODE_TO_IURI) ); + xDocProps->setTemplateName( rTemplateName ); + + ::DateTime now; + xDocProps->setTemplateDate( util::DateTime( + now.Get100Sec(), now.GetSec(), now.GetMin(), + now.GetHour(), now.GetDay(), now.GetMonth(), + now.GetYear() ) ); + + SetQueryLoadTemplate( sal_True ); + } } } } |