Jelajahi Sumber

LibWeb: Support jumping across word boundaries in text nodes

This also supports holding shift to modify the selection.
Timothy Flynn 10 bulan lalu
induk
melakukan
a0072f422a
1 mengubah file dengan 8 tambahan dan 2 penghapusan
  1. 8 2
      Userland/Libraries/LibWeb/Page/EventHandler.cpp

+ 8 - 2
Userland/Libraries/LibWeb/Page/EventHandler.cpp

@@ -931,9 +931,15 @@ bool EventHandler::handle_keydown(UIEvents::KeyCode key, u32 modifiers, u32 code
 
         if (key == UIEvents::KeyCode::Key_Left || key == UIEvents::KeyCode::Key_Right) {
             auto increment_or_decrement_cursor = [&]() {
+                if ((modifiers & UIEvents::Mod_PlatformWordJump) == 0) {
+                    if (key == UIEvents::KeyCode::Key_Left)
+                        return document->decrement_cursor_position_offset();
+                    return document->increment_cursor_position_offset();
+                }
+
                 if (key == UIEvents::KeyCode::Key_Left)
-                    return document->decrement_cursor_position_offset();
-                return document->increment_cursor_position_offset();
+                    return document->decrement_cursor_position_to_previous_word();
+                return document->increment_cursor_position_to_next_word();
             };
 
             if ((modifiers & UIEvents::Mod_Shift) == 0) {