Remove onMousePositionChanged signal.
This signal was meant to be "private" (not directly used from QML). Provide separate signals for onMouseXChanged and onMouseYChanged. Task-number: QTBUG-18656 Change-Id: Iefc3d78e270db9c037bbb1b890925b4841f2d5fa Reviewed-by: Martin Jones Reviewed-on: http://codereview.qt.nokia.com/2142 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
This commit is contained in:
parent
d0b8a04c8d
commit
df5c836fe9
|
@ -119,6 +119,7 @@ public:
|
|||
// only for internal usage
|
||||
void setX(int x) { _x = x; }
|
||||
void setY(int y) { _y = y; }
|
||||
void setPosition(const QPointF &point) { _x = point.x(); _y = point.y(); }
|
||||
|
||||
bool isAccepted() { return _accepted; }
|
||||
void setAccepted(bool accepted) { _accepted = accepted; }
|
||||
|
|
|
@ -586,9 +586,10 @@ void QSGMouseArea::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||
}
|
||||
}
|
||||
QSGMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, false, d->longPress);
|
||||
emit mousePositionChanged(&me);
|
||||
me.setX(d->lastPos.x());
|
||||
me.setY(d->lastPos.y());
|
||||
emit mouseXChanged(&me);
|
||||
me.setPosition(d->lastPos);
|
||||
emit mouseYChanged(&me);
|
||||
me.setPosition(d->lastPos);
|
||||
emit positionChanged(&me);
|
||||
|
||||
if(!event->isAccepted() && d->forwardToList.count())
|
||||
|
@ -663,7 +664,10 @@ void QSGMouseArea::hoverEnterEvent(QHoverEvent *event)
|
|||
d->lastModifiers = event->modifiers();
|
||||
setHovered(true);
|
||||
QSGMouseEvent me(d->lastPos.x(), d->lastPos.y(), Qt::NoButton, Qt::NoButton, d->lastModifiers, false, false);
|
||||
emit mousePositionChanged(&me);
|
||||
emit mouseXChanged(&me);
|
||||
me.setPosition(d->lastPos);
|
||||
emit mouseYChanged(&me);
|
||||
me.setPosition(d->lastPos);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -676,9 +680,10 @@ void QSGMouseArea::hoverMoveEvent(QHoverEvent *event)
|
|||
d->lastPos = event->posF();
|
||||
d->lastModifiers = event->modifiers();
|
||||
QSGMouseEvent me(d->lastPos.x(), d->lastPos.y(), Qt::NoButton, Qt::NoButton, d->lastModifiers, false, false);
|
||||
emit mousePositionChanged(&me);
|
||||
me.setX(d->lastPos.x());
|
||||
me.setY(d->lastPos.y());
|
||||
emit mouseXChanged(&me);
|
||||
me.setPosition(d->lastPos);
|
||||
emit mouseYChanged(&me);
|
||||
me.setPosition(d->lastPos);
|
||||
emit positionChanged(&me);
|
||||
}
|
||||
}
|
||||
|
@ -893,14 +898,14 @@ bool QSGMouseArea::setPressed(bool p)
|
|||
if (d->pressed) {
|
||||
if (!d->doubleClick)
|
||||
emit pressed(&me);
|
||||
me.setX(d->lastPos.x());
|
||||
me.setY(d->lastPos.y());
|
||||
emit mousePositionChanged(&me);
|
||||
me.setPosition(d->lastPos);
|
||||
emit mouseXChanged(&me);
|
||||
me.setPosition(d->lastPos);
|
||||
emit mouseYChanged(&me);
|
||||
emit pressedChanged();
|
||||
} else {
|
||||
emit released(&me);
|
||||
me.setX(d->lastPos.x());
|
||||
me.setY(d->lastPos.y());
|
||||
me.setPosition(d->lastPos);
|
||||
emit pressedChanged();
|
||||
if (isclick && !d->longPress && !d->doubleClick){
|
||||
me.setAccepted(d->isClickConnected());
|
||||
|
|
|
@ -151,8 +151,8 @@ class Q_AUTOTEST_EXPORT QSGMouseArea : public QSGItem
|
|||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(qreal mouseX READ mouseX NOTIFY mousePositionChanged)
|
||||
Q_PROPERTY(qreal mouseY READ mouseY NOTIFY mousePositionChanged)
|
||||
Q_PROPERTY(qreal mouseX READ mouseX NOTIFY mouseXChanged)
|
||||
Q_PROPERTY(qreal mouseY READ mouseY NOTIFY mouseYChanged)
|
||||
Q_PROPERTY(bool containsMouse READ hovered NOTIFY hoveredChanged)
|
||||
Q_PROPERTY(bool pressed READ pressed NOTIFY pressedChanged)
|
||||
Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged)
|
||||
|
@ -198,7 +198,8 @@ Q_SIGNALS:
|
|||
void acceptedButtonsChanged();
|
||||
void hoverEnabledChanged();
|
||||
void positionChanged(QSGMouseEvent *mouse);
|
||||
void mousePositionChanged(QSGMouseEvent *mouse);
|
||||
void mouseXChanged(QSGMouseEvent *mouse);
|
||||
void mouseYChanged(QSGMouseEvent *mouse);
|
||||
void preventStealingChanged();
|
||||
|
||||
void pressed(QSGMouseEvent *mouse);
|
||||
|
|
|
@ -29,7 +29,12 @@ Rectangle {
|
|||
anchors.fill = parent
|
||||
}
|
||||
onPositionChanged: { emitPositionChanged = true }
|
||||
onMousePositionChanged: {
|
||||
onMouseXChanged: {
|
||||
if (mouse.x != mouseX || mouse.y != mouseY)
|
||||
mouseMatchesPos = false
|
||||
x2 = mouseX; y2 = mouseY
|
||||
}
|
||||
onMouseYChanged: {
|
||||
if (mouse.x != mouseX || mouse.y != mouseY)
|
||||
mouseMatchesPos = false
|
||||
x2 = mouseX; y2 = mouseY
|
||||
|
|
Loading…
Reference in New Issue