Refactor icon positioner saving and loading
The icon positioner saving and loading is handled by QML, which makes it a bit difficult to work with the logic in positioner CPP files.
This change does the following:
- Explicitly save only on user interactions
- Moved the save and load of config to positioner.cpp
- Easier debugging of the saving and loading functions
- Still uses the JSON style of save/loading like the old one
- Technically should be compatible with the old config, which was also JSON.
- Makes positionerApplet accessible from FolderView qml
- Various checks for checking if screen is enabled or not to avoid doing unnecessary work when screen is off
- A lot of fixes to avoid any racing conditions
- Removed any timers
- Added various unit tests
Alternative to !2603 (closed)
BUG: 482875 BUG: 494874 BUG: 472137 BUG: 433867 BUG: 494412 BUG: 468619 BUG: 449069 BUG: 495047 BUG: 453314 FIXED-IN: 6.3.0
Edited by Nate Graham