<div>broulik created this revision.<br />
broulik added a reviewer: Plasma.<br />
broulik set the repository for this revision to rPLASMADESKTOP Plasma Desktop.<br />
broulik added a project: Plasma.<br />
Herald added a subscriber: plasma-devel.</div><br /><div><strong>REVISION SUMMARY</strong><div><p>Rather than creating the config page and then setting the properties afterwards have StackView load the item with all the cfg properties already set.</p>
<p>This prevents situations where a binding might limit a value to some range based on some config which isn't set by the time the limit is enforced as can be seen in the slideshow interval config.</p>
<p>Moreover, it makes Component.onCompleted in the config pages actually useful, I hope it will make dealing with ComboBoxes less tedious. On the downside it might break applet configs that rely on cfg_fooChanged to populate themselves which previously was required as at the time of Component.onCompleted the cfg_ properties were not yet populated.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>I tried a bunch of aplets and observed that the configs were properly restored on opening the dialog, switching between config pages, the apply button worked properly, and the settings were applied correctly. Both in applet and wallpaper configs.</p>
<p>I noticed that switching between Image and Slideshow wallpapers breaks sizing of the images and everything but I think this has been the case previously, too, most likely because the wallpaper plugin checks for currentWallpaper being slideshow, so during the switch animation the old wallpaper config is still there and notices it's now slideshow and then shit hits the fan. Not sure if we actually support the usecase of if (configDialog.currentWallpaper === "foo"), we should make that a property on the config page like cfg_ rather than having it access stuff outside but that's another patch to be done :)</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>rPLASMADESKTOP Plasma Desktop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D1220" rel="noreferrer">https://phabricator.kde.org/D1220</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>desktoppackage/contents/configuration/AppletConfiguration.qml<br />
desktoppackage/contents/configuration/ConfigurationContainmentAppearance.qml</div></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>broulik, Plasma<br /><strong>Cc: </strong>plasma-devel<br /></div>