diff --git a/Userland/Libraries/LibGUI/TextEditor.cpp b/Userland/Libraries/LibGUI/TextEditor.cpp index 1d7fd1b2513..cf2d80c8e9a 100644 --- a/Userland/Libraries/LibGUI/TextEditor.cpp +++ b/Userland/Libraries/LibGUI/TextEditor.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -310,6 +311,12 @@ void TextEditor::mousemove_event(MouseEvent& event) update(); return; } + + if (m_ruler_visible && (ruler_rect_in_inner_coordinates().contains(event.position()))) { + set_override_cursor(Gfx::StandardCursor::None); + } else { + set_editing_cursor(); + } } void TextEditor::select_current_line() @@ -1672,6 +1679,11 @@ void TextEditor::set_mode(const Mode mode) VERIFY_NOT_REACHED(); } + set_editing_cursor(); +} + +void TextEditor::set_editing_cursor() +{ if (!is_displayonly()) set_override_cursor(Gfx::StandardCursor::IBeam); else diff --git a/Userland/Libraries/LibGUI/TextEditor.h b/Userland/Libraries/LibGUI/TextEditor.h index 547ac759a39..fb1721f05c8 100644 --- a/Userland/Libraries/LibGUI/TextEditor.h +++ b/Userland/Libraries/LibGUI/TextEditor.h @@ -95,6 +95,8 @@ public: bool is_displayonly() const { return m_mode == DisplayOnly; } void set_mode(const Mode); + void set_editing_cursor(); + bool is_ruler_visible() const { return m_ruler_visible; } void set_ruler_visible(bool);