summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJens Bache-Wiig <jensb.bache-wiig@nokia.com>2011-09-21 20:29:20 +0200
committerJens Bache-Wiig <jensb.bache-wiig@nokia.com>2011-09-21 20:29:20 +0200
commitee22d52a4f9c70141b925e91543653ffdbf73701 (patch)
tree1d8c4f490241765a0207b970948a59bd5db90a8d /src
parent87892fce31ace521a2f229c09af56e4d41cb5174 (diff)
downloadqtquickcontrols-ee22d52a4f9c70141b925e91543653ffdbf73701.tar.gz
Added a workaround for TooltipArea not propagating events
Diffstat (limited to 'src')
-rw-r--r--src/qtooltiparea.cpp12
-rw-r--r--src/qtooltiparea.h4
2 files changed, 13 insertions, 3 deletions
diff --git a/src/qtooltiparea.cpp b/src/qtooltiparea.cpp
index c560a52e..ffb6c53c 100644
--- a/src/qtooltiparea.cpp
+++ b/src/qtooltiparea.cpp
@@ -5,7 +5,8 @@
#include <QGraphicsSceneEvent>
QTooltipArea::QTooltipArea(QDeclarativeItem *parent) :
- QDeclarativeItem(parent)
+ QDeclarativeItem(parent),
+ m_containsMouse(false)
{
setAcceptHoverEvents(true);
connect(&m_tiptimer, SIGNAL(timeout()), this, SLOT(timeout()));
@@ -27,13 +28,18 @@ void QTooltipArea::showToolTip(const QString &str) const
void QTooltipArea::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
{
m_tiptimer.start(1000);
- return QDeclarativeItem::hoverEnterEvent(event);
+
+ m_containsMouse = true;
+ emit containsMouseChanged();
+ QDeclarativeItem::hoverEnterEvent(event);
}
void QTooltipArea::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
{
m_tiptimer.stop();
- return QDeclarativeItem::hoverLeaveEvent(event);
+ m_containsMouse = false;
+ emit containsMouseChanged();
+ QDeclarativeItem::hoverLeaveEvent(event);
}
void QTooltipArea::timeout()
diff --git a/src/qtooltiparea.h b/src/qtooltiparea.h
index 9a2c68e6..25614a1c 100644
--- a/src/qtooltiparea.h
+++ b/src/qtooltiparea.h
@@ -8,11 +8,13 @@ class QTooltipArea : public QDeclarativeItem
{
Q_OBJECT
Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
+ Q_PROPERTY(bool containsMouse READ containsMouse NOTIFY containsMouseChanged)
public:
QTooltipArea(QDeclarativeItem *parent = 0);
void setText(const QString &t);
QString text() const {return m_text;}
+ bool containsMouse() const {return m_containsMouse;}
void showToolTip(const QString &str) const;
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
@@ -22,11 +24,13 @@ public slots:
signals:
void textChanged();
+ void containsMouseChanged();
private:
QTimer m_tiptimer;
QString m_text;
+ bool m_containsMouse;
};
#endif // QTOOLTIPAREA_H