1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 14:17:36 +00:00

ThemeEditor: Make GUI initialization fallible

To do this, all GUI logic is moved into try_create() factory functions.
This commit is contained in:
Sam Atkins 2022-12-30 12:13:23 +00:00 committed by Tim Flynn
parent fa98034ff7
commit 59d9d1d07a
4 changed files with 78 additions and 47 deletions

View file

@ -24,15 +24,16 @@ class MiniWidgetGallery;
class PreviewWidget final
: public GUI::AbstractThemePreview
, public GUI::ColorFilterer {
C_OBJECT(PreviewWidget);
C_OBJECT_ABSTRACT(PreviewWidget);
public:
static ErrorOr<NonnullRefPtr<PreviewWidget>> try_create();
virtual ~PreviewWidget() override = default;
virtual void set_color_filter(OwnPtr<Gfx::ColorBlindnessFilter>) override;
private:
explicit PreviewWidget(Gfx::Palette const& = GUI::Application::the()->palette());
PreviewWidget();
virtual void paint_preview(GUI::PaintEvent&) override;
virtual void second_paint_event(GUI::PaintEvent&) override;