editor: Support shift-left/right for selecting text
If the shift modifier is active then we don't make the cursor and the anchor the same and as a result we develop a selection in the direction that the arrow key gets pressed in. https://bugs.freedesktop.org/show_bug.cgi?id=66802
This commit is contained in:
committed by
Kristian Høgsberg
parent
bdeb5d224d
commit
7000283741
+4
-2
@@ -1141,7 +1141,8 @@ key_handler(struct window *window,
|
|||||||
new_char = utf8_prev_char(entry->text, entry->text + entry->cursor);
|
new_char = utf8_prev_char(entry->text, entry->text + entry->cursor);
|
||||||
if (new_char != NULL) {
|
if (new_char != NULL) {
|
||||||
entry->cursor = new_char - entry->text;
|
entry->cursor = new_char - entry->text;
|
||||||
entry->anchor = entry->cursor;
|
if (!(input_get_modifiers(input) & MOD_SHIFT_MASK))
|
||||||
|
entry->anchor = entry->cursor;
|
||||||
widget_schedule_redraw(entry->widget);
|
widget_schedule_redraw(entry->widget);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1151,7 +1152,8 @@ key_handler(struct window *window,
|
|||||||
new_char = utf8_next_char(entry->text + entry->cursor);
|
new_char = utf8_next_char(entry->text + entry->cursor);
|
||||||
if (new_char != NULL) {
|
if (new_char != NULL) {
|
||||||
entry->cursor = new_char - entry->text;
|
entry->cursor = new_char - entry->text;
|
||||||
entry->anchor = entry->cursor;
|
if (!(input_get_modifiers(input) & MOD_SHIFT_MASK))
|
||||||
|
entry->anchor = entry->cursor;
|
||||||
widget_schedule_redraw(entry->widget);
|
widget_schedule_redraw(entry->widget);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user