mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-07 12:32:26 +00:00
Fix bug #5888. Yes, I do shame.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29665 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
188333b8cb
commit
a7d545170b
@ -462,10 +462,10 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
LYXERR(Debug::ACTION, "Text::dispatch: cmd: " << cmd);
|
LYXERR(Debug::ACTION, "Text::dispatch: cmd: " << cmd);
|
||||||
|
|
||||||
BufferView * bv = &cur.bv();
|
BufferView * bv = &cur.bv();
|
||||||
TextMetrics & tm = bv->textMetrics(this);
|
TextMetrics * tm = &bv->textMetrics(this);
|
||||||
if (!tm.contains(cur.pit())) {
|
if (!tm->contains(cur.pit())) {
|
||||||
lyx::dispatch(FuncRequest(LFUN_SCREEN_SHOW_CURSOR));
|
lyx::dispatch(FuncRequest(LFUN_SCREEN_SHOW_CURSOR));
|
||||||
tm = bv->textMetrics(this);
|
tm = &bv->textMetrics(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: We use the update flag to indicates wether a singlePar or a
|
// FIXME: We use the update flag to indicates wether a singlePar or a
|
||||||
@ -553,7 +553,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
if (cur.selection())
|
if (cur.selection())
|
||||||
cutSelection(cur, true, false);
|
cutSelection(cur, true, false);
|
||||||
else
|
else
|
||||||
tm.deleteLineForward(cur);
|
tm->deleteLineForward(cur);
|
||||||
finishChange(cur, false);
|
finishChange(cur, false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -740,13 +740,13 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
case LFUN_LINE_BEGIN:
|
case LFUN_LINE_BEGIN:
|
||||||
case LFUN_LINE_BEGIN_SELECT:
|
case LFUN_LINE_BEGIN_SELECT:
|
||||||
needsUpdate |= cur.selHandle(cmd.action == LFUN_LINE_BEGIN_SELECT);
|
needsUpdate |= cur.selHandle(cmd.action == LFUN_LINE_BEGIN_SELECT);
|
||||||
needsUpdate |= tm.cursorHome(cur);
|
needsUpdate |= tm->cursorHome(cur);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_LINE_END:
|
case LFUN_LINE_END:
|
||||||
case LFUN_LINE_END_SELECT:
|
case LFUN_LINE_END_SELECT:
|
||||||
needsUpdate |= cur.selHandle(cmd.action == LFUN_LINE_END_SELECT);
|
needsUpdate |= cur.selHandle(cmd.action == LFUN_LINE_END_SELECT);
|
||||||
needsUpdate |= tm.cursorEnd(cur);
|
needsUpdate |= tm->cursorEnd(cur);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_SECTION_SELECT: {
|
case LFUN_SECTION_SELECT: {
|
||||||
@ -1150,8 +1150,8 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
|
|
||||||
case LFUN_SERVER_GET_XY:
|
case LFUN_SERVER_GET_XY:
|
||||||
cur.message(from_utf8(
|
cur.message(from_utf8(
|
||||||
convert<string>(tm.cursorX(cur.top(), cur.boundary()))
|
convert<string>(tm->cursorX(cur.top(), cur.boundary()))
|
||||||
+ ' ' + convert<string>(tm.cursorY(cur.top(), cur.boundary()))));
|
+ ' ' + convert<string>(tm->cursorY(cur.top(), cur.boundary()))));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_SERVER_SET_XY: {
|
case LFUN_SERVER_SET_XY: {
|
||||||
@ -1163,7 +1163,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
lyxerr << "SETXY: Could not parse coordinates in '"
|
lyxerr << "SETXY: Could not parse coordinates in '"
|
||||||
<< to_utf8(cmd.argument()) << endl;
|
<< to_utf8(cmd.argument()) << endl;
|
||||||
else
|
else
|
||||||
tm.setCursorFromCoordinates(cur, x, y);
|
tm->setCursorFromCoordinates(cur, x, y);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1309,9 +1309,9 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
|
|
||||||
case LFUN_MOUSE_TRIPLE:
|
case LFUN_MOUSE_TRIPLE:
|
||||||
if (cmd.button() == mouse_button::button1) {
|
if (cmd.button() == mouse_button::button1) {
|
||||||
tm.cursorHome(cur);
|
tm->cursorHome(cur);
|
||||||
cur.resetAnchor();
|
cur.resetAnchor();
|
||||||
tm.cursorEnd(cur);
|
tm->cursorEnd(cur);
|
||||||
cur.setSelection();
|
cur.setSelection();
|
||||||
bv->cursor() = cur;
|
bv->cursor() = cur;
|
||||||
}
|
}
|
||||||
@ -1380,7 +1380,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
int const wh = bv->workHeight();
|
int const wh = bv->workHeight();
|
||||||
int const y = max(0, min(wh - 1, cmd.y));
|
int const y = max(0, min(wh - 1, cmd.y));
|
||||||
|
|
||||||
tm.setCursorFromCoordinates(cur, cmd.x, y);
|
tm->setCursorFromCoordinates(cur, cmd.x, y);
|
||||||
cur.setTargetX(cmd.x);
|
cur.setTargetX(cmd.x);
|
||||||
if (cmd.y >= wh)
|
if (cmd.y >= wh)
|
||||||
lyx::dispatch(FuncRequest(LFUN_DOWN_SELECT));
|
lyx::dispatch(FuncRequest(LFUN_DOWN_SELECT));
|
||||||
|
Loading…
Reference in New Issue
Block a user