From 2e46e33a9b38dc5fea774d2efbacb0aa0bfe5c2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kleines=20Filmr=C3=B6llchen?= Date: Fri, 26 May 2023 14:07:41 +0200 Subject: [PATCH] LibGUI: Add direct property for fixed-width font There's the "font_type" property which currently only handles fixed-width yes/no, so until we get a proper font type enum and associated enum property, this is better to use from GML instead of a special case in the GML compiler. --- Userland/Libraries/LibGUI/Widget.cpp | 6 ++++++ Userland/Libraries/LibGUI/Widget.h | 1 + 2 files changed, 7 insertions(+) diff --git a/Userland/Libraries/LibGUI/Widget.cpp b/Userland/Libraries/LibGUI/Widget.cpp index 45d363beb4..4af727daa3 100644 --- a/Userland/Libraries/LibGUI/Widget.cpp +++ b/Userland/Libraries/LibGUI/Widget.cpp @@ -88,6 +88,7 @@ Widget::Widget() REGISTER_STRING_PROPERTY("title", title, set_title); + REGISTER_BOOL_PROPERTY("font_fixed_width", is_font_fixed_width, set_font_fixed_width) register_property( "font_type", [this] { return m_font->is_fixed_width() ? "FixedWidth" : "Normal"; }, [this](auto& value) { @@ -841,6 +842,11 @@ void Widget::set_font_fixed_width(bool fixed_width) set_font(Gfx::FontDatabase::the().get(Gfx::FontDatabase::the().default_font().family(), m_font->presentation_size(), m_font->weight(), m_font->width(), m_font->slope())); } +bool Widget::is_font_fixed_width() +{ + return font().is_fixed_width(); +} + void Widget::set_min_size(UISize const& size) { VERIFY(size.width().is_one_of(SpecialDimension::Regular, SpecialDimension::Shrink)); diff --git a/Userland/Libraries/LibGUI/Widget.h b/Userland/Libraries/LibGUI/Widget.h index aeb842994d..1d1a73926e 100644 --- a/Userland/Libraries/LibGUI/Widget.h +++ b/Userland/Libraries/LibGUI/Widget.h @@ -295,6 +295,7 @@ public: void set_font_size(unsigned); void set_font_weight(unsigned); void set_font_fixed_width(bool); + bool is_font_fixed_width(); void notify_layout_changed(Badge); void invalidate_layout();