adobe/brackets — pull request #9373 by JeffryBooher (2014-09-30 06:02:59+00:00)
Title: Working Set Draggable

This is the final installment (finger's crossed) of draggable for the working set.

Replaces #9298

This is a complete re-write of the dragging code. I've done a fair amount of testing -- The only thing I couldn't test was using a middle-mouse button to close a file.

Some areas to hit: (These will be migrated to the smoke test)
* Dragging the current view to another working set (make sure next view is opened correctly)
* Dragging into an empty working set
* Dragging the last item out of a a working set
* Dragging above
* Dragging below
* Scrolling: Make sure you can place before those scrolled out of view in both top and bottom
* Make sure the scroll wheel works before and after scrolling
* Dragging an item into an empty working set should open the item in the related pane
* Dragging all items out of a working set should show the interstitial page
* Scroll shadows and selected item "extenders" are draw correctly
* Current Selection affordance moves as the selected item moves
* Dragging an item by the close or modified indicator should still work
* Closing an item by clicking its close button should work
* dropping into "no-man's land" should drop the item at the first or last item in the list respectively
* Items cannot be dragged laterally
* item maintains its appearance while dragged.
* Make sure you can drag to the first and last item in the list
* Make sure you can drag to the first and last item of another list
* Make sure you can scroll a list upwards and drop in the appropriate spot
* Make sure you can scroll a list downwards and drop in the appropriate spot
* Make sure that an item stays in the first/last position when attempting to drag it into nomansland
* The currently viewed file should remain the currently viewed file so try to drag the currently viewed file and see what happens.
* Drag the current file of the non-active pane
* Drag the current file of the active pane

New to this implementation
* Pressing escape while dragging will cancel the drag. Item should move back to its original location.
* A ghost item will appear as the item is being dragged so that if the item is dropped in no-man's land. previous versions wouldn't let you drag out of the working set container until it's actually dragged out of the container a ghost element appears

New for split view
* FIles can be opened in another pane without activating the pane hence, deleting the current file of a non-active pane should not activate the pane when opening the next file in the line of succession; same goes for dragging the current file of a non-active pane