By using the success story of Latte SlideShow plugin,
Plasma/Wallpapers will become responsible to feed the KActivities::WallpapersModel with data. So WallpapersModel will not be responsible to discover the wallpapers data like it is currently.
The model should provide the following structure:
[Activity1] [Screen1] - [WallpaperData] [Screen2] - [WallpaperData] [Activity2] [Screen1] - [WallpaperData] [Screen2] - [WallpaperData] . .
type: wallpaper type
path [optional] : file path if there is any
properties [optional] : properties that each wallpaper type provides
Supported Wallpaper Types
|video||<video_path>||<video_position>, <video_position_registration_timestamp>||the timestamp can be used from consumers to reposition the video playback properly|
|qmlcode (?)||<qml_code_string>||full qml code string that can be used from consumers to recreate a qml code representation|
It might be a good idea that KActivites provide also a WallpaperPreviewItem that can be used as delegate in ListView(s), GridView(s), Flow(s) etc... when they use the WallpapersModel.
WallpaperPreviewItem is going to be responsible to draw a proper QQuickItem based on the provided WallpaperData.
Use Case Example
- During startup WallpaperModel is completely empty
- Plasma::Wallpapers when loaded are exposing their wallpaper metadata to WallpapersModel
- WallpapersModel is signaling its changes
- WallpaperPreviewItem(s) are updating their visual presentation based on model changes