mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
d444724d24
Registers the PreviewWidget for addition directly into GML. Fixes its previous double Frame borders. Also standardizes the Apply and Reset buttons as DialogButtons and spaces them consistently with other apps. Gives the TabWidget some tasteful container margins.
55 lines
1.6 KiB
C++
55 lines
1.6 KiB
C++
/*
|
|
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
|
|
* Copyright (c) 2021-2022, Sam Atkins <atkinssj@serenityos.org>
|
|
* Copyright (c) 2021, Antonio Di Stefano <tonio9681@gmail.com>
|
|
* Copyright (c) 2022, the SerenityOS developers.
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <LibGUI/AbstractThemePreview.h>
|
|
#include <LibGUI/Application.h>
|
|
#include <LibGUI/ColorFilterer.h>
|
|
#include <LibGUI/Frame.h>
|
|
#include <LibGfx/Bitmap.h>
|
|
#include <LibGfx/Filters/ColorBlindnessFilter.h>
|
|
#include <LibGfx/Palette.h>
|
|
|
|
namespace ThemeEditor {
|
|
|
|
class MiniWidgetGallery;
|
|
|
|
class PreviewWidget final
|
|
: public GUI::AbstractThemePreview
|
|
, public GUI::ColorFilterer {
|
|
C_OBJECT(PreviewWidget);
|
|
|
|
public:
|
|
virtual ~PreviewWidget() override = default;
|
|
|
|
virtual void set_color_filter(OwnPtr<Gfx::ColorBlindnessFilter>) override;
|
|
|
|
private:
|
|
explicit PreviewWidget(Gfx::Palette const& = GUI::Application::the()->palette());
|
|
|
|
virtual void paint_preview(GUI::PaintEvent&) override;
|
|
virtual void second_paint_event(GUI::PaintEvent&) override;
|
|
virtual void resize_event(GUI::ResizeEvent&) override;
|
|
virtual void drag_enter_event(GUI::DragEvent&) override;
|
|
virtual void drop_event(GUI::DropEvent&) override;
|
|
virtual void palette_changed() override;
|
|
|
|
void paint_hightlight_window();
|
|
void update_preview_window_locations();
|
|
|
|
Gfx::IntRect m_active_window_rect;
|
|
Gfx::IntRect m_inactive_window_rect;
|
|
Gfx::IntRect m_highlight_window_rect;
|
|
|
|
OwnPtr<Gfx::ColorBlindnessFilter> m_color_filter = nullptr;
|
|
RefPtr<MiniWidgetGallery> m_gallery;
|
|
};
|
|
|
|
}
|