@@ -131,18 +131,10 @@ void tst_DirectionalDragArea::passTime(qint64 timeSpan)
133namespace {
133namespace {
134−QPointF calculateInitialTouchPos(DirectionalDragArea *edgeDragArea, QQuickView *view)
134+QPointF calculateInitialTouchPos(DirectionalDragArea *edgeDragArea)
136− switch (edgeDragArea->direction()) {
136+ QPointF localCenter(edgeDragArea->width() / 2., edgeDragArea->height() / 2.);
137− case Direction::Upwards:
138− return QPointF(view->width()/2.0f, view->height() - (edgeDragArea->height()/2.0f));
139− case Direction::Downwards:
140− return QPointF(view->width()/2.0f, edgeDragArea->height()/2.0f);
141− case Direction::Leftwards:
142− return QPointF(view->width() - (edgeDragArea->width()/2.0f), view->height()/2.0f);
143− default: // Direction::Rightwards:
144− return QPointF(edgeDragArea->width()/2.0f, view->height()/2.0f);
137+ return edgeDragArea->mapToScene(localCenter);
148QPointF calculateDirectionVector(DirectionalDragArea *edgeDragArea,
140QPointF calculateDirectionVector(DirectionalDragArea *edgeDragArea,
@@ -193,7 +185,7 @@ void tst_DirectionalDragArea::edgeDrag()
194 QSignalSpy draggingSpy(edgeDragArea, SIGNAL(draggingChanged(bool)));
186 QSignalSpy draggingSpy(edgeDragArea, SIGNAL(draggingChanged(bool)));
196− QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea, m_view);
188+ QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea);
197 QPointF touchPoint = initialTouchPos;
189 QPointF touchPoint = initialTouchPos;
199 qreal desiredDragDistance = edgeDragArea->distanceThreshold()*dragDistanceFactor;
191 qreal desiredDragDistance = edgeDragArea->distanceThreshold()*dragDistanceFactor;
@@ -300,7 +292,7 @@ void tst_DirectionalDragArea::dragWithShortDirectionChange()
300 edgeDragArea->setRecognitionTimer(fakeTimer);
292 edgeDragArea->setRecognitionTimer(fakeTimer);
301 edgeDragArea->setTimeSource(fakeTimeSource);
293 edgeDragArea->setTimeSource(fakeTimeSource);
303− QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea, m_view);
295+ QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea);
304 QPointF touchPoint = initialTouchPos;
296 QPointF touchPoint = initialTouchPos;
306 qreal desiredDragDistance = edgeDragArea->distanceThreshold()*2.0;
298 qreal desiredDragDistance = edgeDragArea->distanceThreshold()*2.0;
@@ -360,7 +352,7 @@ void tst_DirectionalDragArea::minSpeed()
361 edgeDragArea->setMinSpeed(minSpeed);
353 edgeDragArea->setMinSpeed(minSpeed);
363− QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea, m_view);
355+ QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea);
364 QPointF touchPoint = initialTouchPos;
356 QPointF touchPoint = initialTouchPos;
366 QPointF dragDirectionVector(1.0, 0.0);
358 QPointF dragDirectionVector(1.0, 0.0);
@@ -408,7 +400,7 @@ void tst_DirectionalDragArea::recognitionTimerUsage()
409 int timeStepMs = 5; // some arbitrary small value.
401 int timeStepMs = 5; // some arbitrary small value.
411− QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea, m_view);
403+ QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea);
412 QPointF touchPoint = initialTouchPos;
404 QPointF touchPoint = initialTouchPos;
414 QPointF dragDirectionVector(1.0, 0.0);
406 QPointF dragDirectionVector(1.0, 0.0);
@@ -452,7 +444,7 @@ void tst_DirectionalDragArea::maxSilenceTime()
452 // Make sure this property is not disabled
444 // Make sure this property is not disabled
453 edgeDragArea->setMaxSilenceTime(100);
445 edgeDragArea->setMaxSilenceTime(100);
455− QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea, m_view);
447+ QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea);
456 QPointF touchPoint = initialTouchPos;
448 QPointF touchPoint = initialTouchPos;
458 QTest::touchEvent(m_view, m_device).press(0, touchPoint.toPoint());
450 QTest::touchEvent(m_view, m_device).press(0, touchPoint.toPoint());
@@ -620,7 +612,7 @@ void tst_DirectionalDragArea::movingDDA()
620 edgeDragArea->setRecognitionTimer(fakeTimer);
612 edgeDragArea->setRecognitionTimer(fakeTimer);
621 edgeDragArea->setTimeSource(fakeTimeSource);
613 edgeDragArea->setTimeSource(fakeTimeSource);
623− QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea, m_view);
615+ QPointF initialTouchPos = calculateInitialTouchPos(edgeDragArea);
624 QPointF touchPoint = initialTouchPos;
616 QPointF touchPoint = initialTouchPos;
626 qreal desiredDragDistance = edgeDragArea->distanceThreshold()*2.0f;
618 qreal desiredDragDistance = edgeDragArea->distanceThreshold()*2.0f;