1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 12:55:09 +00:00

LibGUI: Resize TextEditor ruler based on needed space

Ruler width is now calculated according to the number of digits
in the line count.
This commit is contained in:
thankyouverycool 2020-08-15 10:27:54 -04:00 committed by Andreas Kling
parent 15cb4207fc
commit a5fefbf840

View file

@ -42,6 +42,7 @@
#include <LibGfx/Palette.h> #include <LibGfx/Palette.h>
#include <ctype.h> #include <ctype.h>
#include <fcntl.h> #include <fcntl.h>
#include <math.h>
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
@ -328,8 +329,8 @@ int TextEditor::ruler_width() const
{ {
if (!m_ruler_visible) if (!m_ruler_visible)
return 0; return 0;
// FIXME: Resize based on needed space. int line_count_digits = static_cast<int>(log10(line_count())) + 1;
return 5 * font().glyph_width('x') + 4; return line_count() < 10 ? (line_count_digits + 1) * font().glyph_width('x') + 4 : line_count_digits * font().glyph_width('x') + 4;
} }
Gfx::IntRect TextEditor::ruler_content_rect(size_t line_index) const Gfx::IntRect TextEditor::ruler_content_rect(size_t line_index) const