diff --git a/Userland/Libraries/LibGUI/CMakeLists.txt b/Userland/Libraries/LibGUI/CMakeLists.txt index 033925ea09b..5cd55f1ac43 100644 --- a/Userland/Libraries/LibGUI/CMakeLists.txt +++ b/Userland/Libraries/LibGUI/CMakeLists.txt @@ -3,7 +3,7 @@ compile_gml(DynamicWidgetContainerControls.gml DynamicWidgetContainerControls.cp compile_gml(AboutDialog.gml AboutDialogGML.cpp) stringify_gml(DatePickerDialog.gml DatePickerDialogGML.h date_picker_dialog_gml) stringify_gml(EmojiInputDialog.gml EmojiInputDialogGML.h emoji_input_dialog_gml) -stringify_gml(FontPickerDialog.gml FontPickerDialogGML.h font_picker_dialog_gml) +compile_gml(FontPickerDialog.gml FontPickerDialogGML.cpp) compile_gml(FilePickerDialog.gml FilePickerDialogGML.cpp) stringify_gml(IncrementalSearchBanner.gml IncrementalSearchBannerGML.h incremental_search_banner_gml) compile_gml(PasswordInputDialog.gml PasswordInputDialogGML.cpp) @@ -54,6 +54,7 @@ set(SOURCES FileSystemModel.cpp FilteringProxyModel.cpp FontPicker.cpp + FontPickerDialogGML.cpp Frame.cpp GitCommitLexer.cpp GitCommitSyntaxHighlighter.cpp @@ -151,7 +152,6 @@ set(GENERATED_SOURCES ../../Services/WindowServer/WindowServerEndpoint.h DatePickerDialogGML.h EmojiInputDialogGML.h - FontPickerDialogGML.h IncrementalSearchBannerGML.h ) diff --git a/Userland/Libraries/LibGUI/FontPicker.cpp b/Userland/Libraries/LibGUI/FontPicker.cpp index 0f64654724e..d76f9a81e46 100644 --- a/Userland/Libraries/LibGUI/FontPicker.cpp +++ b/Userland/Libraries/LibGUI/FontPicker.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include #include @@ -26,8 +26,8 @@ FontPicker::FontPicker(Window* parent_window, Gfx::Font const* current_font, boo resize(430, 280); set_icon(Gfx::Bitmap::load_from_file("/res/icons/16x16/app-font-editor.png"sv).release_value_but_fixme_should_propagate_errors()); - auto widget = set_main_widget(); - widget->load_from_gml(font_picker_dialog_gml).release_value_but_fixme_should_propagate_errors(); + auto widget = FontPickerDialogWidget::try_create().release_value_but_fixme_should_propagate_errors(); + set_main_widget(widget); m_family_list_view = *widget->find_descendant_of_type_named("family_list_view"); m_family_list_view->set_model(ItemListModel::create(m_families)); diff --git a/Userland/Libraries/LibGUI/FontPickerDialog.gml b/Userland/Libraries/LibGUI/FontPickerDialog.gml index 854c5381c60..95ed6dc3a3b 100644 --- a/Userland/Libraries/LibGUI/FontPickerDialog.gml +++ b/Userland/Libraries/LibGUI/FontPickerDialog.gml @@ -1,4 +1,4 @@ -@GUI::Widget { +@GUI::FontPickerDialogWidget { fill_with_background_color: true layout: @GUI::VerticalBoxLayout { margins: [4, 4, 4, 4] diff --git a/Userland/Libraries/LibGUI/FontPickerDialogWidget.h b/Userland/Libraries/LibGUI/FontPickerDialogWidget.h new file mode 100644 index 00000000000..551d722d7d8 --- /dev/null +++ b/Userland/Libraries/LibGUI/FontPickerDialogWidget.h @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2024, Aryan Baburajan . + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include + +namespace GUI { + +class FontPickerDialogWidget : public GUI::Widget { + C_OBJECT_ABSTRACT(FontPickerDialogWidget) +public: + static ErrorOr> try_create(); + virtual ~FontPickerDialogWidget() override = default; + +private: + FontPickerDialogWidget() = default; +}; + +}