diff options
author | Oliver Bolte <obo@openoffice.org> | 2004-11-16 11:52:49 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2004-11-16 11:52:49 +0000 |
commit | c8da5f01a2d18a15948a30329f8dd1b692157540 (patch) | |
tree | cec1f79e3948f514c52b4c91a6cf223695f983b5 /sw/source/filter | |
parent | 7c5b8115a62e8f34faf6508438379209ec4973ea (diff) |
INTEGRATION: CWS borderingfilterteam28 (1.45.52); FILE MERGED
2004/11/08 14:12:11 mmaher 1.45.52.4: #i30222# SNAFU in resyncing to m60
2004/11/05 16:30:18 mmaher 1.45.52.3: RESYNC: (1.45-1.46); FILE MERGED
2004/10/26 17:28:57 mmaher 1.45.52.2: #i35967# Work around for SkipGroup inadequacies
2004/10/22 10:15:14 mmaher 1.45.52.1: #117907# If right and left page styles are selected then the aLeft and aMaster should be the same
Diffstat (limited to 'sw/source/filter')
-rw-r--r-- | sw/source/filter/rtf/swparrtf.cxx | 53 |
1 files changed, 42 insertions, 11 deletions
diff --git a/sw/source/filter/rtf/swparrtf.cxx b/sw/source/filter/rtf/swparrtf.cxx index 2a9f9b644213..47f894fb3f84 100644 --- a/sw/source/filter/rtf/swparrtf.cxx +++ b/sw/source/filter/rtf/swparrtf.cxx @@ -2,9 +2,9 @@ * * $RCSfile: swparrtf.cxx,v $ * - * $Revision: 1.46 $ + * $Revision: 1.47 $ * - * last change: $Author: rt $ $Date: 2004-10-28 13:05:14 $ + * last change: $Author: obo $ $Date: 2004-11-16 12:52:49 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -840,6 +840,15 @@ void rtfSections::SetSegmentToPageDesc(const rtfSection &rSection, SetPageULSpaceItems(rFmt, aULData); SetPage(rPage, rFmt, rSection, bIgnoreCols); + + UseOnPage ePage = rPage.ReadUseOn(); + if(ePage & PD_ALL) + { + SwFrmFmt &rFmtLeft = rPage.GetLeft(); + SetPageULSpaceItems(rFmtLeft, aULData); + SetPage(rPage, rFmtLeft, rSection, bIgnoreCols); + } + } void rtfSections::CopyFrom(const SwPageDesc &rFrom, SwPageDesc &rDest) @@ -1310,7 +1319,12 @@ void SwRTFParser::NextToken( int nToken ) break; #endif case RTF_TROWD: ReadTable( nToken ); break; - case RTF_PGDSCTBL: ReadPageDescTbl(); break; + case RTF_PGDSCTBL: + if( !IsNewDoc() ) + SkipPageDescTbl(); + else + ReadPageDescTbl(); + break; case RTF_LISTTABLE: ReadListTable(); break; case RTF_LISTOVERRIDETABLE: ReadListOverrideTable(); break; @@ -1645,14 +1659,11 @@ SETCHDATEFIELD: ReadFly( nToken ); break; - /* #i28983# table handling in rtf is simply wrong this catch all case here - creates more problems than it solves case RTF_BRDRDEF | RTF_TABLEDEF: case RTF_SHADINGDEF | RTF_TABLEDEF: case RTF_TABLEDEF: ReadTable( nToken ); break; - */ case RTF_INFO: ReadInfo(); @@ -2782,15 +2793,35 @@ void SwRTFParser::LeaveEnvironment() } } - -void SwRTFParser::ReadPageDescTbl() +void SwRTFParser::SkipPageDescTbl() { - if( !IsNewDoc() ) + // M.M. #117907# I have to use this glorified SkipGroup because the + // SvParser SkipGroup uses nNextCh which is not set correctly <groan> + int nOpenBrakets = 1; + + while( nOpenBrakets && IsParserWorking() ) { - SkipGroup(); - return; + switch( GetNextToken() ) + { + case '}': + { + --nOpenBrakets; + } + break; + + case '{': + { + nOpenBrakets++; + } + break; + } } + SkipToken( -1 ); +} + +void SwRTFParser::ReadPageDescTbl() +{ // dann erzeuge aus der SvxStyle-Tabelle die Swg-Collections, damit // diese auch in den Headers/Footer benutzt werden koennen! MakeStyleTab(); |