[PATCH weston] editor: Support shift-left/right for selecting text

Rob Bradford robert.bradford at intel.com
Thu Jul 11 08:00:00 PDT 2013


From: Rob Bradford <rob at linux.intel.com>

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
---
 clients/editor.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/clients/editor.c b/clients/editor.c
index 7e69403..1300ccf 100644
--- a/clients/editor.c
+++ b/clients/editor.c
@@ -1141,7 +1141,8 @@ key_handler(struct window *window,
 			new_char = utf8_prev_char(entry->text, entry->text + entry->cursor);
 			if (new_char != NULL) {
 				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);
 			}
 			break;
@@ -1151,7 +1152,8 @@ key_handler(struct window *window,
 			new_char = utf8_next_char(entry->text + entry->cursor);
 			if (new_char != NULL) {
 				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);
 			}
 			break;
-- 
1.8.3.1



More information about the wayland-devel mailing list