summaryrefslogtreecommitdiffstats
path: root/TouchArea/qdeclarativetoucharea.h
diff options
context:
space:
mode:
Diffstat (limited to 'TouchArea/qdeclarativetoucharea.h')
-rw-r--r--TouchArea/qdeclarativetoucharea.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/TouchArea/qdeclarativetoucharea.h b/TouchArea/qdeclarativetoucharea.h
index f9525e3..9648ece 100644
--- a/TouchArea/qdeclarativetoucharea.h
+++ b/TouchArea/qdeclarativetoucharea.h
@@ -48,6 +48,7 @@
#include <QMap>
#include <QList>
+#include <QDeclarativeScriptString>
class QDeclarativeTouchPoint : public QObject {
Q_OBJECT
@@ -133,6 +134,7 @@ class QDeclarativeTouchArea : public QDeclarativeItem
Q_PROPERTY(int maximumTouches READ maximumTouches WRITE setMaximumTouches)
Q_PROPERTY(qreal scaleFactor READ scaleFactor NOTIFY scaleFactorChanged)
Q_PROPERTY(qreal rotationAngle READ rotationAngle NOTIFY rotationAngleChanged)
+ Q_PROPERTY(QDeclarativeScriptString keepMouseFocus READ keepMouseFocus WRITE setKeepMouseFocus)
public:
QDeclarativeTouchArea(QDeclarativeItem *parent=0);
@@ -146,6 +148,9 @@ public:
qreal scaleFactor() const { return _scaleFactor; }
qreal rotationAngle() const { return _rotationAngle; }
+ QDeclarativeScriptString keepMouseFocus() const { return _keepMouseFocus; }
+ void setKeepMouseFocus(const QDeclarativeScriptString &keep) { _keepMouseFocus = keep; }
+
QList<QObject*> touches() { return _touches.values(); }
QList<QObject*> changedTouches() { return _changedTouches.values(); }
@@ -186,6 +191,8 @@ protected:
void clearChangedAndReleasedTouches();
void updateTopTouchArea();
void updateTouchData(QEvent*);
+ bool event(QEvent *event);
+ bool sceneEventFilter(QGraphicsItem *i, QEvent *event);
private:
QMap<int,QObject*> _touchPrototypes;
@@ -198,6 +205,8 @@ private:
qreal _rotationAngle;
QDeclarativeTouchArea* _parentTouchArea;
bool _active;
+ bool _stealMouse;
+ QDeclarativeScriptString _keepMouseFocus;
};