xbmc/xbmc — pull request #2684 by Fice (2013-05-02 22:14:22+00:00)
Title: extended Dragndrop functionality

This PR let's the user reorder lists in Favourites and Playlists via drag&drop.
also it let's user drop items into the Favourites/playlists and FileManager lists.
Short demo video: http://www.youtube.com/watch?feature=player_embedded&v=rgMS-8xbEI0
Development thread: http://forum.xbmc.org/showthread.php?tid=161155

The skinner can either define a drag hint: a overlay CGUIControl, that will be visible between the two items, where the item would be placed
Or he can do nothing, and the dragged item will be moved immediately.

I'm not completely happy with how FixedLists and WrapLists behave right now, feels a little itchy (especially when you drag an item over the start/end of a wrap list), but everything should be functional at least.

Also: defining a DragHint in the skin, only works reliably as long as the focusedlayout does not overlay the normal layouts.

@pieh: Moved all the drag&drop related stuff out of CGUIWindow* with one exception: I didn't feel comfortable to just make any "C:/Movies" directory dropable, so the CGUIWindowFileManager is still responsible for setting the DroPolicy there. Hope that's ok?

P.S.: ios/os x/atv project files updated (but only compiled and testet on os x). Could use some input on other platforms, especially touch devices... only testet with mouse (don't hav a tablet yet).