🎉 ScreenPlay V0.12 released! Steam Workshop And Community Page Overhaul, Instant Wallpaper Replacement & Profile Savings!
Published on Sep 04, 2020 by Elias Steurer | Kelteseth
ScreenPlay is an Open-Source Live Wallpaper and Widgets app for Windows & macOS (and soon Linux)
written in modern C++/Qt/QML and is in active development since early 2017 on Gitlab.
0d7cb55 Move more functions into dedicated ScreenPlayWallpaper class
3c1f5f7 Replace setContextProperty that will be removed in Qt6 with qmlRegisterSingletonInstance
5f0d81d Change sidebar monitor selection to no longer clipAdd flickable when the selection area is bigger than the sidebar
cb6b438 Change sdkconnector to use GlobalVariables::getAvailableTypes
5fb1ea3 Change installed content type from string to enumWe now use the InstalledType enum in QML for differentiating between wallpaper types
b13d643 Change cmake to compile into a separate bin folder for easier deployment
c289a3e Change monitor preview size when only a single monitor is in use
f7a7844 Change compilation mode to c++ 20Fix qml compilation in release mode
a83d1fc Change wallpaper selection to always select the first monitor
0b84c37 Change SaveNotification base item to custom implemetation
c4423a1 Refactor saving/loading of profilesWe now partially support saving and loading custom properties.
This is accomplished via a flat ProjectSettingsListModel that is only used for the properties. We still
display the DefaultVideoControls.qml if the content is a video. For this I added
the m_installedType to the MonitorListModel.
49b75a4 Move SDKConnectors SDKConnection class into seperate fileThe next will be to merge SDKConnector into the ScreenPlayManager.
We now have the first version of bi directional messages. This is for updating values like
saving the current Widget position. We also save a SDKConnection shared reference inside
our ScreenPlayWallpaper or ScreenPlayWidget instance. So we now have all logic in these classes.
14991cb Change Resources into two seperate qrc files
Also we now use qmlRegisterUncreatableMetaObject with a namespace for every enum to “emulate” enum classes in QML
b81c513 Revert setWallpaperValue from QVaraint to QStringThis caused some floating convertion error. Because they get send as a string in the end anyways we just can use string here.
b08c124 Change check if steam version from qml to cpp
We now have a steamVersion property to set
if we can load the steam plugin. Because of this
we no longer need the WorkshopLoader and WorkshopAvailableTest
being triggered when hovering over sidebar elements
Language
7015267 Lil language update, also lil update for me - MagVI has become Overseen :p
Fixes
9e95b40 Refactor install list QML & C++
Move right click popup out of every ScreenPlayItem. This results now in a huge performance improvement
fa6b734 Fix set wallpaper volume, position and playback speed
1fe1fb2 Fix replacing wallpaper from different types
b05ad7f Fix DefaultVideoControls initial value from ScreenPlayWallpaper
5d8f7c4 Fix crash when requesting none existing profileAdd SaveNotification to indicate that the profile has been saved.
Additions
045cefa Add deletion of content if it is not a steam itemDeleting a steam subscription folder would be pointless
because Steam would just download it again. For now
this works only with none steam items, based if
their have a steamID in their project.json
Everyone can contribute with code, design, documentation or translation.
If you have questions about contributing do not hesitate to ask in the Forum
or Discord. Here are some ways you can contribute:
by using prerelease versions / master branch or the Steam nightly builds