{ LFUN_REDO, "redo", Noop },
{ LFUN_LABEL_GOTO, "label-goto", ReadOnly },
{ LFUN_REFERENCE_NEXT, "reference-next", ReadOnly },
- { LFUN_SCREEN_DOWN, "screen-down", ReadOnly | NoUpdate},
+ { LFUN_SCREEN_DOWN, "screen-down", ReadOnly },
{ LFUN_SCREEN_DOWN_SELECT, "screen-down-select", ReadOnly },
{ LFUN_SCREEN_FONT_UPDATE, "screen-font-update", NoBuffer },
{ LFUN_SCREEN_RECENTER, "screen-recenter", ReadOnly },
- { LFUN_SCREEN_UP, "screen-up", ReadOnly | NoUpdate},
+ { LFUN_SCREEN_UP, "screen-up", ReadOnly },
{ LFUN_SCREEN_UP_SELECT, "screen-up-select", ReadOnly },
{ LFUN_SELF_INSERT, "self-insert", SingleParUpdate },
{ LFUN_SPACE_INSERT, "space-insert", Noop },
case LFUN_BUFFER_BEGIN_SELECT:
cur.selHandle(cmd.action == LFUN_BUFFER_BEGIN_SELECT);
if (cur.depth() == 1) {
- needsUpdate = cursorTop(cur);
+ needsUpdate |= cursorTop(cur);
} else {
cur.undispatched();
}
case LFUN_BUFFER_END_SELECT:
cur.selHandle(cmd.action == LFUN_BUFFER_END_SELECT);
if (cur.depth() == 1) {
- needsUpdate = cursorBottom(cur);
+ needsUpdate |= cursorBottom(cur);
} else {
cur.undispatched();
}
// << " LFUN_CHAR_FORWARD[SEL]:\n" << cur << endl;
cur.selHandle(cmd.action == LFUN_CHAR_FORWARD_SELECT);
if (isRTL(cur.paragraph()))
- needsUpdate = cursorLeft(cur);
+ needsUpdate |= cursorLeft(cur);
else
- needsUpdate = cursorRight(cur);
+ needsUpdate |= cursorRight(cur);
if (!needsUpdate && oldTopSlice == cur.top()
&& cur.boundary() == oldBoundary) {
//lyxerr << "handle LFUN_CHAR_BACKWARD[_SELECT]:\n" << cur << endl;
cur.selHandle(cmd.action == LFUN_CHAR_BACKWARD_SELECT);
if (isRTL(cur.paragraph()))
- needsUpdate = cursorRight(cur);
+ needsUpdate |= cursorRight(cur);
else
- needsUpdate = cursorLeft(cur);
+ needsUpdate |= cursorLeft(cur);
if (!needsUpdate && oldTopSlice == cur.top()
&& cur.boundary() == oldBoundary) {
//lyxerr << "handle LFUN_UP[SEL]:\n" << cur << endl;
cur.selHandle(cmd.action == LFUN_UP_SELECT);
- needsUpdate = cursorUp(cur);
+ needsUpdate |= cursorUp(cur);
if (!needsUpdate && oldTopSlice == cur.top()
&& cur.boundary() == oldBoundary) {
cur.undispatched();
update(cur);
//lyxerr << "handle LFUN_DOWN[SEL]:\n" << cur << endl;
cur.selHandle(cmd.action == LFUN_DOWN_SELECT);
- needsUpdate = cursorDown(cur);
+ needsUpdate |= cursorDown(cur);
if (!needsUpdate && oldTopSlice == cur.top() &&
cur.boundary() == oldBoundary)
{
case LFUN_PARAGRAPH_UP:
case LFUN_PARAGRAPH_UP_SELECT:
cur.selHandle(cmd.action == LFUN_PARAGRAPH_UP_SELECT);
- needsUpdate = cursorUpParagraph(cur);
+ needsUpdate |= cursorUpParagraph(cur);
break;
case LFUN_PARAGRAPH_DOWN:
case LFUN_PARAGRAPH_DOWN_SELECT:
cur.selHandle(cmd.action == LFUN_PARAGRAPH_DOWN_SELECT);
- needsUpdate = cursorDownParagraph(cur);
+ needsUpdate |= cursorDownParagraph(cur);
break;
case LFUN_SCREEN_UP:
cur.undispatched();
cmd = FuncRequest(LFUN_FINISHED_UP);
} else {
- needsUpdate = cursorPrevious(cur);
+ needsUpdate |= cursorPrevious(cur);
}
break;
cur.undispatched();
cmd = FuncRequest(LFUN_FINISHED_DOWN);
} else {
- needsUpdate = cursorNext(cur);
+ needsUpdate |= cursorNext(cur);
}
break;
case LFUN_LINE_BEGIN_SELECT:
update(cur);
cur.selHandle(cmd.action == LFUN_LINE_BEGIN_SELECT);
- needsUpdate = cursorHome(cur);
+ needsUpdate |= cursorHome(cur);
break;
case LFUN_LINE_END:
case LFUN_LINE_END_SELECT:
update(cur);
cur.selHandle(cmd.action == LFUN_LINE_END_SELECT);
- needsUpdate = cursorEnd(cur);
+ needsUpdate |= cursorEnd(cur);
break;
case LFUN_WORD_FORWARD:
case LFUN_WORD_FORWARD_SELECT:
cur.selHandle(cmd.action == LFUN_WORD_FORWARD_SELECT);
if (isRTL(cur.paragraph()))
- needsUpdate = cursorLeftOneWord(cur);
+ needsUpdate |= cursorLeftOneWord(cur);
else
- needsUpdate = cursorRightOneWord(cur);
+ needsUpdate |= cursorRightOneWord(cur);
break;
case LFUN_WORD_BACKWARD:
case LFUN_WORD_BACKWARD_SELECT:
cur.selHandle(cmd.action == LFUN_WORD_BACKWARD_SELECT);
if (isRTL(cur.paragraph()))
- needsUpdate = cursorRightOneWord(cur);
+ needsUpdate |= cursorRightOneWord(cur);
else
- needsUpdate = cursorLeftOneWord(cur);
+ needsUpdate |= cursorLeftOneWord(cur);
break;
case LFUN_WORD_SELECT: {
if (cur.pos() == cur.paragraph().size())
// Par boundary, force full-screen update
singleParUpdate = false;
- needsUpdate = erase(cur);
+ needsUpdate |= erase(cur);
cur.resetAnchor();
// It is possible to make it a lot faster still
// just comment out the line below...
// Par boundary, full-screen update
if (cur.pos() == 0)
singleParUpdate = false;
- needsUpdate = backspace(cur);
+ needsUpdate |= backspace(cur);
cur.resetAnchor();
// It is possible to make it a lot faster still
// just comment out the line below...
}
case LFUN_INSET_DISSOLVE:
- needsUpdate = dissolveInset(cur);
+ needsUpdate |= dissolveInset(cur);
break;
case LFUN_INSET_SETTINGS: