Skip to content

wallpapers/potd: fix multimonitor support

Fushan Wen requested to merge work/fuf/potd/525fix into Plasma/5.25

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)

Merge request reports