1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-15 10:14:58 +00:00

LibGfx+LibGUI+Clients: Make fonts findable by their qualified name

The qualified name of a font is "<Family> <Size> <Weight>". You can
get the QN of a Font via the Font::qualified_name() API, and you can
get any system font by QN from the GUI::FontDatabase. :^)
This commit is contained in:
Andreas Kling 2020-10-25 19:28:06 +01:00
parent 260b52215c
commit 9d347352a1
8 changed files with 57 additions and 61 deletions

View file

@ -396,12 +396,12 @@ TextEditorWidget::TextEditorWidget()
font_actions.set_exclusive(true);
auto& font_menu = view_menu.add_submenu("Font");
GUI::FontDatabase::the().for_each_fixed_width_font([&](const StringView& font_name) {
auto action = GUI::Action::create_checkable(font_name, [&](auto& action) {
m_editor->set_font(GUI::FontDatabase::the().get_by_name(action.text()));
GUI::FontDatabase::the().for_each_fixed_width_font([&](const Gfx::Font& font) {
auto action = GUI::Action::create_checkable(font.qualified_name(), [&](auto&) {
m_editor->set_font(font);
m_editor->update();
});
if (m_editor->font().name() == font_name)
if (m_editor->font().qualified_name() == font.qualified_name())
action->set_checked(true);
font_actions.add_action(*action);
font_menu.add_action(*action);