summaryrefslogtreecommitdiff
path: root/sw/source/filter
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2004-11-16 11:52:49 +0000
committerOliver Bolte <obo@openoffice.org>2004-11-16 11:52:49 +0000
commitc8da5f01a2d18a15948a30329f8dd1b692157540 (patch)
treecec1f79e3948f514c52b4c91a6cf223695f983b5 /sw/source/filter
parent7c5b8115a62e8f34faf6508438379209ec4973ea (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.cxx53
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();