aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickmousearea.cpp
diff options
context:
space:
mode:
authorTasuku Suzuki <tasuku.suzuki@nokia.com>2012-06-20 10:31:52 +0900
committerQt by Nokia <qt-info@nokia.com>2012-06-24 20:36:11 +0200
commit010398c9b013fdad0580fcebd61c42aa73a6b346 (patch)
tree98da96fc2ebc8c4e7f00fc71b8a884497dd868a0 /src/quick/items/qquickmousearea.cpp
parentb970267ea4c182b4627e95024d7b4891141019ed (diff)
Make qtdeclarative compile with QT_NO_DRAGANDDROP
Change-Id: Ie92455495979b065b574f013d95fac17739fa40e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Jeremy Katz <jeremy.katz@nokia.com>
Diffstat (limited to 'src/quick/items/qquickmousearea.cpp')
-rw-r--r--src/quick/items/qquickmousearea.cpp38
1 files changed, 36 insertions, 2 deletions
diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp
index f114292ad7..bf949e8c4d 100644
--- a/src/quick/items/qquickmousearea.cpp
+++ b/src/quick/items/qquickmousearea.cpp
@@ -59,6 +59,8 @@ DEFINE_BOOL_CONFIG_OPTION(qmlVisualTouchDebugging, QML_VISUAL_TOUCH_DEBUGGING)
static const int PressAndHoldDelay = 800;
+#ifndef QT_NO_DRAGANDDROP
+
QQuickDrag::QQuickDrag(QObject *parent)
: QObject(parent), _target(0), _axis(XandYAxis), _xmin(-FLT_MAX),
_xmax(FLT_MAX), _ymin(-FLT_MAX), _ymax(FLT_MAX), _active(false), _filterChildren(false)
@@ -186,16 +188,23 @@ QQuickDragAttached *QQuickDrag::qmlAttachedProperties(QObject *obj)
return new QQuickDragAttached(obj);
}
+#endif // QT_NO_DRAGANDDROP
+
QQuickMouseAreaPrivate::QQuickMouseAreaPrivate()
: enabled(true), hovered(false), pressed(false), longPress(false),
moved(false), dragX(true), dragY(true), stealMouse(false), doubleClick(false), preventStealing(false),
- propagateComposedEvents(false), drag(0)
+ propagateComposedEvents(false)
+#ifndef QT_NO_DRAGANDDROP
+ , drag(0)
+#endif
{
}
QQuickMouseAreaPrivate::~QQuickMouseAreaPrivate()
{
+#ifndef QT_NO_DRAGANDDROP
delete drag;
+#endif
}
void QQuickMouseAreaPrivate::init()
@@ -696,18 +705,22 @@ void QQuickMouseArea::mousePressEvent(QMouseEvent *event)
else {
d->longPress = false;
d->saveEvent(event);
+#ifndef QT_NO_DRAGANDDROP
if (d->drag)
d->drag->setActive(false);
+#endif
setHovered(true);
d->startScene = event->windowPos();
d->pressAndHoldTimer.start(PressAndHoldDelay, this);
setKeepMouseGrab(d->stealMouse);
event->setAccepted(setPressed(true));
+#ifndef QT_NO_DRAGANDDROP
if (d->drag) {
d->dragX = drag()->axis() & QQuickDrag::XAxis;
d->dragY = drag()->axis() & QQuickDrag::YAxis;
}
+#endif
}
}
@@ -729,6 +742,7 @@ void QQuickMouseArea::mouseMoveEvent(QMouseEvent *event)
else if (!d->hovered && isInside)
setHovered(true);
+#ifndef QT_NO_DRAGANDDROP
if (d->drag && d->drag->target()) {
if (!d->moved) {
d->targetStartPos = d->drag->target()->parentItem()
@@ -789,6 +803,8 @@ void QQuickMouseArea::mouseMoveEvent(QMouseEvent *event)
d->moved = true;
}
+#endif
+
QQuickMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, false, d->longPress);
emit mouseXChanged(&me);
me.setPosition(d->lastPos);
@@ -806,8 +822,10 @@ void QQuickMouseArea::mouseReleaseEvent(QMouseEvent *event)
} else {
d->saveEvent(event);
setPressed(false);
+#ifndef QT_NO_DRAGANDDROP
if (d->drag)
d->drag->setActive(false);
+#endif
// If we don't accept hover, we need to reset containsMouse.
if (!acceptHoverEvents())
setHovered(false);
@@ -969,7 +987,13 @@ bool QQuickMouseArea::sendMouseEvent(QMouseEvent *event)
bool QQuickMouseArea::childMouseEventFilter(QQuickItem *i, QEvent *e)
{
Q_D(QQuickMouseArea);
- if (!d->pressed && (!d->enabled || !isVisible() || !d->drag || !d->drag->filterChildren()))
+ if (!d->pressed &&
+ (!d->enabled || !isVisible()
+#ifndef QT_NO_DRAGANDDROP
+ || !d->drag || !d->drag->filterChildren()
+#endif
+ )
+ )
return QQuickItem::childMouseEventFilter(i, e);
switch (e->type()) {
case QEvent::MouseButtonPress:
@@ -988,7 +1012,11 @@ void QQuickMouseArea::timerEvent(QTimerEvent *event)
Q_D(QQuickMouseArea);
if (event->timerId() == d->pressAndHoldTimer.timerId()) {
d->pressAndHoldTimer.stop();
+#ifndef QT_NO_DRAGANDDROP
bool dragged = d->drag && d->drag->active();
+#else
+ bool dragged = false;
+#endif
if (d->pressed && dragged == false && d->hovered == true) {
d->longPress = true;
QQuickMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, false, d->longPress);
@@ -1129,7 +1157,11 @@ void QQuickMouseArea::setAcceptedButtons(Qt::MouseButtons buttons)
bool QQuickMouseArea::setPressed(bool p)
{
Q_D(QQuickMouseArea);
+#ifndef QT_NO_DRAGANDDROP
bool dragged = d->drag && d->drag->active();
+#else
+ bool dragged = false;
+#endif
bool isclick = d->pressed == true && p == false && dragged == false && d->hovered == true;
if (d->pressed != p) {
@@ -1197,6 +1229,7 @@ bool QQuickMouseArea::setPressed(bool p)
*/
+#ifndef QT_NO_DRAGANDDROP
QQuickDrag *QQuickMouseArea::drag()
{
Q_D(QQuickMouseArea);
@@ -1204,6 +1237,7 @@ QQuickDrag *QQuickMouseArea::drag()
d->drag = new QQuickDrag;
return d->drag;
}
+#endif
QSGNode *QQuickMouseArea::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data)
{