summaryrefslogtreecommitdiff
path: root/sd/source/filter/eppt/eppt.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/filter/eppt/eppt.cxx')
-rw-r--r--sd/source/filter/eppt/eppt.cxx119
1 files changed, 3 insertions, 116 deletions
diff --git a/sd/source/filter/eppt/eppt.cxx b/sd/source/filter/eppt/eppt.cxx
index cb31e99aec63..ef697cfa9733 100644
--- a/sd/source/filter/eppt/eppt.cxx
+++ b/sd/source/filter/eppt/eppt.cxx
@@ -222,8 +222,6 @@ PPTWriter::PPTWriter( SvStorageRef& rSvStorage,
}
if ( !ImplCreateMainNotes() )
return;
- maTextRuleList.First(); // rewind list, so we can get the current or next entry without
- // searching, all entrys are sorted#
for ( i = 0; i < mnPages; i++ )
{
if ( !ImplCreateSlide( i ) )
@@ -274,8 +272,6 @@ PPTWriter::~PPTWriter()
while( aStyleSheetIter < maStyleSheetList.end() )
delete *aStyleSheetIter++;
- for ( pPtr = maTextRuleList.First(); pPtr; pPtr = maTextRuleList.Next() )
- delete (TextRuleEntry*)pPtr;
for ( pPtr = maSlideNameList.First(); pPtr; pPtr = maSlideNameList.Next() )
delete (::rtl::OUString*)pPtr;
for ( pPtr = maHyperlink.First(); pPtr; pPtr = maHyperlink.Next() )
@@ -560,22 +556,12 @@ sal_Bool PPTWriter::ImplCreateDocument()
mpPptEscherEx->OpenContainer( EPP_SlideListWithText ); // Animation info fuer die Slides
- sal_uInt32 nShapes;
- sal_Bool bOtherThanPlaceHolders;
-
for ( i = 0; i < mnPages; i++ )
{
- sal_uInt32 nPOffset, nPObjects;
- sal_Bool bOutliner, bTitle;
-
- bOtherThanPlaceHolders = bOutliner = bTitle = FALSE;
- nPObjects = 0;
-
mpPptEscherEx->AddAtom( 20, EPP_SlidePersistAtom );
mpPptEscherEx->InsertPersistOffset( EPP_MAINSLIDE_PERSIST_KEY | i, mpStrm->Tell() );
- *mpStrm << (sal_uInt32)0; // psrReference - logical reference to the slide persist object ( EPP_MAINSLIDE_PERSIST_KEY )
- nPOffset = mpStrm->Tell();
- *mpStrm << (sal_uInt32)0 // flags - only bit 3 used, if set then slide contains shapes other than placeholders
+ *mpStrm << (sal_uInt32)0 // psrReference - logical reference to the slide persist object ( EPP_MAINSLIDE_PERSIST_KEY )
+ << (sal_uInt32)4 // flags - only bit 3 used, if set then slide contains shapes other than placeholders
<< (INT32)0 // numberTexts - number of placeholder texts stored with the persist object. Allows to display outline view without loading the slide persist objects
<< (INT32)i + 0x100 // slideId - Unique slide identifier, used for OLE link monikers for example
<< (sal_uInt32)0; // reserved, usualy 0
@@ -584,8 +570,6 @@ sal_Bool PPTWriter::ImplCreateDocument()
return FALSE;
ImplSetCurrentStyleSheet( ImplGetMasterIndex( NORMAL ) );
- const PHLayout& rLayout = ImplGetLayout( mXPagePropSet );
-
::com::sun::star::uno::Reference< ::com::sun::star::container::XNamed >
aXName( mXDrawPage, ::com::sun::star::uno::UNO_QUERY );
@@ -597,113 +581,16 @@ sal_Bool PPTWriter::ImplCreateDocument()
}
else
maSlideNameList.Insert( new ::rtl::OUString(), LIST_APPEND );
-
- nShapes = mXShapes->getCount();
-
- sal_Bool bSecOutl = FALSE;
- if ( nShapes && ( rLayout.bTitlePossible || rLayout.bOutlinerPossible ) )
- {
- for ( sal_uInt32 nIndex = 0; nIndex < nShapes; nIndex++ )
- {
- if ( !ImplGetShapeByIndex( nIndex ) )
- continue;
-
- if ( mbPresObj && ( ( mType == "presentation.Outliner" ) || ( mType == "presentation.Subtitle" ) ) )
- {
- if ( bOutliner == FALSE )
- {
- bOutliner = TRUE;
- mnTextStyle = EPP_TEXTSTYLE_BODY;
- sal_uInt32 nTextType = EPP_TEXTTYPE_Body;
- if ( bSecOutl )
- nTextType = EPP_TEXTTYPE_HalfBody;
- else if ( mType == "presentation.Subtitle" )
- nTextType = EPP_TEXTTYPE_CenterBody;
-
- TextRuleEntry* pRule = new TextRuleEntry( i );
- SvMemoryStream aExtBu( 0x200, 0x200 );
- if ( !mbEmptyPresObj )
- ImplGetText();
- ImplWriteTextStyleAtom( *mpStrm, nTextType, nPObjects, pRule, aExtBu, NULL );
- ImplWriteExtParaHeader( aExtBu, nPObjects++, nTextType, i + 0x100 );
- maTextRuleList.Insert( (void*)pRule, LIST_APPEND );
- if ( rLayout.bSecOutlinerPossible )
- {
- if ( ( nIndex + 1 ) < nShapes )
- {
- if ( ImplGetShapeByIndex( nIndex + 1 ) && mType == "presentation.Outliner" )
- {
- bSecOutl = TRUE;
- TextRuleEntry* pTempRule = new TextRuleEntry( i );
- SvMemoryStream aTmpStrm( 0x200, 0x200 );
- if ( !mbEmptyPresObj )
- ImplGetText();
- ImplWriteTextStyleAtom( *mpStrm, nTextType, nPObjects, pTempRule, aTmpStrm, NULL );
- ImplWriteExtParaHeader( aTmpStrm, nPObjects++, nTextType, i + 0x100 );
- maTextRuleList.Insert( (void*)pTempRule, LIST_APPEND );
- }
- }
- }
- }
- }
- else if ( rLayout.bTitlePossible && ( mType == "presentation.TitleText" ) )
- {
- if ( bTitle == FALSE )
- {
- bTitle = TRUE;
- mnTextStyle = EPP_TEXTSTYLE_TITLE;
- TextRuleEntry* pRule = new TextRuleEntry( i );
- SvMemoryStream aExtBu( 0x200, 0x200 );
- if ( !mbEmptyPresObj )
- ImplGetText();
- ImplWriteTextStyleAtom( *mpStrm, EPP_TEXTTYPE_Title, nPObjects, pRule, aExtBu, NULL );
- ImplWriteExtParaHeader( aExtBu, nPObjects++, EPP_TEXTTYPE_Title, i + 0x100 );
- maTextRuleList.Insert( (void*)pRule, LIST_APPEND );
- }
- }
- else
- {
- if ( mbEmptyPresObj )
- nPObjects++;
- else
- bOtherThanPlaceHolders = TRUE; // muss noch auf background und leeren Title/outliner geprueft werden !!!
- }
- if ( bOutliner && bTitle && bOtherThanPlaceHolders )
- break;
- }
- }
- if ( nPObjects )
- {
- sal_uInt32 nOldPos = mpStrm->Tell();
- mpStrm->Seek( nPOffset );
- *mpStrm << (sal_uInt32)( ( bOtherThanPlaceHolders ) ? 4 : 0 );
- *mpStrm << nPObjects;
- mpStrm->Seek( nOldPos );
- }
}
mpPptEscherEx->CloseContainer(); // EPP_SlideListWithText
mpPptEscherEx->OpenContainer( EPP_SlideListWithText, 2 ); // Animation info fuer die notes
for( i = 0; i < mnPages; i++ )
{
- if ( !ImplGetPageByIndex( i, NOTICE ) )
- return FALSE;
-
- nShapes = mXShapes->getCount();
-
- bOtherThanPlaceHolders = FALSE;
- if ( nShapes )
- {
- for ( sal_uInt32 nIndex = 0; ( nIndex < nShapes ) && ( bOtherThanPlaceHolders == FALSE ); nIndex++ )
- {
- if ( ImplGetShapeByIndex( nIndex ) && ( mType != "drawing.Page" ) )
- bOtherThanPlaceHolders = TRUE;
- }
- }
mpPptEscherEx->AddAtom( 20, EPP_SlidePersistAtom );
mpPptEscherEx->InsertPersistOffset( EPP_MAINNOTES_PERSIST_KEY | i, mpStrm->Tell() );
*mpStrm << (sal_uInt32)0
- << (sal_uInt32)( ( bOtherThanPlaceHolders ) ? 4 : 0 )
+ << (sal_uInt32)4
<< (INT32)0
<< (INT32)i + 0x100
<< (sal_uInt32)0;