Kaydet (Commit) 772323b4 authored tarafından Tomaž Vajngerl's avatar Tomaž Vajngerl

Reduce nesting / style in thumbnail creation routines

Change-Id: I733b677f4d4c7dfdf6fef531b43e1de36131f55d
üst b38de1f8
...@@ -3512,28 +3512,25 @@ bool SfxObjectShell::CopyStoragesOfUnknownMediaType( const uno::Reference< embed ...@@ -3512,28 +3512,25 @@ bool SfxObjectShell::CopyStoragesOfUnknownMediaType( const uno::Reference< embed
return bResult; return bResult;
} }
bool SfxObjectShell::GenerateAndStoreThumbnail( bool bEncrypted, bool SfxObjectShell::GenerateAndStoreThumbnail(bool bEncrypted, bool bIsTemplate, const uno::Reference<embed::XStorage>& xStorage)
bool bIsTemplate,
const uno::Reference< embed::XStorage >& xStor )
{ {
bIsInGenerateThumbnail = true;//optimize thumbnail generate and store procedure to improve odt saving performance, i120030 //optimize thumbnail generate and store procedure to improve odt saving performance, i120030
bIsInGenerateThumbnail = true;
bool bResult = false; bool bResult = false;
try { try
uno::Reference< embed::XStorage > xThumbnailStor =
xStor->openStorageElement( OUString("Thumbnails"),
embed::ElementModes::READWRITE );
if ( xThumbnailStor.is() )
{ {
uno::Reference< io::XStream > xStream = xThumbnailStor->openStreamElement( uno::Reference<embed::XStorage> xThumbnailStorage = xStorage->openStorageElement(OUString("Thumbnails"), embed::ElementModes::READWRITE);
OUString("thumbnail.png"),
embed::ElementModes::READWRITE ); if (xThumbnailStorage.is())
{
uno::Reference<io::XStream> xStream = xThumbnailStorage->openStreamElement(OUString("thumbnail.png"), embed::ElementModes::READWRITE);
if (xStream.is() && WriteThumbnail(bEncrypted, bIsTemplate, xStream)) if (xStream.is() && WriteThumbnail(bEncrypted, bIsTemplate, xStream))
{ {
uno::Reference< embed::XTransactedObject > xTransact( xThumbnailStor, uno::UNO_QUERY_THROW ); uno::Reference<embed::XTransactedObject> xTransactedObject(xThumbnailStorage, uno::UNO_QUERY_THROW);
xTransact->commit(); xTransactedObject->commit();
bResult = true; bResult = true;
} }
} }
...@@ -3542,49 +3539,45 @@ bool SfxObjectShell::GenerateAndStoreThumbnail( bool bEncrypted, ...@@ -3542,49 +3539,45 @@ bool SfxObjectShell::GenerateAndStoreThumbnail( bool bEncrypted,
{ {
} }
bIsInGenerateThumbnail = false;//optimize thumbnail generate and store procedure to improve odt saving performance, i120030 //optimize thumbnail generate and store procedure to improve odt saving performance, i120030
bIsInGenerateThumbnail = false;
return bResult; return bResult;
} }
bool SfxObjectShell::WriteThumbnail( bool bEncrypted, bool SfxObjectShell::WriteThumbnail(bool bEncrypted, bool bIsTemplate, const uno::Reference<io::XStream>& xStream)
bool bIsTemplate,
const uno::Reference< io::XStream >& xStream )
{ {
bool bResult = false; bool bResult = false;
if ( xStream.is() ) if (!xStream.is())
return false;
try
{ {
try { uno::Reference<io::XTruncate> xTruncate(xStream->getOutputStream(), uno::UNO_QUERY_THROW);
uno::Reference< io::XTruncate > xTruncate( xStream->getOutputStream(), uno::UNO_QUERY_THROW );
xTruncate->truncate(); xTruncate->truncate();
uno::Reference < beans::XPropertySet > xSet( xStream, uno::UNO_QUERY ); uno::Reference <beans::XPropertySet> xSet(xStream, uno::UNO_QUERY);
if ( xSet.is() ) if (xSet.is())
xSet->setPropertyValue("MediaType", xSet->setPropertyValue("MediaType", uno::makeAny(OUString("image/png")));
uno::makeAny( OUString("image/png") ) ); if (bEncrypted)
if ( bEncrypted )
{ {
sal_uInt16 nResID = GraphicHelper::getThumbnailReplacementIDByFactoryName_Impl( OUString sFactoryName = OUString::createFromAscii(GetFactory().GetShortName());
OUString::createFromAscii( GetFactory().GetShortName() ), sal_uInt16 nResID = GraphicHelper::getThumbnailReplacementIDByFactoryName_Impl(sFactoryName, bIsTemplate);
bIsTemplate ); if (nResID)
if ( nResID )
bResult = GraphicHelper::getThumbnailReplacement_Impl(nResID, xStream); bResult = GraphicHelper::getThumbnailReplacement_Impl(nResID, xStream);
} }
else else
{ {
::boost::shared_ptr<GDIMetaFile> pMetaFile = boost::shared_ptr<GDIMetaFile> pMetaFile = GetPreviewMetaFile(false);
GetPreviewMetaFile( false ); if (pMetaFile)
if ( pMetaFile )
{ {
bResult = GraphicHelper::getThumbnailFormatFromGDI_Impl( bResult = GraphicHelper::getThumbnailFormatFromGDI_Impl(pMetaFile.get(), xStream);
pMetaFile.get(), xStream);
} }
} }
} }
catch( uno::Exception& ) catch(uno::Exception&)
{} {}
}
return bResult; return bResult;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment