X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetERT.cpp;h=ce9d3834d2b74d3e5c20394ccdfcac7ecad721de;hb=f365a650686cc27487f686a7803968df1f24e0b8;hp=1a3b2a9ae47737d6a031274127e4d1ca9a0b40f5;hpb=e94a9732b1393b8f2f2be211ec7258947b6f2259;p=lyx.git diff --git a/src/insets/InsetERT.cpp b/src/insets/InsetERT.cpp index 1a3b2a9ae4..ce9d3834d2 100644 --- a/src/insets/InsetERT.cpp +++ b/src/insets/InsetERT.cpp @@ -29,10 +29,6 @@ #include "Paragraph.h" #include "TextClass.h" -#include "frontends/alert.h" -#include "frontends/Application.h" - -#include "support/debug.h" #include "support/gettext.h" #include "support/lstrings.h" @@ -57,7 +53,8 @@ void InsetERT::write(ostream & os) const } -int InsetERT::plaintext(odocstream & os, OutputParams const & rp) const +int InsetERT::plaintext(odocstringstream & os, + OutputParams const & rp, size_t max_length) const { if (!rp.inIndexEntry) // do not output TeX code @@ -66,7 +63,7 @@ int InsetERT::plaintext(odocstream & os, OutputParams const & rp) const ParagraphList::const_iterator par = paragraphs().begin(); ParagraphList::const_iterator end = paragraphs().end(); - while (par != end) { + while (par != end && os.str().size() <= max_length) { pos_type siz = par->size(); for (pos_type i = 0; i < siz; ++i) { char_type const c = par->getChar(i); @@ -112,14 +109,18 @@ int InsetERT::docbook(odocstream & os, OutputParams const &) const void InsetERT::doDispatch(Cursor & cur, FuncRequest & cmd) { switch (cmd.action()) { - case LFUN_INSET_MODIFY: { - setStatus(cur, string2params(to_utf8(cmd.argument()))); - break; - } + case LFUN_INSET_MODIFY: + if (cmd.getArg(0) == "ert") { + cur.recordUndoInset(this); + setStatus(cur, string2params(to_utf8(cmd.argument()))); + break; + } + //fall-through default: InsetCollapsable::doDispatch(cur, cmd); break; } + } @@ -128,9 +129,12 @@ bool InsetERT::getStatus(Cursor & cur, FuncRequest const & cmd, { switch (cmd.action()) { case LFUN_INSET_MODIFY: - status.setEnabled(true); - return true; - + if (cmd.getArg(0) == "ert") { + status.setEnabled(true); + return true; + } + //fall through + default: return InsetCollapsable::getStatus(cur, cmd, status); } @@ -140,9 +144,9 @@ bool InsetERT::getStatus(Cursor & cur, FuncRequest const & cmd, docstring const InsetERT::buttonLabel(BufferView const & bv) const { if (decoration() == InsetLayout::CLASSIC) - return isOpen(bv) ? _("TeX") : getNewLabel(_("TeX")); + return isOpen(bv) ? _("ERT") : getNewLabel(_("ERT")); else - return getNewLabel(_("TeX")); + return getNewLabel(_("ERT")); }