QmlProfiler: Fix drag/drop reordering

Since the reorganization into rows it would behave strangely when
reordering small categories under large ones.

Change-Id: Ic481710a706cc06a699e50ff60eaea2937a50530
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
This commit is contained in:
Ulf Hermann
2014-12-15 11:44:10 +01:00
parent 464cd2df71
commit 2284de02ec

View File

@@ -100,13 +100,13 @@ Item {
onPositionChanged: {
var sourceIndex = drag.source.visualIndex;
if (drag.source.y + drag.source.height > dragOffset + labelContainer.height &&
sourceIndex !== visualIndex && sourceIndex !== visualIndex + 1) {
var moveTo = sourceIndex > visualIndex ? visualIndex + 1 : visualIndex;
labelContainer.dropped(sourceIndex, moveTo);
} else if (drag.source.y === 0) {
// special case for first position.
labelContainer.dropped(sourceIndex, 0);
if (drag.source.y === 0) {
// special case for first position: Always swap, no matter if upper border touched.
if (sourceIndex > visualIndex)
labelContainer.dropped(sourceIndex, visualIndex);
} else if (sourceIndex !== visualIndex && sourceIndex !== visualIndex + 1) {
labelContainer.dropped(sourceIndex, sourceIndex > visualIndex ? visualIndex + 1 :
visualIndex);
}
}