applets/kicker: unnest ItemGridView DropArea and use Loader & allow removing dash favorites with drag&drop

ItemGridView has a dropArea, but we only need this for favorites. We have a property to disable it, but DropAreas can't be disabled wholesale so actually ignoring an existing one requires a lot of manual handling. A much cleaner approach is to not load the DropArea in the first place.

This change moves the DropArea into a Loader. As all the view's contents are curretly children of the DropArea, we move them to the outside, eliminating some nesting as an extra benefit. The DropArea works fine if it's under the view contents, but not a parent.

Along the way, we also explicitly accept some drops.


Kickerdash allows adding favorites with drag&drop, but not removing them.

This change allows this. When a drop would remove the favorite, its position in the list is replaced with a remove placeholder, similar to the insertion placeholder when adding favorites.


The remove placeholder is a little awkward - it matches the design of the insertion placeholder, but list-remove with its red color is not really visible on a selected widget/viewitem background. A neutrally colored icon would be better, but I didn't find a semantically fitting one, and list-remove would otherwise be a good fit.

Merge request reports

Loading