summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Cocoa: problems quitting application when not using qApp::execRichard Moe Gustavsen2010-01-072-0/+8
| | | | | | | | | | | | | | | | | | This problem has been around before. At that time it had to do with what part of the application received the kEAQuit apple event. In Qt-4.7 we ensure that NSApplication gets run at least once before we do any other event processing in Qt. That way the menu bar gets fully initialized. The backside of the coin is that NSApplication will not let the quit menu send a terminate action to the menu nibs file owner (qmenuloader_mac.mm) when a modal window is showing on screen. This is normally expected behaviour, but in Qt we allow the user to quit when just a single window/dialog is showing on screen. This fix remaps the quit items target from files owner to first responder. That way we can catch the terminate at the window/responder beeing that, and terminate as needed. Task-number: QTBUG-7197 Reviewed-by: Prasanth
* Merge branch '4.6'Thiago Macieira2010-01-051-6/+5
|\ | | | | | | | | Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
| * Fixes crash when widget with WA_StaticContents child become toplevel.Olivier Goffart2009-12-291-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | Happens for example if a DockWidget is undocked and has a child whith the WA_StaticContents attribute. The parent does not change (so newParent is false) but still, the top level widget change. So staticWidget need to be moved to the new backingstore. Reviewed-by: Benjamin Poulain Task-number: QTBUG-6883
* | Cocoa: exec() on a dialog with Qt::Tool windowflag is just a dialog.Richard Moe Gustavsen2010-01-041-3/+3
| | | | | | | | | | | | | | | | | | This is because a modal flag on the window wins over the type when determining window class. This fix will respect the type first, before looking at the window flag. Task-number: QTBUG-1455 Reviewed-by: Prasanth
* | Carbon: compile fixRichard Moe Gustavsen2010-01-041-1/+1
| | | | | | | | Oops. Broke build on carbon.
* | Cocoa: app menu does now show before doing qApp::exec()Richard Moe Gustavsen2010-01-042-16/+28
| | | | | | | | | | | | | | | | The reason is that we need to start [NSApplication run] before the menus get properly initialized. This patch will make the event dispatcher run nsapp once before spinning a modal session, if needed Task-number: QTBUG-6627
* | Merge branch '4.6'Thiago Macieira2009-12-269-127/+182
|\ \ | |/ | | | | | | | | | | Conflicts: examples/webkit/fancybrowser/main.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tools/assistant/tools/assistant/bookmarkmanager.cpp
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2009-12-221-1/+5
| |\ | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Memory leak when using QWidget::setWindowIcon() in Carbon.
| | * Memory leak when using QWidget::setWindowIcon() in Carbon.Prasanth Ullattil2009-12-221-1/+5
| | | | | | | | | | | | | | | | | | | | | The icon was not released when destroying the window. Task-number: QTBUG-6973 Reviewed-by: Richard Moe Gustavsen
| * | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2009-12-221-3/+6
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( de77f8ee69c434bde9306c8f407ee2e443a00188 ) Drag and drop icon not updated correctly in Cocoa. Adding missing file. Warn when calling QFileInfo::absolutePath() on an improper object. update harfbuzz to 2b78f0d78ad3075fd1657d1260b31219e1a5155 Fixing a problem with xmlpatterns, where code from tools/xmlpatterns was being included by src/xmlpatterns. Fix for WinCE compilation of QAbstractSpinBox.
| | * Drag and drop icon not updated correctly in Cocoa.Prasanth Ullattil2009-12-211-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDragMoveEvent is compressed using the answer rect in QCocoaView. The result of the last sendEvent is saved, so that we dont have to generate a new event always. This saved result was not updated correctly when the event was ignored. Task-number: QTBUG-5186 Reviewed-by: Richard Moe Gustavsen
| * | Edit focus should not be lost unless by explicit actionSami Merila2009-12-211-1/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | Currently non-touch devices lose edit focus if window switch happens. I.e. in cases when screensaver activates, an incoming call occurs, a global notification is shown... With this fix, edit focus remain active, until user removes the focus explicitly. Task-number: 4792 Reviewed-by: axis
| * Merge remote branch 'staging/4.6' into 4.6Simon Hausmann2009-12-176-32/+72
| |\
| | * Avoid timer starvation when handling many X11 eventsBradley T. Hughes2009-12-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After commit d0d0fdb8e46351b4ab8492de31e5363ef6662b57, timers are normally run at idle priority. This makes it possible for the X11 handler to starve timers indefinitely. Fix this by enforcing one normal priority pass of the timer source after we have processed all X11 events. This has the added benefit of keeping animation timers smooth and consistent, which is the intention of this change. Reviewed-by: Jens Bache-Wiig
| | * Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.6David Boddie2009-12-162-2/+4
| | |\
| | | * Fixed wheel event delivery in graphicsview.Denis Dzyubenko2009-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need to flip the y-coordinate of window- and view-local coordinates because they are flipped already. Reviewed-by: Prasanth
| | | * Doc fix: mark QFileOpenEvent::url to be available since 4.6Denis Dzyubenko2009-12-161-1/+3
| | | | | | | | | | | | | | | | Reviewed-by: trustme
| | * | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.6David Boddie2009-12-153-28/+64
| | |\ \ | | | |/
| | | * Optimisations to gesture event filtering.Denis Dzyubenko2009-12-153-28/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we don't filter some events through the gesture manager and use QMap instead of QHash, which seem to be a bit faster in our cases. Reviewed-by: Olivier Goffart
| | * | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.6David Boddie2009-12-145-15/+25
| | |\ \ | | | |/
| | * | Doc: Fixed an image reference.David Boddie2009-12-141-2/+2
| | | | | | | | | | | | | | | | Reviewed-by: Trust Me
| * | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6-s60axis2009-12-161-2/+8
| |\ \ \ | | | |/ | | |/| | | | | | | | | Conflicts: src/s60installs/bwins/QtGuiu.def
| * | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6-s60axis2009-12-1111-370/+301
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/s60installs/bwins/QtGuiu.def
| * | | | Rewrote most of the regular pointer handling.axis2009-12-092-90/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old implementation had been hacked on for a while and needed cleanup. The new code is heavily based on looking at the behavior of other platforms. It also reuses more of the cross platform code, which improves the handling of Enter and Leave events. We also switched to letting Symbian grab the pointer automatically when pressing down the mouse button, which improves things considerably compared to doing it ourselves. Popups should also work a lot better after this fix, since they were not really handled at all in the old code. The old code had calls to set the Symbian cursor sprite. This code has been removed since that code is now being called from within dispatchEnterLeaveEvents(). In addition, there was code to check whether the up key event had been left out by the platform. This was solved a bit differently now, instead putting the code in the section that handles virtual mouse, since that is where the problem occurs. Task: QTBUG-4990 RevBy: Shane Kearns AutoTest: N/A, Platform specific code that an autotest cannot catch. Lots of manual testing was done on normal examples as well drag'n'drop examples and it seemed to work fine.
* | | | | Cocoa: event dispatcher drops events on the floorRichard Moe Gustavsen2009-12-224-194/+293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under some circumstances, the event dispatcher needs to stop NSApplication, let the control return back to the QEventLoop that called processEvents, which very often will just call processEvents again, which in turn will restart NSApplication. After stopping NSApplication, Cocoa seems to throw away at least some of the posted cocoa events that are still pending. This will offcourse have inpact on things like window updates etc. that never happends. This patch will be more careful about when to stop NSApplication, and delay this until the run loop has finished one more spin after interrupt has been called. The same goes for modal sessions. Introducing this delay also made it neccessary to sometimes block cocoa from updating the stacking order of the windows. Autotest: qcoreapplication, qapplication, qtimer
* | | | | Cocoa: added release poolRichard Moe Gustavsen2009-12-221-0/+1
| | | | | | | | | | | | | | | | | | | | Fix warning given by cocoa
* | | | | Merge commit 'origin/4.6'Olivier Goffart2009-12-156-81/+71
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qfsfileengine.cpp src/network/access/qnetworkrequest.cpp tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
| * | | | Fix crashes when deleting QWidgets and QGraphicsItems in touch event handlers.Bradley T. Hughes2009-12-111-2/+8
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QWeakPointer to bail out early if a widget is deleted while we are delivering/propagating a TouchBegin event. In QGraphicsScene, we need to make sure that we clear the scene's active touch points for items that are removed from the scene. This allows us to detect when an item is removed during TouchBegin event delivery/propagation. Unlike QWidget, propagation continues since we use a hit-test instead of the item's hierarchy for propagation. Task-number: QTBUG-6654 Reviewed-by: bnilsen
| * | | Merge commit 'origin/4.6' into 4.6-upstreamBradley T. Hughes2009-12-091-66/+46
| |\ \ \ | | | |/ | | |/|
| | * | Cannot drag scrollbars in a QPlainTextEdit on Cocoa.Prasanth Ullattil2009-12-071-66/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPlainTextEdit can change the scroll ranges while dragging the scrollbar. This will eventualy call QWidget::raise(), on Cocoa it was done by removing the NSView and adding it back. This causes problems like resetting internal state while a mouseDragged was active on the view. The fix we will now sort the views based on their Qt-z-order. lower() & stackUnder() also fixed like this. Reviewed-by: Denis
| * | | Merge oslo-staging-2/4.6 into upstream/4.6Olivier Goffart2009-12-094-13/+17
| |\ \ \ | | |/ / | |/| / | | |/
| | * Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-12-081-1/+5
| | |\ | | | | | | | | | | | | 4.6-staging2
| | | * Minor fixes to softkey dimming support (commit 245c9cc0).Janne Anttila2009-12-081-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt invisible actions are disabled by default, and our "Options" softkey is set to invisible in order that it is not show in context menu. Thus we need don't want to dim in softkey even it is disabled. Additionally, QDialogButtonEnabledProxy need to set the initial enabled state for proxy action from button. Fixes bugs in commit: 245c9cc0 Reviewed-by: TrustMe
| | * | Doc: Explicitly mention that QWidget/QGraphicsItem takes ownership of effects.Bjørn Erik Nilsen2009-12-081-0/+2
| | | |
| | * | Fixed memory leaks when removing a QGraphicsEffect from a QGraphicsItem or ↵Yoann Lopes2009-12-073-11/+6
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWidget with setGraphicsEffect(0). The effect was not deleted in that case, problem solved for both QGraphicsItem and QWidget. Autotest included. Task-number: QTBUG-5917 Reviewed-by: bnilsen
| | * Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-12-071-2/+5
| | |\ | | | | | | | | | | | | 4.6-staging2
| | | * Added dimming support for disabled softkeys in Symbian.Janne Anttila2009-12-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If QAction::setEnabled(false) is called, the CBA buttons are dimmed to have visual indication about disabled state. Since enabled/disabled state of buttons in QDialogButtonBox is controlled via QPushButton::setEnabled API, and because button box content in Symbian is mapped to sofkkeys we also need to have proxy for button enabled state to forward the information for underlying QAction. Reviewed-by: Sami Merila
| | | * Fixed "...QString::QString(const char *)... is deprecated" warning.Janne Anttila2009-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-6290 Reviewed-by: TrustMe
* | | | QGuiEventDispatcherGlib::flush() does nothing despite documentationBradley T. Hughes2009-12-112-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | otherwise. The documentation for flush() is that it flushes the outgoing command queue on X11, but not when using Glib. Fix this by implementing flush() in the GUI Glib dispatcher. Task-number: QTBUG-3185
* | | | Don't react to X errors on displays that are not the Qt display.Bradley T. Hughes2009-12-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though Qt doesn't support multiple displays, it is possible for people to have code that uses multiple displays (either by using Xlib directly or when integrating with another toolkit). Task-number: QTBUG-3337
* | | | Mac: add support for public.vcard UTI (DnD)Richard Moe Gustavsen2009-12-101-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | Added a QMacPasteboard converter for data dragged from the address book on Mac. It is an easy piece of code, and will make it easier for Mac people to work with standard Mac apps.
* | | | Cocoa: scrolling viewports containing many widgets is slowRichard Moe Gustavsen2009-12-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the reasons is that [NSView resetCursorRects] is called for each view, also the ones not actually visible. And the function is slow. This patch does an early check, and bails out if this is the case. Reviewed-by: Prasanth
* | | | Fix performance issue with live resizeRichard Moe Gustavsen2009-12-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling [NSView addTrackingArea] is slow. So doing this for views that are not even visible on screen is unnecesary. This patch will greatly improve the speed for some (perhaps extreme) cases. Task-number: QT-1610 Reviewed-by: MortenS
* | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-12-051-1/+1
|\ \ \ \ | |/ / /
| * | | Merge commit '33441e2a611f07207b0b942368aab9010cdf8ab1' of ↵Simon Hausmann2009-12-0510-304/+255
| |\ \ \ | | |/ / | |/| | | | | | oslo-staging-1/4.6 into 4.6
| * | | Merge commit 'c0b81480b2909b18ac15bdd124a562ae005c2f41' into origin-4.6Olivier Goffart2009-12-041-1/+1
| |\ \ \ | | | |/ | | |/|
| | * | Fixed softkey merging/traversing over window boundaries.Janne Anttila2009-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If current dialog implementation had parent and no softkeys set, the dialog got softkeys from parent. This commit changes the behaviour so that softkeys are not traversed over window boundaries. Also added autotest for the bug report. Task-number: QTBUG-6163 Reviewed-by: Jason Barron
* | | | Cocoa: amend dnd optimization: 067cab5afRichard Moe Gustavsen2009-12-041-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A couple of minutes after commiting 067cab5af, I realized I need to act a bit more nice to native NSViews that also might exist in the window: Let NSWindow handle the dnd drop if the view is not a QWidget (and not also if it is a QWidget, but not subscribing to dnd) Task-number: QT-1586
* | | | Cocoa: impl. performance boost for dndRichard Moe Gustavsen2009-12-047-65/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that registering drag types for each NSView that can receive drop events is _really_ slow. And many widget in Qt subscribe for DnD (QTextEdit, QScrollArea, etc), so the result is an application that will spend startup time preparing for DnD. For some edge cases, we're talking several seconds! This patch removes this overhead by moving drag type registering out of NSView, and into NSWindow (that is, QCocoaWindow and QCocoaPanel). Task-number: QT-1586 Reviewed-by: Prasanth
* | | | Merge commit 'oslo-staging-1/4.6' into master-mainlineRichard Moe Gustavsen2009-12-0410-304/+255
|\ \ \ \ | | |_|/ | |/| |