QHeaderView 5.0 - correct drop on manual QHeaderView sectionmove

This fixes an error in the calculation of the exact drop position
when an user is moving a section in QHeaderView.

Before we compared a mouse-position local to the widget
(pos) with a summed length of sections (posThreshold).

However we need to consider/substract the headers offset to make
the posThreshold comparable to the local mouse position.

This solves e.g.
Task-number: QTBUG-14814

Change-Id: If0281cf0c7b98316474f18e8eaa32c6d062dda56
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
This commit is contained in:
Thorbjørn Lund Martsum 2012-11-01 16:33:25 +01:00 committed by The Qt Project
parent aa2578a100
commit d625535728

View File

@ -2332,7 +2332,7 @@ void QHeaderView::mouseMoveEvent(QMouseEvent *e)
int visual = visualIndexAt(pos);
if (visual == -1)
return;
int posThreshold = d->headerSectionPosition(visual) + d->headerSectionSize(visual) / 2;
int posThreshold = d->headerSectionPosition(visual) - d->offset + d->headerSectionSize(visual) / 2;
int moving = visualIndex(d->section);
if (visual < moving) {
if (pos < posThreshold)