diff --git a/Userland/DevTools/HackStudio/HackStudioWidget.cpp b/Userland/DevTools/HackStudio/HackStudioWidget.cpp index 3fc1d8bb8c..e13daace78 100644 --- a/Userland/DevTools/HackStudio/HackStudioWidget.cpp +++ b/Userland/DevTools/HackStudio/HackStudioWidget.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -1426,8 +1427,15 @@ void HackStudioWidget::update_history_actions() RefPtr HackStudioWidget::read_editor_font_from_config() { - // FIXME: Actually read the font from config - return Gfx::FontDatabase::the().get("Csilla", "Regular", 10); + auto font_family = Config::read_string("HackStudio", "EditorFont", "Family", "Csilla"); + auto font_variant = Config::read_string("HackStudio", "EditorFont", "Variant", "Regular"); + auto font_size = Config::read_i32("HackStudio", "EditorFont", "Size", 10); + + auto font = Gfx::FontDatabase::the().get(font_family, font_variant, font_size); + if (font.is_null()) + return Gfx::FontDatabase::the().default_fixed_width_font(); + + return font; } void HackStudioWidget::change_editor_font(RefPtr font) @@ -1437,7 +1445,9 @@ void HackStudioWidget::change_editor_font(RefPtr font) editor_wrapper.editor().set_font(*m_editor_font); } - // TODO: Save into config + Config::write_string("HackStudio", "EditorFont", "Family", m_editor_font->family()); + Config::write_string("HackStudio", "EditorFont", "Variant", m_editor_font->variant()); + Config::write_i32("HackStudio", "EditorFont", "Size", m_editor_font->presentation_size()); } } diff --git a/Userland/DevTools/HackStudio/main.cpp b/Userland/DevTools/HackStudio/main.cpp index 3296ba80f7..0817320c41 100644 --- a/Userland/DevTools/HackStudio/main.cpp +++ b/Userland/DevTools/HackStudio/main.cpp @@ -9,6 +9,7 @@ #include "HackStudioWidget.h" #include "Project.h" #include +#include #include #include #include @@ -38,6 +39,7 @@ int main(int argc, char** argv) } auto app = GUI::Application::construct(argc, argv); + Config::pledge_domains({ "HackStudio", "Terminal" }); auto window = GUI::Window::construct(); window->resize(840, 600);