Zren created this revision. Herald added a project: Plasma. Herald added a subscriber: plasma-devel. Zren requested review of this revision.
REVISION SUMMARY If `plasmoid.nativeInterface.source != ""`, we copy it to `plasmoid.configuration.source` + same with all other properties besides `needsToBeSquare` which is a "session" variable that updated right after the migration code. The selected weather `services` StringList is not a `nativeInterface` property, so it needs to be copied differently. ----- We could also copy the other properties the using the `configValues().services` pattern if you want the code consistent. This is a pure QML solution. Ideally, the final patch will have a few more C++ functions/enums exposed to the QML. The `DisplayUnits.qml` properties could be turned into functions. Eg: Utils.parseTemperatureUnitId(plasmoid.configuration.temperatureUnitId) That way we don't have magic numbers (`6001 // Celcius`) littered throughout `DisplayUnits.qml`. ----- Ideally, we'll only keep the `nativeInterface` + migration code until Plasma 5.19 assuming Plasma 5.18 is the next Plasma LTS version. We could remove the migration code earlier, as having the user re-setup their weather widget isn't terribly cumbersome for the user. Once it no longer depends on the `nativeInterface`, users can easily fork the default weather widget. Immendiate benefits are that we no longer have to install the widget to `.../share/plasma/plasmoids/` to test the widget's QML. We can now use `plasmoidviewer -a package`. Note that we still need to install to `~/.local/share/plasma/plasmoids/` to test the `nativeInterface` migration code as mentioned in the test plan. TEST PLAN - Apply patch. - Copy `weather/package` to `~/.local/share/plasma/plasmoids/` and rename the `package` directory to `org.kde.plasma.weather`. - Restart plasmashell with `kstart5 -- plasmashell --replace` - The settings should have migrated, and the widget should still work. REPOSITORY R114 Plasma Addons REVISION DETAIL https://phabricator.kde.org/D18961 AFFECTED FILES applets/weather/package/contents/config/main.xml applets/weather/package/contents/ui/CompactRepresentation.qml applets/weather/package/contents/ui/DisplayUnits.qml applets/weather/package/contents/ui/config/ConfigAppearance.qml applets/weather/package/contents/ui/config/ConfigUnits.qml applets/weather/package/contents/ui/config/ConfigWeatherStation.qml applets/weather/package/contents/ui/config/WeatherStationPicker.qml applets/weather/package/contents/ui/main.qml To: Zren Cc: plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart