I understand now why it's "perceivably slow". In LauncherView::launcherItemAt you go through the whole scenegraph for _every_ move of the mouse. That is absolutely not acceptable.
I do not understand why the plan has changed:
LauncherView should not know about the list of LauncherItems at all. The LauncherItem should take care of their own drag&drop events, not only the actions on drop but also the detection of the drag. Why are not we creating a QML item that is able to do that similar to what is done in:
I understand now why it's "perceivably slow". In LauncherView: :launcherItemAt you go through the whole scenegraph for _every_ move of the mouse. That is absolutely not acceptable.
I do not understand why the plan has changed:
LauncherView should not know about the list of LauncherItems at all. The LauncherItem should take care of their own drag&drop events, not only the actions on drop but also the detection of the drag. Why are not we creating a QML item that is able to do that similar to what is done in:
https:/ /bitbucket. org/gregschlom/ qml-drag- drop/src/ e5dbe26c3073/ DeclarativeDrop Area.cpp
It would be less code, faster and also above all it will allow much greater flexibility.