} else if (token == "\\change_inserted" || token == "\\change_deleted") {
lex.eatLine();
istringstream is(lex.getString());
- unsigned int aid;
+ int aid;
time_t ct;
is >> aid >> ct;
- map<unsigned int, int> const & am = bp.author_map;
+ BufferParams::AuthorMap const & am = bp.author_map;
if (am.find(aid) == am.end()) {
errorList.push_back(ErrorItem(_("Change tracking error"),
bformat(_("Unknown author index for change: %1$d\n"), aid),
// end of a paragraph
tmp->setPlainOrDefaultLayout(bparams.documentClass());
- // layout stays the same with latex-environments
if (keep_layout) {
tmp->setLayout(par.layout());
tmp->setLabelWidthString(par.params().labelWidthString());
par.setPlainOrDefaultLayout(bparams.documentClass());
}
- // layout stays the same with latex-environments
if (keep_layout) {
par.setLayout(tmp->layout());
par.setLabelWidthString(tmp->params().labelWidthString());
cpar.eraseChar(cur.pos(), cur.buffer()->params().trackChanges);
// What should the layout for the new paragraph be?
- bool keep_layout = inverse_logic ?
- !layout.isEnvironment()
- : layout.isEnvironment();
+ bool keep_layout = layout.isEnvironment()
+ || (layout.isParagraph() && layout.parbreak_is_newline);
+ if (inverse_logic)
+ keep_layout = !keep_layout;
// We need to remember this before we break the paragraph, because
// that invalidates the layout variable
static docstring const number_seperators = from_ascii(".,:");
if (cur.current_font.fontInfo().number() == FONT_ON) {
- if (!isDigit(c) && !contains(number_operators, c) &&
+ if (!isDigitASCII(c) && !contains(number_operators, c) &&
!(contains(number_seperators, c) &&
cur.pos() != 0 &&
cur.pos() != cur.lastpos() &&
tm.displayFont(pit, cur.pos() - 1).fontInfo().number() == FONT_ON)
)
number(cur); // Set current_font.number to OFF
- } else if (isDigit(c) &&
+ } else if (isDigitASCII(c) &&
cur.real_current_font.isVisibleRightToLeft()) {
number(cur); // Set current_font.number to ON
}
if (!name.empty())
- // FIXME refstyle
- // We should allow customization of the separator or else change it
text = name + ':' + text;
return text;
}
+void Text::forToc(docstring & os, size_t maxlen, bool shorten) const
+{
+ LASSERT(maxlen > 10, maxlen = 30);
+ for (size_t i = 0; i != pars_.size() && os.length() < maxlen; ++i)
+ pars_[i].forToc(os, maxlen);
+ if (shorten && os.length() >= maxlen)
+ os = os.substr(0, maxlen - 3) + from_ascii("...");
+}
+
void Text::charsTranspose(Cursor & cur)
{