Przeglądaj źródła

GTextEditor: Relayout when the line-wrapping setting is changed

Andreas Kling 6 lat temu
rodzic
commit
5aac652b4b
2 zmienionych plików z 12 dodań i 1 usunięć
  1. 11 0
      Libraries/LibGUI/GTextEditor.cpp
  2. 1 1
      Libraries/LibGUI/GTextEditor.h

+ 11 - 0
Libraries/LibGUI/GTextEditor.cpp

@@ -1405,3 +1405,14 @@ void GTextEditor::Line::for_each_visual_line(Callback callback) const
         ++line_index;
     }
 }
+
+void GTextEditor::set_line_wrapping_enabled(bool enabled)
+{
+    if (m_line_wrapping_enabled == enabled)
+        return;
+
+    m_line_wrapping_enabled = enabled;
+    update_content_size();
+    recompute_all_visual_lines();
+    update();
+}

+ 1 - 1
Libraries/LibGUI/GTextEditor.h

@@ -102,7 +102,7 @@ public:
     void set_automatic_indentation_enabled(bool enabled) { m_automatic_indentation_enabled = enabled; }
 
     bool is_line_wrapping_enabled() const { return m_line_wrapping_enabled; }
-    void set_line_wrapping_enabled(bool enabled) { m_line_wrapping_enabled = enabled; }
+    void set_line_wrapping_enabled(bool);
 
     TextAlignment text_alignment() const { return m_text_alignment; }
     void set_text_alignment(TextAlignment);