diff --git a/Ladybird/Qt/Tab.cpp b/Ladybird/Qt/Tab.cpp index df9d4939151..48d771f23b6 100644 --- a/Ladybird/Qt/Tab.cpp +++ b/Ladybird/Qt/Tab.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -213,6 +214,21 @@ Tab::Tab(BrowserWindow* window, StringView webdriver_content_ipc_path, WebView:: m_dialog->reject(); }; + view().on_request_color_picker = [this](Color current_color) { + m_dialog = new QColorDialog(QColor(current_color.red(), current_color.green(), current_color.blue()), &view()); + auto& dialog = static_cast(*m_dialog); + + dialog.setWindowTitle("Ladybird"); + dialog.setOption(QColorDialog::ShowAlphaChannel, false); + + if (dialog.exec() == QDialog::Accepted) + view().color_picker_closed(Color(dialog.selectedColor().red(), dialog.selectedColor().green(), dialog.selectedColor().blue())); + else + view().color_picker_closed({}); + + m_dialog = nullptr; + }; + QObject::connect(focus_location_editor_action, &QAction::triggered, this, &Tab::focus_location_editor); view().on_received_source = [this](auto const& url, auto const& source) {