summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qcocoaview_mac.mm
Commit message (Collapse)AuthorAgeFilesLines
* Cocoa: bugfix for autocads plugin projectRichard Moe Gustavsen2009-08-251-0/+9
| | | | | | | Seems like the QMacNativeWidget was almost not testet at all. It all breaks down when embedding QLineEdits (with respect to focus). This is a first patch that fixes this issue.
* Flickering "Whatsthis" pointer in CocoaPrasanth Ullattil2009-08-201-1/+9
| | | | | | | | | | | | | Since mouse tracking is always enabled on all QCocoaView-s, we are getting mouseMoved events for both parent and child (if mouse is over the child). In such cases the mouseMoved events are ignored for the parent view. We are using the native NSCursor stack for setting the override cursor. The current implementation for changeOverrideCursor is modified to keep this stack in sync with Qt's internal list. Task-number: 258173 Reviewed-by: Morten Sorvig
* Added support for gestures on Mac OS X CarbonRichard Moe Gustavsen2009-08-181-5/+5
|
* remove QT_RASTER_PAINTENGINE and QT_RASTER_IMAGEENGINE defines as they areGunnar Sletta2009-08-171-36/+31
| | | | | | legacy and completely pointless... Reviewed-By: Eskil
* Update contact URL in license headers.Jason McDonald2009-08-121-1/+1
| | | | Reviewed-by: Trust Me
* Cocoa: Add support for native gesturesRichard Moe Gustavsen2009-08-061-10/+44
| | | | Cocoa: Add support for native gestures
* Merge branch '4.5'Thiago Macieira2009-08-031-2/+2
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qsharedpointer.cpp src/corelib/tools/qsharedpointer_impl.h src/gui/dialogs/qcolordialog.cpp src/gui/painting/qwindowsurface_raster.cpp src/network/access/qnetworkaccessmanager.cpp tests/auto/qsharedpointer/externaltests.cpp
| * Cocoa with namespace breaks the buildRichard Moe Gustavsen2009-07-311-2/+2
| | | | | | | | | | | | | | Added the needed macros around the classnames the way it should be done. Reviewed-by: Prasanth
* | Make the Character Palette work on Mac/Cocoa.Morten Sørvig2009-07-271-4/+16
| | | | | | | | | | | | | | | | | | Handle the case when insertText is called with no corresponding keyDown. This fix is for the Cocoa port. Task-number: 147379
* | "Emacs" style keyboard shortcuts don't work on Cocoa.Prasanth Ullattil2009-07-231-1/+8
| | | | | | | | | | | | | | | | | | Mac supports only single key shortcuts as key equivalent for menu items. So if a multiple key QKeySequence is set, use Qt's shortcut mechanism instead of the native menu shortcut mechanism. Task-number: 258438 Reviewed-by: Norwegian Rock Cat
* | Bad drawing of styled viewports within QAbstractScrollAreaOlivier Goffart2009-07-151-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch includes lots of refactoring, but the real problem was that in QWidgetPrivate::paintBackground we call drawPrimitive(PE_Widget) with a potentialy translated painter, but the opt.rect is not translated. When having a scroll area the calling function used to translated the painter and then pass the offset around to rectify. but drawPrimitive cannot rectify it. The solution is not to translate the painter but use other way to rectify the brush Task-number: 257517 Reviewed-by: bnilsen
* | Merge commit 'origin/4.5'Bill King2009-07-081-67/+49
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: src/sql/drivers/ibase/qsql_ibase.cpp tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp tests/auto/qsqldatabase/tst_databases.h tests/auto/qsqldatabase/tst_qsqldatabase.cpp translations/qt_ru.ts
| * Remove unused function viewUnderTransparentForMouseView in QCocoaView.Prasanth Ullattil2009-07-021-55/+0
| | | | | | | | | | | | | | After we implemented hitTest for QCocoaView, this function is no longer used. Reviewed-by: Norwegian Rock Cat
| * Drag and drop events are not delivered correctly in CocoaPrasanth Ullattil2009-07-021-8/+41
| | | | | | | | | | | | | | | | | | | | | | Drag and drop events should consider the WA_TransparentForMouseEvents attribute like the mouse events. If this attribute is set for a widget, the event has to be passed to right widget under mouse. The widget is identified by calling hitTest. In such cases the leave event has to be delivered to the widget which actually accepted the enter event. Task-number: 252088 Reviewed-by: Norwegian Rock Cat
| * Implement hitTestNorwegian Rock Cat2009-07-021-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cocoa calls hitTest on our view to determine if the view should get the mouse press. We always said, "yes" and did all the logic ourselves. Turns out that we can say "no" if I'm transparent to mouse events and remove all that code where we do all the work ourselves. Big maintenance win! For the time being I've kept the "transparentViewForEvent" method since it might be useful for others, but no one is using it at the moment and we may just kill it soon. HitTest should handle this situation correctly.
| * Fix a regression where dynamic tooltips wouldn't show up in Cocoa.Norwegian Rock Cat2009-07-021-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Tracking of mouse events was only enabled when enableMouseTracking or Hover or a tooltip had been set explictly on the item, but this meant that the dynamic QEvent::Tooltips would never get dispatched. So, in order to help out people that might use this feature, all QCocoaViews must pay the mouse move event tax *sigh*. I added comments in the proper places so that we DO the right thing for a release where we can force the change in behavior. Task-number: 257320 Reviewed-by: Denis
* | Implement hitTestNorwegian Rock Cat2009-07-011-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cocoa calls hitTest on our view to determine if the view should get the mouse press. We always said, "yes" and did all the logic ourselves. Turns out that we can say "no" if I'm transparent to mouse events and remove all that code where we do all the work ourselves. Big maintenance win! For the time being I've kept the "transparentViewForEvent" method since it might be useful for others, but no one is using it at the moment and we may just kill it soon. HitTest should handle this situation correctly.
* | Add QTouchEvent::DeviceType and deviceType()Bradley T. Hughes2009-06-241-5/+4
| | | | | | | | | | | | | | | | | | This enum indicates what kind of device generated the touch event (TouchScreen or TouchPad). We use this information to control how touch events are sent, specifically we restrict touch events to a single widget/QGraphicsItem on touch-pads, since there is no direct relationship between the physical touch location on the pad and the on- using the touch-pad).
* | Multitouch, Cocoa: Added Qt::WA_TouchPadAcceptSingleTouchEventsRichard Moe Gustavsen2009-06-221-4/+8
| | | | | | | | | | | | | | | | | | By default this is set to false, meaning you will only get multitouch events. The reason why this is important is that we use the first touch of a new touch sequence to find out which widget to send the subsequent touches to. And on a touchpad, you normally want this to be the widget under the cursor when more than one finger is pressed on the pad.
* | Multitouch, Cocoa: Mask mouse hover from the touch setRichard Moe Gustavsen2009-06-221-14/+4
| | | | | | | | | | After a lot of thinking, the conclusion is that we really need to to this. Lets see if we can add a flag to control it next.
* | Multitouch, Cocoa: First revision of multi touch in Qt/CocoaRichard Moe Gustavsen2009-06-191-1/+65
| |
* | Merge license header changes from 4.5Volker Hilsheimer2009-06-161-3/+3
|\ \ | |/
| * Update license headers as requested by the marketing department.Jason McDonald2009-06-161-2/+2
| | | | | | | | Reviewed-by: Trust Me
| * Rename nsCursorForQCursor -> qt_mac_nsCursorForQCursor.Morten Sørvig2009-06-151-1/+1
| | | | | | | | Reviewed-by: Richard Moe Gustavsen
* | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-05-271-8/+20
|\ \ | |/ | | | | | | Conflicts: tests/auto/qtreeview/tst_qtreeview.cpp
| * BT: Prevent crash in Designer when using a scroll wheel to change a property.Norwegian Rock Cat2009-05-251-8/+20
| | | | | | | | | | | | | | | | | | | | | | There was some strangeness happening here with parents, but the main problem was the fact that wheel was getting sent to the focusframe and not to the widget below. However, the focusframe has the "transparent for mouse events" flag set and wheel events probably should be transparent as well. Task-number: 253539 Reviewed-by: Richard Moe Gustavsen
* | Merge branch '4.5' of git@scm.dev.troll.no:qt/qtSimon Hausmann2009-05-061-5/+13
|\ \ | |/ | | | | | | | | Conflicts: src/gui/kernel/qcocoaview_mac_p.h src/gui/widgets/qmainwindow.cpp
| * Optimize QCocoaView::registerDragTypes and mode switching in QtCreator.Morten Sørvig2009-05-061-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | We were registering the types each time drag and drop was enabled, which caused slowdowns when for example switching between the Edit and Debug modes in QtCreator. Instead, register the types on first enable and also when the custom types change. Add check to draggingEntered() that disables the drag if WA_DropSiteRegistered is false. Reviewed-by: nrc
* | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-04-291-2/+2
|\ \ | |/
| * Don't send extra events when using the scroll wheel in CocoaNorwegian Rock Cat2009-04-281-2/+2
| | | | | | | | | | | | | | | | Argh! Copy and paste is evil, not only was the test was wrong, We sent the event twice and the second time we sent the wrong value. Task-number: 250668 Reviewed-by: Morten Sørvig
* | Merge branch '4.5'Thiago Macieira2009-04-241-27/+49
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | Conflicts (version number change in 4.5): src/corelib/global/qglobal.h src/qbase.pri tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf tools/qdoc3/test/qmake.qdocconf tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt.qdocconf
| * Drag and drop examples not working correctly in CocoaPrasanth Ullattil2009-04-241-27/+49
| | | | | | | | | | | | | | | | | | | | | | In the updated examples, the drag operation is changed in the drop-event handler, which was not handled correctly in the Cocoa. This is now supported for drag and drop from same application. If the drop was to another application, the drag will return the result from the last drag-move event. Task-number: 252103 Reviewed-by: nrc
* | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-04-171-2/+2
|\ \ | |/ | | | | | | Conflicts: tests/auto/qpainterpath/tst_qpainterpath.cpp
| * Fix a bug that made it hard to click the top items in a list widgetNorwegian Rock Cat2009-04-161-2/+2
| | | | | | | | | | | | | | | | | | | | Our "view under tranparent view" function was sound, but it didn't take into consideration that fact that views in the hierarchy could be hidden. This is most prominent when you have a QFocusFrame over a QAbstractScrollArea. Task-number: 251008 Reviewed-by: Morten Sørvig
| * BT: Fix Cocoa bug w/OpenGL widgets in dock widgets would disappear.Norwegian Rock Cat2009-04-151-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | The NSOpenGLContext seems to be tied to the window. So if the view changes from one window to another, the OpenGL context needs to be cleared. We can do this by hooking into the viewWillChangeWindow and viewDidChangeWindow events and clear and reset the drawable respectively. We also found out that QCocoaOpenGLView was not being used at all, so just remove it to get rid of any confusion. Task-number: 250066 Reviewed-by: Trond
* | BT: Fix Cocoa bug w/OpenGL widgets in dock widgets would disappear.Norwegian Rock Cat2009-04-151-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | The NSOpenGLContext seems to be tied to the window. So if the view changes from one window to another, the OpenGL context needs to be cleared. We can do this by hooking into the viewWillChangeWindow and viewDidChangeWindow events and clear and reset the drawable respectively. We also found out that QCocoaOpenGLView was not being used at all, so just remove it to get rid of any confusion. Task-number: 250066 Reviewed-by: Trond
* | Merge commit 'origin/4.5'Olivier Goffart2009-04-151-2/+33
|\ \ | |/ | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem.cpp
| * Fix a bug where a widget would not always get the correct Cursor in CocoaNorwegian Rock Cat2009-04-141-0/+29
| | | | | | | | | | | | | | | | | | | | Cocoa has a different way of dealing with cursors than our heavy handed approach that we used in Carbon. We simply need to re-implement the proper function in NSView and set up the rectangles for the cursor correctly. We also need to expose an QCursor2NSCursor type functions since the current QCursor::handle() is useless for doing this and we shouldn't change that. With this change things seem to work much more like the native stuff for both Carbon and Cocoa.
| * Drag cursor is not updated when modifier keys are pressed/released inPrasanth Ullattil2009-04-071-2/+4
| | | | | | | | | | | | | | | | | | the Cocoa Builds. The drag move events were compressed based only on the position of the cursor. It has to be based on both position and the "drag operation" in native event. Reviewed-by: nrc
| * Long live Qt 4.5!Lars Knoll2009-03-231-0/+1254
|
* QTextEdit character are lost after special characters like ^ ´ `Prasanth Ullattil2009-04-081-1/+13
| | | | | | | | | | This happens only on keyboard layouts like French. The is mainly due to the key event processing done by the Input manager. In carbon, the key down event has to be replayed after the input manager finishes his processing. In Cocoa, while unmarking we have to accept the current text. Task-number: 123740 Reviewed-by: nrc
* Long live Qt!Lars Knoll2009-03-231-0/+1254