Rename removeDesktop -> removeScreen
Embrace removeScreen as the procedure to disable a screen.
Don't delay destruction of the panels either, the screen could have been
deleted by then.
Workaround a lack of API from Qt where it will decide to move the panels
around without us being able to control it.
This patch overrides the QWindow::screenDestroyed slot to be able to decide
where to move the Panel or whether it needs to be removed. This is
considered a workaround and should be removed once the new API is in and
released.
See also: https://codereview.qt-project.org/#/c/88351/
BUG: 335710
if we will not set it panel geometry will end up being wrong and hence availableScreenRect
This fixes plasmoids and icons being disappeared when adding panels.
BUG: 336376
REVIEW: 118847
This way, we don't need to have everything being repainted when geometries
change while constructing the panel.
Also don't connect to screen changed until everything is initialized and
the panel is displayed.
To set the sizes, we use the thickness and length properties, those will
also trigger the position timer.
This reduces quite a bit the amount of random changes happening when
initializing and when moving the panel around
All QQuickWindows share a default format. By setting a custom format
it overwrites the default and this results in a format without a
stencil buffer being requested resulting in possible rendering errors.
This was used to get an alpha buffer. Instead use the static method
on QQuickWindow to request an alpha buffer.
REVIEW: 118123
This broke screenForContainment because the Panel didn't know where it
would be placed when the panel is being set. This shouldn't be the case
anymore.
BUG: 334500
CCBUG: 334502
Set all the winId dependent stuff whenever it changes, windows are recreated
upon screen change and we need to make sure the set properties are
honored after changing screens.
At the moment the Panel didn't have any code to react status changes from
the containment (and therefore its applets).
This patch aims to add this, only problem being that it doesn't work. The
"unhide requested" and "unhiding" messages are being displayed though.
I've been looking for the code that does the actual display of the
auto-hiding panels and I wasn't able to find it, help is welcome.
REVIEW: 117563
if the screen isn't there when plasma starts,
don't add the panels of that screen
if a screen is disconnected, remove the panels of said screen
BUG:333193