Ladybird/Qt: Wire up screen added and removed events

This commit is contained in:
Shannon Booth 2024-04-05 19:19:50 +02:00 committed by Andrew Kaster
parent dfc7534eef
commit cb9e0c4e64

View file

@ -74,6 +74,14 @@ WebContentView::WebContentView(QWidget* window, WebContentOptions const& web_con
update_viewport_rect();
});
QObject::connect(qGuiApp, &QGuiApplication::screenRemoved, [this](QScreen*) {
update_screen_rects();
});
QObject::connect(qGuiApp, &QGuiApplication::screenAdded, [this](QScreen*) {
update_screen_rects();
});
initialize_client((parent_client == nullptr) ? CreateNewClient::Yes : CreateNewClient::No);
on_did_layout = [this](auto content_size) {
@ -539,8 +547,6 @@ void WebContentView::update_screen_rects()
screen_rects.append(Web::DevicePixelRect(geometry.x(), geometry.y(), geometry.width(), geometry.height()));
}
// FIXME: Update the screens again when QGuiApplication::screenAdded/Removed signals are emitted
// NOTE: The first item in QGuiApplication::screens is always the primary screen.
// This is not specified in the documentation but QGuiApplication::primaryScreen
// always returns the first item in the list if it isn't empty.