summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-04-15 15:50:15 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-04-15 15:50:15 (GMT)
commitd03c27040c08827eddbb086f70a50f8b908f97cc (patch)
treeb95e1f0da0af171ebc0ace99919a9a3251738a4c /src/gui/kernel
parent07f724cd5abd0548fb32ed3469bde113daf028c4 (diff)
parentafb54fe253ded94152575b23539552aa8f4ad384 (diff)
downloadQt-d03c27040c08827eddbb086f70a50f8b908f97cc.zip
Qt-d03c27040c08827eddbb086f70a50f8b908f97cc.tar.gz
Qt-d03c27040c08827eddbb086f70a50f8b908f97cc.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (31 commits) Speed up qsTr() by caching the translation context Crash while printing from the portedcanvas example on Mac Cocoa. qdoc: Fixed .qdocconf files for assistant. Disable debug-only framework builds on Mac. Compile (with -no-pch) Add missing QT_NO_BEARERMANAGEMENT ifdefs. Introduce a qconfig feature for Bearer Management Fix MOBILITY-404 Remove holes in bearer management data structures. Don't link bearer plugins against QtGui unnecessarily. Added missing newline after warning message when using -L with qml Doc: updating scripts Fixed a crash on embedded due to uninitialized pointer. Fix a race where QThread::exit() is "lost" when called after start() qdoc: Removed all <table> attributes in favor of using css. Autotest failure: dialogModality test fails on cocoa (macgui) Force the bic test to compile in 32-bit mode on Mac Revert "Doc: Updating design files." Remove statically allocated pixmaps through the post routine qdoc: Checked for empty title. ...
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qapplication.cpp4
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm15
-rw-r--r--src/gui/kernel/qcursor_mac.mm10
3 files changed, 18 insertions, 11 deletions
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 62e99e9..813cb95 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -186,11 +186,9 @@ QApplicationPrivate::QApplicationPrivate(int &argc, char **argv, QApplication::T
gestureManager = 0;
gestureWidget = 0;
-#if defined(Q_WS_X11) || defined(Q_WS_WIN)
move_cursor = 0;
copy_cursor = 0;
link_cursor = 0;
-#endif
#if defined(Q_WS_WIN)
ignore_cursor = 0;
#endif
@@ -1045,11 +1043,9 @@ QApplication::~QApplication()
qt_clipboard = 0;
#endif
-#if defined(Q_WS_X11) || defined(Q_WS_WIN)
delete d->move_cursor; d->move_cursor = 0;
delete d->copy_cursor; d->copy_cursor = 0;
delete d->link_cursor; d->link_cursor = 0;
-#endif
#if defined(Q_WS_WIN)
delete d->ignore_cursor; d->ignore_cursor = 0;
#endif
diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm
index 9c5380b..dd12f65 100644
--- a/src/gui/kernel/qcocoaview_mac.mm
+++ b/src/gui/kernel/qcocoaview_mac.mm
@@ -673,13 +673,14 @@ static int qCocoaViewCount = 0;
// Send mouse move and hover events as well:
if (!qAppInstance()->activePopupWidget() || qAppInstance()->activePopupWidget() == qwidget->window()) {
- if (qwidget->testAttribute(Qt::WA_MouseTracking)) {
- NSEvent *mouseEvent = [NSEvent mouseEventWithType:NSMouseMoved
- location:windowPoint modifierFlags:[event modifierFlags] timestamp:[event timestamp]
- windowNumber:[event windowNumber] context:[event context] eventNumber:[event eventNumber]
- clickCount:0 pressure:0];
- qt_mac_handleMouseEvent(self, mouseEvent, QEvent::MouseMove, Qt::NoButton);
- }
+ // This mouse move event should be sendt, even when mouse
+ // tracking is switched off (to trigger tooltips):
+ NSEvent *mouseEvent = [NSEvent mouseEventWithType:NSMouseMoved
+ location:windowPoint modifierFlags:[event modifierFlags] timestamp:[event timestamp]
+ windowNumber:[event windowNumber] context:[event context] eventNumber:[event eventNumber]
+ clickCount:0 pressure:0];
+ qt_mac_handleMouseEvent(self, mouseEvent, QEvent::MouseMove, Qt::NoButton);
+
if (qwidget->testAttribute(Qt::WA_Hover)) {
QHoverEvent he(QEvent::HoverEnter, QPoint(viewPoint.x, viewPoint.y), QPoint(-1, -1));
QApplicationPrivate::instance()->notify_helper(qwidget, &he);
diff --git a/src/gui/kernel/qcursor_mac.mm b/src/gui/kernel/qcursor_mac.mm
index 03e38b0..c3d6c54 100644
--- a/src/gui/kernel/qcursor_mac.mm
+++ b/src/gui/kernel/qcursor_mac.mm
@@ -224,6 +224,15 @@ QPoint QCursor::pos()
void QCursor::setPos(int x, int y)
{
+#ifdef QT_MAC_USE_COCOA
+ CGPoint pos;
+ pos.x = x;
+ pos.y = y;
+
+ CGEventRef e = CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, 0);
+ CGEventPost(kCGHIDEventTap, e);
+ CFRelease(e);
+#else
CGWarpMouseCursorPosition(CGPointMake(x, y));
/* I'm not too keen on doing this, but this makes it a lot easier, so I just
@@ -240,6 +249,7 @@ void QCursor::setPos(int x, int y)
QApplication::mouseButtons(), QApplication::keyboardModifiers());
qt_sendSpontaneousEvent(widget, &me);
}
+#endif
}
void QCursorData::initCursorFromBitmap()