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"), uno::Reference<embed::XStorage> xThumbnailStorage = xStorage->openStorageElement(OUString("Thumbnails"), embed::ElementModes::READWRITE);
embed::ElementModes::READWRITE );
if ( xThumbnailStor.is() ) if (xThumbnailStorage.is())
{ {
uno::Reference< io::XStream > xStream = xThumbnailStor->openStreamElement( uno::Reference<io::XStream> xStream = xThumbnailStorage->openStreamElement(OUString("thumbnail.png"), embed::ElementModes::READWRITE);
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", uno::makeAny(OUString("image/png")));
xSet->setPropertyValue("MediaType", if (bEncrypted)
uno::makeAny( OUString("image/png") ) ); {
if ( bEncrypted ) OUString sFactoryName = OUString::createFromAscii(GetFactory().GetShortName());
{ sal_uInt16 nResID = GraphicHelper::getThumbnailReplacementIDByFactoryName_Impl(sFactoryName, bIsTemplate);
sal_uInt16 nResID = GraphicHelper::getThumbnailReplacementIDByFactoryName_Impl( if (nResID)
OUString::createFromAscii( GetFactory().GetShortName() ), bResult = GraphicHelper::getThumbnailReplacement_Impl(nResID, xStream);
bIsTemplate ); }
if ( nResID ) else
bResult = GraphicHelper::getThumbnailReplacement_Impl(nResID, xStream); {
} boost::shared_ptr<GDIMetaFile> pMetaFile = GetPreviewMetaFile(false);
else if (pMetaFile)
{ {
::boost::shared_ptr<GDIMetaFile> pMetaFile = bResult = GraphicHelper::getThumbnailFormatFromGDI_Impl(pMetaFile.get(), xStream);
GetPreviewMetaFile( false );
if ( pMetaFile )
{
bResult = GraphicHelper::getThumbnailFormatFromGDI_Impl(
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