aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickmousearea.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickmousearea.cpp')
-rw-r--r--src/quick/items/qquickmousearea.cpp25
1 files changed, 8 insertions, 17 deletions
diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp
index 5cfd62ff8f..85a224fc93 100644
--- a/src/quick/items/qquickmousearea.cpp
+++ b/src/quick/items/qquickmousearea.cpp
@@ -1136,15 +1136,6 @@ void QQuickMouseArea::setHovered(bool h)
d->hovered = h;
emit hoveredChanged();
d->hovered ? emit entered() : emit exited();
-#ifndef QT_NO_CURSOR
- if (d->cursor) {
- if (d->hovered) {
- window()->setCursor(QCursor(*d->cursor));
- } else {
- window()->unsetCursor();
- }
- }
-#endif
}
}
@@ -1274,19 +1265,19 @@ bool QQuickMouseArea::setPressed(Qt::MouseButton button, bool p)
#ifndef QT_NO_CURSOR
Qt::CursorShape QQuickMouseArea::cursorShape() const
{
- Q_D(const QQuickMouseArea);
- if (d->cursor)
- return d->cursor->shape();
- return Qt::ArrowCursor;
+ return cursor().shape();
}
void QQuickMouseArea::setCursorShape(Qt::CursorShape shape)
{
- Q_D(QQuickMouseArea);
- setHoverEnabled(true);
- delete d->cursor;
- d->cursor = new QCursor(shape);
+ if (cursor().shape() == shape)
+ return;
+
+ setCursor(shape);
+
+ emit cursorShapeChanged();
}
+
#endif
/*!