[Baloo KCM] Complete overhaul of the include/exclude folder list
The current "Excluded folders" list in the KCM is quite awkward:
- It tries to mimic baloos automatic exclusion of external drives, but fails doing so and adds almost any external drive even when not mounted below an indexable path.
- Deleting an autogenerated entry actually adds it to the included folder list, and then hides it.
- There is no way to show the included folder list, or add any entries to it.
Remove the custom "excluded mounts" heuristic from the KCM and retrieve
the additional (not explicitly configured) excluded ones from baloo.
Replace the "excluded list" with a common list for included and excluded
folders, and flag its state. This also makes it easy to add additional
Create a new UI delegate for each config list item, allowing to enable
and disable indexing for each entry. Make the "delete" actually always
delete a config entry, and make the control inline. Move the "Add" button
to the *right* bottom of the list (in accordance with UI guidelines) and
add some text to it.
Depends on D28024
Solves the following parts of T9879:
- Allow adding of includeFolders in the KCM
- Correctly show excludeFolders below explicit (non-$HOME) includeFolders in KCM
Differential Revision: https://phabricator.kde.org/D28025