GNOME Bugzilla – Bug 684618
dash: Can't drag and drop apps to the empty dash
Last modified: 2013-06-05 13:35:17 UTC
When you remove all favorites from the dash, so that it just has the 'Show Applications' button in it, and you don't have any application running, you can't drag and drop applications on the dash. It seems like there's no area that accepts drops and the drop indicator (line with the dot) doesn't show up at all.
This is due to the 'Show Applications' Icon behaving in a special way, as it accepts drops to remove favorites from the dash, whereas normal icons handle drops on them as 'insert above/below' depending on where exactly on the icon you are dropping.
One part of this was fixed in https://bugzilla.gnome.org/show_bug.cgi?id=685313 ; drops of non-favourites are no longer accepted, but you still can't drop an application above the application well button, if the application well button is the only one in the dash.
*** Bug 689587 has been marked as a duplicate of this bug. ***
*** Bug 701327 has been marked as a duplicate of this bug. ***
Created attachment 245771 [details] [review] dash: Make sure _clearDragPlaceholder() resets _dragPlaceholderPos The function currently only resets the placeholder position if there is a placeholder; this is not necessarily true, as the placeholder may be reset outside _clearDragPlaceholder(). If this happens, the placeholder will temporarily stop working for the "old" position (and permanently if it's the only position). Just reset the position unconditionally.
Created attachment 245772 [details] [review] dash: Grow the empty dash during drag operations When the dash does not contain any applications (either favorites or running), it is currently impossable to add a favorite via DND. Grow the dash slightly in that case to provide a drop target.
Review of attachment 245771 [details] [review]: This is fine for 3.8 but we should consolidate those code paths to always go through a single clear function.
Review of attachment 245772 [details] [review]: Ok. It looks visually unbalanced but this a really corner case unlikely to be hit.
Created attachment 246067 [details] [review] dash: Use a single code path for clearing the drag placeholder We currently only keep track of old placeholders when moving past the dragged app's current favorite position, as this is the only case where we need to worry about jitter. Still, moving it into _clearDragPlaceholder() allows us to consolidate code paths, which is a good thing ...
Created attachment 246068 [details] [review] dash: Minor cleanup
Review of attachment 246067 [details] [review]: nice
Review of attachment 246068 [details] [review]: ++
Attachment 245771 [details] pushed as 4b95be6 - dash: Make sure _clearDragPlaceholder() resets _dragPlaceholderPos Attachment 245772 [details] pushed as 90c7876 - dash: Grow the empty dash during drag operations Attachment 246067 [details] pushed as 1902f47 - dash: Use a single code path for clearing the drag placeholder Attachment 246068 [details] pushed as 10b77a8 - dash: Minor cleanup