diff --git a/Userland/Libraries/LibGUI/GlyphMapWidget.cpp b/Userland/Libraries/LibGUI/GlyphMapWidget.cpp index 6ddc8319d2..eff4612537 100644 --- a/Userland/Libraries/LibGUI/GlyphMapWidget.cpp +++ b/Userland/Libraries/LibGUI/GlyphMapWidget.cpp @@ -498,4 +498,12 @@ ErrorOr GlyphMapWidget::set_font(Gfx::Font const& font) return {}; } +Optional GlyphMapWidget::calculated_min_size() const +{ + auto scrollbar = vertical_scrollbar().effective_min_size().height().as_int(); + auto min_height = max(font().glyph_height() + m_vertical_spacing, scrollbar); + auto min_width = font().max_glyph_width() + m_horizontal_spacing + width_occupied_by_vertical_scrollbar(); + return { { min_width + frame_thickness() * 2, min_height + frame_thickness() * 2 } }; +} + } diff --git a/Userland/Libraries/LibGUI/GlyphMapWidget.h b/Userland/Libraries/LibGUI/GlyphMapWidget.h index acc0c7a19a..ffd312527c 100644 --- a/Userland/Libraries/LibGUI/GlyphMapWidget.h +++ b/Userland/Libraries/LibGUI/GlyphMapWidget.h @@ -88,6 +88,7 @@ private: virtual void resize_event(ResizeEvent&) override; virtual void did_change_font() override; virtual void context_menu_event(ContextMenuEvent&) override; + virtual Optional calculated_min_size() const override; Gfx::IntRect get_outer_rect(int glyph) const; Optional glyph_at_position(Gfx::IntPoint) const;