diff --git a/uppsrc/RichEdit/FormatDlg.cpp b/uppsrc/RichEdit/FormatDlg.cpp index c02c14614..5118a58b2 100644 --- a/uppsrc/RichEdit/FormatDlg.cpp +++ b/uppsrc/RichEdit/FormatDlg.cpp @@ -85,7 +85,6 @@ void ParaFormatting::SyncHdrFtr() void ParaFormatting::Set(int unit, const RichText::FormatInfo& formatinfo, bool baselevel) { - page.Enable(baselevel); newhdrftr.Enable(baselevel); hdrftr.Enable(baselevel); font = formatinfo; diff --git a/uppsrc/RichEdit/Table.cpp b/uppsrc/RichEdit/Table.cpp index 8a82ecd2e..e967ebc54 100644 --- a/uppsrc/RichEdit/Table.cpp +++ b/uppsrc/RichEdit/Table.cpp @@ -149,7 +149,6 @@ void RichEdit::TableProps() dlg.footer_qtf = fmt.footer_qtf; r(dlg.gridcolor, fmt.gridcolor); dlg.SyncHdrFtr(); - dlg.newpage.Enable(cursorp.level == 1); dlg.newhdrftr.Enable(cursorp.level == 1); dlg.hdrftr.Enable(cursorp.level == 1); for(;;) { diff --git a/uppsrc/RichText/ParaPaint.cpp b/uppsrc/RichText/ParaPaint.cpp index da4e337fd..93ef9eb2b 100644 --- a/uppsrc/RichText/ParaPaint.cpp +++ b/uppsrc/RichText/ParaPaint.cpp @@ -402,7 +402,7 @@ void RichPara::Paint(PageDraw& pw, const Rect& page, PageY py, const PaintInfo& pw.Page(py.page).DrawImage(z * x, z * y0 - sz.cy, RichTextImg::EndParaChar(), format.indexentry.GetCount() ? pi.indexentry : pi.showcodes); - if((format.newpage || format.newhdrftr) && !IsNull(pi.showcodes) && baselevel) { + if((format.newpage || format.newhdrftr && baselevel) && !IsNull(pi.showcodes)) { Draw& w = pw.Page(opy.page); int wd = z * page.right - z * page.left; int step = w.Pixels() ? 8 : 50; diff --git a/uppsrc/RichText/TxtPaint.cpp b/uppsrc/RichText/TxtPaint.cpp index e95948002..ff3e88f93 100644 --- a/uppsrc/RichText/TxtPaint.cpp +++ b/uppsrc/RichText/TxtPaint.cpp @@ -76,15 +76,13 @@ void RichTxt::Advance(int parti, RichContext& rc, RichContext& begin) const { if(part[parti].Is()) { const RichTable& tab = GetTable(parti); - if(rc.text == this) { - if(tab.format.newhdrftr) { - rc.NewHeaderFooter(~tab.header, ~tab.footer); - rc.Page(); - } - else - if(tab.format.newpage) - rc.Page(); + if(tab.format.newhdrftr && rc.text == this) { + rc.NewHeaderFooter(~tab.header, ~tab.footer); + rc.Page(); } + else + if(tab.format.newpage) + rc.Page(); begin = rc; rc.py = GetTable(parti).GetHeight(rc); } @@ -110,7 +108,7 @@ void RichTxt::Advance(int parti, RichContext& rc, RichContext& begin) const rc.Page(); } else - if(pp.newpage && rc.text == this || rc.py.y + cy + nbefore + nline > rc.page.bottom && cy < rc.page.Height()) + if(pp.newpage || rc.py.y + cy + nbefore + nline > rc.page.bottom && cy < rc.page.Height()) rc.Page(); begin = rc; rc.py.y += pp.before + pp.ruler;