summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorAndre Fischer <af@apache.org>2012-07-09 12:59:06 +0000
committerXisco Fauli <anistenis@gmail.com>2013-04-08 22:12:06 +0200
commitaac0ada9914c87c8c1c017744548602374f80320 (patch)
treea17e52a4d0adcc7e3de6fe1dc443d42384b0095a /sd
parentd35004bf7690b1450dfd1e4ee98e478b8d349699 (diff)
Fix #i119545# Fixed import of master page layout from PPT.
Reported by: Li Feng Wang Patch by: SunYing Review by: Andre Fischer (cherry picked from commit f7da26f51bfaddecd7b774bc237d6f5fa082e57c) Conflicts: sd/source/filter/ppt/pptin.cxx Change-Id: Ic946de22b3f7ab1d498e71f3d5752ad6f89e2de5
Diffstat (limited to 'sd')
-rw-r--r--sd/source/filter/ppt/pptin.cxx17
1 files changed, 13 insertions, 4 deletions
diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx
index 1bbb9155c80f..4e67229a58b3 100644
--- a/sd/source/filter/ppt/pptin.cxx
+++ b/sd/source/filter/ppt/pptin.cxx
@@ -627,7 +627,13 @@ sal_Bool ImplSdPPTImport::Import()
{
sal_uInt32 nTitleInstance = TSS_TYPE_PAGETITLE;
sal_uInt32 nOutlinerInstance = TSS_TYPE_BODY;
-
+ const PptSlideLayoutAtom* pSlideLayout = GetSlideLayoutAtom();
+ sal_Bool bSwapStyleSheet = pSlideLayout->eLayout == PPT_LAYOUT_TITLEMASTERSLIDE;
+ if ( bSwapStyleSheet )
+ {
+ nTitleInstance = TSS_TYPE_TITLE;
+ nOutlinerInstance = TSS_TYPE_SUBTITLE;
+ }
/////////////////////
// titelstylesheet //
/////////////////////
@@ -994,7 +1000,6 @@ sal_Bool ImplSdPPTImport::Import()
if( pStbMgr )
pStbMgr->SetState( nImportedPages++ );
}
- //////////////
}
else
{
@@ -2261,7 +2266,7 @@ SdrObject* ImplSdPPTImport::ApplyTextObj( PPTTextObj* pTextObj, SdrTextObj* pObj
{
if ( eAktPageKind == PPT_MASTERPAGE )
{
- sal_Bool bCreatePlaceHolder = ( pTextObj->GetInstance() != TSS_TYPE_SUBTITLE ) && ( pTextObj->GetInstance() != TSS_TYPE_UNUSED );
+ sal_Bool bCreatePlaceHolder = ( pTextObj->GetInstance() != TSS_TYPE_UNUSED );
sal_Bool bIsHeaderFooter = ( ePresKind == PRESOBJ_HEADER) || (ePresKind == PRESOBJ_FOOTER)
|| (ePresKind == PRESOBJ_DATETIME) || (ePresKind == PRESOBJ_SLIDENUMBER);
if ( bCreatePlaceHolder && ( pTextObj->GetInstance() == TSS_TYPE_TEXT_IN_SHAPE ) )
@@ -2293,6 +2298,11 @@ SdrObject* ImplSdPPTImport::ApplyTextObj( PPTTextObj* pTextObj, SdrTextObj* pObj
rItemSet.Put( (SdrTextLowerDistItem&)pText->GetMergedItem( SDRATTR_TEXT_LOWERDIST ) );
rItemSet.Put( (SdrTextVertAdjustItem&)pText->GetMergedItem( SDRATTR_TEXT_VERTADJUST ) );
rItemSet.Put( (SdrTextHorzAdjustItem&)pText->GetMergedItem( SDRATTR_TEXT_HORZADJUST ) );
+ if ( pTextObj->GetInstance() == TSS_TYPE_TITLE
+ || pTextObj->GetInstance() == TSS_TYPE_SUBTITLE)
+ {
+ rItemSet.Put( pText->GetMergedItemSet() );
+ }
}
pText->NbcSetStyleSheet( pSheet2, sal_False );
}
@@ -2649,7 +2659,6 @@ SdrObject* ImplSdPPTImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
}
maAnimations[pMediaObj] = pAnimation;
}
- //--
SdrObject::Free( pObj ), pObj = pMediaObj; // SJ: hoping that pObj is not inserted in any list
pMediaObj->setURL( aMediaURL );