ParIterator fend = par_iterator_end(in);
for (; fpit != fend; ++fpit) {
- InsetList::iterator lit = fpit->insetlist.begin();
- InsetList::iterator eit = fpit->insetlist.end();
+ InsetList::const_iterator lit = fpit->insetlist.begin();
+ InsetList::const_iterator eit = fpit->insetlist.end();
for (; lit != eit; ++lit) {
switch (lit->inset->lyxCode()) {
pos_type const left = (pit == startpit ? startpos : 0);
pos_type const right = (pit == endpit ? endpos : pars[pit].size() + 1);
+ bool const merge = pars[pit].isMergedOnEndOfParDeletion(params.trackChanges);
+
// Logically erase only, including the end-of-paragraph character
pars[pit].eraseChars(left, right, params.trackChanges);
- // A paragraph break has to be physically removed by merging only
- // if either (1) change tracking is off, or (2) the imaginary
- // end-of-paragraph character is marked as inserted even after
- // the erase operation (please see Paragraph::Pimpl::eraseChar(...)
- // for details on end-of-par handling)
-
- bool const merge = !params.trackChanges ||
- pars[pit].isInserted(pars[pit].size());
-
// Separate handling of paragraph break:
if (merge && pit != endpit &&
(pit + 1 != endpit || pars[pit].hasSameLayout(pars[pit + 1]))) {
textclass, errorList);
updateLabels(cur.buffer());
cur.clearSelection();
- text->setCursor(cur, ppp.first, ppp.second);
+ text->setCursor(cur.top(), ppp.first, ppp.second);
}
// mathed is handled in InsetMathNest/InsetMathGrid
// simple replacing. The font of the first selected character is used
-void replaceSelectionWithString(LCursor & cur, string const & str, bool backwards)
+void replaceSelectionWithString(LCursor & cur, docstring const & str, bool backwards)
{
recordUndo(cur);
DocIterator selbeg = cur.selectionBegin();
// Insert the new string
pos_type pos = cur.selEnd().pos();
Paragraph & par = cur.selEnd().paragraph();
- string::const_iterator cit = str.begin();
- string::const_iterator end = str.end();
+ docstring::const_iterator cit = str.begin();
+ docstring::const_iterator end = str.end();
for (; cit != end; ++cit, ++pos)
- par.insertChar(pos, (*cit), font, cur.buffer().params().trackChanges);
+ par.insertChar(pos, *cit, font, cur.buffer().params().trackChanges);
// Cut the selection
cutSelection(cur, true, false);