index desktop views by qscreen instead of id, making ScreenPool
the single source of truth for the mapping between screen names
and ids. This is less error prone and easier to consistency check
(if view->screenToFollow() is ever different to its has key it will
assert)
The whole logic of screen management is moved to ScreenPool.
ShellCorona will have to never call QGuiApp->screens, but only trust what ScreenPool it's telling it
Also adds an autotests on screenpool which makes a fake wayland server which sends screen added/removed/changed events
On build.kde.org the tests are freezing because kamd gets started and
doesn't quit. So let's stop it manually to ensure it properly terminates.
Reviewed-By: Marco Martin
Makes it possible to test how/if a plasmoid behaves correctly on the most
similar environment possible to what the user would find on a production
system.
* Loads a plasmoid on a panel and the desktop.
* Lets it test his own stuff (loading test/test.qml within the plasma
package)
* Terminates with an error if it wasn't successful
REVIEW: 127346