cur.message(_("Cut"));
break;
- case LFUN_COPY:
- copySelection(cur);
- cur.message(_("Copy"));
- break;
-
case LFUN_SERVER_GET_XY:
cur.message(from_utf8(
convert<string>(tm->cursorX(cur.top(), cur.boundary()))
while (cur.pit() + offset <= cur.lastpit()) {
Paragraph cpar = pars_[cur.pit() + offset];
depth_type nextpar_depth = cpar.params().depth();
- if (cur_depth <= nextpar_depth) {
+ if (cur_depth <= nextpar_depth && nextpar_depth > 0) {
nextpars_depth.push_back(nextpar_depth);
cur_depth = nextpar_depth;
++offset;
// Don't do anything if we right-click a
// selection, a context menu will popup.
if (bvcur.selection() && cur >= bvcur.selectionBegin()
- && cur < bvcur.selectionEnd()) {
+ && cur <= bvcur.selectionEnd()) {
cur.noScreenUpdate();
return;
}
// inside it.
doInsertInset(cur, this, cmd, true, true);
cur.posForward();
- if (act == LFUN_SCRIPT_INSERT) {
- /* Script insets change the font style in metrics(), and
- * this is used to compute the height of the caret
- * (because the font is stored in TextMetrics::font_).
- * When we insert, we have to make sure that metrics are
- * computed so that the caret height is wrong. Arguably,
- * this is hackish.*/
- bv->processUpdateFlags(Update::SinglePar);
- }
+ /* The font of the inset is computed in metrics(), and this is
+ * used to compute the height of the caret (because the font
+ * is stored in TextMetrics::font_). When we insert, we have
+ * to make sure that metrics are computed so that the caret
+ * height is correct. Arguably, this is hackish.*/
+ bv->processUpdateFlags(Update::SinglePar);
cur.setCurrentFont();
// Some insets are numbered, others are shown in the outline pane so
// let's update the labels and the toc backend.
break;
case LFUN_CUT:
- case LFUN_COPY:
enable = cur.selection();
break;