X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetNewpage.cpp;h=e062e8bbecf583f1a8610b487c35c81bf64978fb;hb=14dbaa76083a4fdd2bd52aaf67d8da6d60557633;hp=b80ba3c4c5275c4e453f8d398cbadf62d086c0cb;hpb=82c7e15e6444a8566a9b7b8053b830d03058383e;p=features.git diff --git a/src/insets/InsetNewpage.cpp b/src/insets/InsetNewpage.cpp index b80ba3c4c5..e062e8bbec 100644 --- a/src/insets/InsetNewpage.cpp +++ b/src/insets/InsetNewpage.cpp @@ -13,11 +13,14 @@ #include "InsetNewpage.h" +#include "Cursor.h" #include "FuncRequest.h" #include "FuncStatus.h" #include "Lexer.h" #include "MetricsInfo.h" #include "OutputParams.h" +#include "output_xhtml.h" +#include "texstream.h" #include "Text.h" #include "TextMetrics.h" @@ -45,7 +48,6 @@ InsetNewpage::InsetNewpage(InsetNewpageParams const & params) void InsetNewpageParams::write(ostream & os) const { - string command; switch (kind) { case InsetNewpageParams::NEWPAGE: os << "newpage"; @@ -101,8 +103,6 @@ void InsetNewpage::metrics(MetricsInfo & mi, Dimension & dim) const dim.asc = defaultRowHeight(); dim.des = defaultRowHeight(); dim.wid = mi.base.textwidth; - // Cache the inset dimension. - setDimCache(mi, dim); } @@ -136,10 +136,11 @@ void InsetNewpage::draw(PainterInfo & pi, int x, int y) const void InsetNewpage::doDispatch(Cursor & cur, FuncRequest & cmd) { - switch (cmd.action) { + switch (cmd.action()) { case LFUN_INSET_MODIFY: { InsetNewpageParams params; + cur.recordUndo(); string2params(to_utf8(cmd.argument()), params); params_.kind = params.kind; break; @@ -155,7 +156,7 @@ void InsetNewpage::doDispatch(Cursor & cur, FuncRequest & cmd) bool InsetNewpage::getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus & status) const { - switch (cmd.action) { + switch (cmd.action()) { // we handle these case LFUN_INSET_MODIFY: if (cmd.getArg(0) == "newpage") { @@ -210,30 +211,32 @@ ColorCode InsetNewpage::ColorName() const } -int InsetNewpage::latex(odocstream & os, OutputParams const &) const +void InsetNewpage::latex(otexstream & os, OutputParams const & runparams) const { switch (params_.kind) { case InsetNewpageParams::NEWPAGE: - os << "\\newpage{}"; + os << "\\newpage" << termcmd; break; case InsetNewpageParams::PAGEBREAK: - os << "\\pagebreak{}"; + if (runparams.moving_arg) + os << "\\protect"; + os << "\\pagebreak" << termcmd; break; case InsetNewpageParams::CLEARPAGE: - os << "\\clearpage{}"; + os << "\\clearpage" << termcmd; break; case InsetNewpageParams::CLEARDOUBLEPAGE: - os << "\\cleardoublepage{}"; + os << "\\cleardoublepage" << termcmd; break; default: - os << "\\newpage{}"; + os << "\\newpage" << termcmd; break; } - return 0; } -int InsetNewpage::plaintext(odocstream & os, OutputParams const &) const +int InsetNewpage::plaintext(odocstringstream & os, + OutputParams const &, size_t) const { os << '\n'; return PLAINTEXT_NEWLINE; @@ -247,16 +250,16 @@ int InsetNewpage::docbook(odocstream & os, OutputParams const &) const } -docstring InsetNewpage::xhtml(odocstream & os, OutputParams const &) const +docstring InsetNewpage::xhtml(XHTMLStream & xs, OutputParams const &) const { - os << "
\n"; + xs << html::CompTag("br"); return docstring(); } -docstring InsetNewpage::contextMenu(BufferView const &, int, int) const +string InsetNewpage::contextMenuName() const { - return from_ascii("context-newpage"); + return "context-newpage"; }