When a quicksetting is changed to not available, it should be removed
from the model. The proper API call to beginRemoveRows() has the index
of the last removed element as last parameter and will fail with null.
This patch makes dynamically removing a quicksetting by changing the
available property to false.
Signed-off-by: Sebastian Kügler <sebas@kde.org>
Resolves https://invent.kde.org/plasma/plasma-mobile/-/issues/379
This loads the quicksettings packages asynchronously. It also adds support for listening to model changes properly (row add/remove/move events) rather than have it reset every time a change is done.