From 3e1a1544402828202118d69bf69863d87f7d1f45 Mon Sep 17 00:00:00 2001 From: circl Date: Mon, 4 Sep 2023 14:12:39 +0200 Subject: [PATCH] Browser: Add support for color pickers --- Userland/Applications/Browser/Tab.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Userland/Applications/Browser/Tab.cpp b/Userland/Applications/Browser/Tab.cpp index 8767cb879f..0340ae542d 100644 --- a/Userland/Applications/Browser/Tab.cpp +++ b/Userland/Applications/Browser/Tab.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -566,6 +567,23 @@ Tab::Tab(BrowserWindow& window) m_dialog->done(GUI::Dialog::ExecResult::Cancel); }; + view().on_request_color_picker = [this](Color current_color) { + auto& window = this->window(); + + m_dialog = GUI::ColorPicker::construct(current_color, &window); + auto& dialog = static_cast(*m_dialog); + + dialog.set_icon(window.icon()); + dialog.set_color_has_alpha_channel(false); + + if (dialog.exec() == GUI::ColorPicker::ExecResult::OK) + view().color_picker_closed(dialog.color()); + else + view().color_picker_closed({}); + + m_dialog = nullptr; + }; + view().on_received_source = [this](auto& url, auto& source) { view_source(url, source); };