using cap::replaceSelection;
using cap::grabAndEraseSelection;
using cap::selClearOrDel;
+using cap::pasteSimpleText;
// globals...
static Font freefont(ignore_font, ignore_language);
inset->edit(cur, true);
// Now put this into inset
Font const f(inherit_font, cur.current_font.language());
- cur.text()->insertStringAsLines(cur, ds, f);
- cur.leaveInset(*inset);
+ if (!ds.empty()) {
+ cur.text()->insertStringAsLines(cur, ds, f);
+ cur.leaveInset(*inset);
+ }
return true;
}
// provide it with two different cursors.
Cursor dummy = cur;
dummy.pos() = dummy.pit() = 0;
- if (cur.bv().checkDepm(dummy, cur))
+ if (cur.bv().checkDepm(dummy, cur)) {
cur.forceBufferUpdate();
+ // DEPM may have requested a screen update
+ cur.screenUpdateFlags(
+ cur.screenUpdate() | dummy.screenUpdate());
+ }
}
}
break;
Cursor dummy = cur;
dummy.pos() = cur.lastpos();
dummy.pit() = cur.lastpit();
- if (cur.bv().checkDepm(dummy, cur))
+ if (cur.bv().checkDepm(dummy, cur)) {
cur.forceBufferUpdate();
+ // DEPM may have requested a screen update
+ cur.screenUpdateFlags(
+ cur.screenUpdate() | dummy.screenUpdate());
+ }
}
}
break;
// provide it with two different cursors.
Cursor dummy = cur;
dummy.pos() = dummy.pit() = 0;
- if (cur.bv().checkDepm(dummy, cur))
+ if (cur.bv().checkDepm(dummy, cur)) {
cur.forceBufferUpdate();
+ // DEPM may have requested a screen update
+ cur.screenUpdateFlags(
+ cur.screenUpdate() | dummy.screenUpdate());
+ }
}
}
break;
Cursor dummy = cur;
dummy.pos() = cur.lastpos();
dummy.pit() = cur.lastpit();
- if (cur.bv().checkDepm(dummy, cur))
+ if (cur.bv().checkDepm(dummy, cur)) {
cur.forceBufferUpdate();
+ // DEPM may have requested a screen update
+ cur.screenUpdateFlags(
+ cur.screenUpdate() | dummy.screenUpdate());
+ }
}
}
break;
bv->buffer().errors("Paste");
break;
+ case LFUN_CLIPBOARD_PASTE_SIMPLE:
+ cur.clearSelection();
+ pasteSimpleText(cur, cmd.argument() == "paragraph");
+ break;
+
case LFUN_PRIMARY_SELECTION_PASTE:
pasteString(cur, theSelection().get(),
cmd.argument() == "paragraph");
}
case LFUN_CLIPBOARD_PASTE:
+ case LFUN_CLIPBOARD_PASTE_SIMPLE:
enable = !theClipboard().empty();
break;