if (cmd.action() == LFUN_INDEX_INSERT)
copySelectionToTemp(cur);
else
- cutSelectionToTemp(cur, false, pastesel);
+ cutSelectionToTemp(cur, pastesel);
cur.clearSelection();
gotsel = true;
} else if (cmd.action() == LFUN_INDEX_INSERT) {
}
-docstring resolveLayout(docstring layout, Cursor const & cur)
+docstring resolveLayout(docstring layout, DocIterator const & dit)
{
- Paragraph const & par = cur.paragraph();
+ Paragraph const & par = dit.paragraph();
docstring const old_layout = par.layout().name();
- DocumentClass const & tclass = cur.buffer()->params().documentClass();
+ DocumentClass const & tclass = dit.buffer()->params().documentClass();
if (layout.empty())
layout = tclass.defaultLayoutName();
- if (cur.inset().forcePlainLayout(cur.idx()))
+ if (dit.inset().forcePlainLayout(dit.idx()))
// in this case only the empty layout is allowed
layout = tclass.plainLayoutName();
else if (par.usePlainLayout()) {
}
-bool isAlreadyLayout(docstring const & layout, Cursor const & cur)
+bool isAlreadyLayout(docstring const & layout, CursorData const & cur)
{
ParagraphList const & pars = cur.text()->paragraphs();
case LFUN_WORD_DELETE_FORWARD:
if (cur.selection())
- cutSelection(cur, true, false);
+ cutSelection(cur, false);
else
deleteWordForward(cur, cmd.getArg(0) == "force");
finishChange(cur, false);
case LFUN_WORD_DELETE_BACKWARD:
if (cur.selection())
- cutSelection(cur, true, false);
+ cutSelection(cur, false);
else
deleteWordBackward(cur, cmd.getArg(0) == "force");
finishChange(cur, false);
case LFUN_LINE_DELETE_FORWARD:
if (cur.selection())
- cutSelection(cur, true, false);
+ cutSelection(cur, false);
else
tm->deleteLineForward(cur);
finishChange(cur, false);
needsUpdate |= erase(cur);
cur.resetAnchor();
} else {
- cutSelection(cur, true, false);
+ cutSelection(cur, false);
singleParUpdate = false;
}
moveCursor(cur, false);
}
}
} else {
- cutSelection(cur, true, false);
+ cutSelection(cur, false);
singleParUpdate = false;
}
break;
}
*/
if (cur.selection())
- cutSelection(cur, true, false);
+ cutSelection(cur, false);
cur.insert(inset);
cur.forceBufferUpdate();
if (inset->editable() && inset->asInsetText())
}
case LFUN_CUT:
- cutSelection(cur, true, true);
+ cutSelection(cur, true);
cur.message(_("Cut"));
break;
cur.message(cur.paragraph().layout().name());
break;
- case LFUN_LAYOUT: {
+ case LFUN_LAYOUT:
+ case LFUN_LAYOUT_TOGGLE: {
bool const ignoreautonests = cmd.getArg(1) == "ignoreautonests";
docstring req_layout = ignoreautonests ? from_utf8(cmd.getArg(0)) : cmd.argument();
LYXERR(Debug::INFO, "LFUN_LAYOUT: (arg) " << to_utf8(req_layout));
docstring const old_layout = cur.paragraph().layout().name();
bool change_layout = !isAlreadyLayout(layout, cur);
+ if (cmd.action() == LFUN_LAYOUT_TOGGLE && !change_layout) {
+ change_layout = true;
+ layout = resolveLayout(docstring(), cur);
+ }
+
if (change_layout) {
setLayout(cur, layout);
if (cur.pit() > 0 && !ignoreautonests) {
// true (on).
if (lyxrc.auto_region_delete && cur.selection())
- cutSelection(cur, false, false);
-
+ cutSelection(cur, false);
cur.clearSelection();
- docstring::const_iterator cit = cmd.argument().begin();
- docstring::const_iterator const end = cmd.argument().end();
- for (; cit != end; ++cit)
- bv->translateAndInsert(*cit, this, cur);
+ for (char_type c : cmd.argument())
+ bv->translateAndInsert(c, this, cur);
cur.resetAnchor();
moveCursor(cur, false);
if (cmd.argument().empty() && cur.selection()) {
// if command argument is empty use current selection as parameter.
docstring ds = cur.selectionAsString(false);
- cutSelection(cur, true, false);
+ cutSelection(cur, false);
FuncRequest cmd0(cmd, ds);
inset = createInset(cur.buffer(), cmd0);
} else {
if (tclass.floats().typeExist(to_utf8(cmd.argument()))) {
cur.recordUndo();
if (cur.selection())
- cutSelection(cur, true, false);
+ cutSelection(cur, false);
breakParagraph(cur);
if (cur.lastpos() != 0) {
}
break;
- case LFUN_LAYOUT: {
+ case LFUN_LAYOUT:
+ case LFUN_LAYOUT_TOGGLE: {
bool const ignoreautonests = cmd.getArg(1) == "ignoreautonests";
docstring const req_layout = ignoreautonests ? from_utf8(cmd.getArg(0)) : cmd.argument();
docstring const layout = resolveLayout(req_layout, cur);