wallpapers/potd: fix multimonitor support
After dataengine was ported away, it requires to use a self-maintained engine to properly support multi-screen wallpapers.
3 new classes are added:
- PotdEngine: a class to manage clients, create and delete clients on demand.
- Client: a class to process wallpaper data
- Backend: a class used in QML side, to relay information from the client
The major part of PotdProviderModel are moved to the 3 classes, so the model class is now a pure model.
BUG: 454333 FIXED-IN: 5.25.1
(cherry picked from commit 86ef83c6)
wallpapers/potd: increase m_updateCount before updateSource
When cache is available, PotdClient::done
will be directly emitted.
(cherry picked from commit 9a1180f1)
wallpapers/potd: remove redundant if statement
The while loop already checks the condition.
(cherry picked from commit 6633fa60)
wallpapers/potd: add some debug information
(cherry picked from commit 09c8337f)