summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'feature' into 4.6Jørgen Lind2009-11-061-0/+2
|\
| * Fix QT_NO_GRAPHICSVIEWJørgen Lind2009-11-061-0/+2
| | | | | | | | Reviewed-by: paul
* | Merge branch '4.6-s60' into 4.6axis2009-11-065-8/+41
|\ \
| * \ Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6-s60axis2009-11-056-13/+47
| |\ \
| * \ \ Merge commit 's60/4.6' into mmfphononFrans Englich2009-11-0430-397/+529
| |\ \ \
| | * \ \ Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6-s60axis2009-11-0428-392/+494
| | |\ \ \
| | * | | | Fixed modal dialog fading support in Symbian.Janne Anttila2009-11-043-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switched to use S60 API instead of Symbian one, the rationale is given below as an copy/paste from S60 docs: "Cross-application fading support Symbian OS provides some support for fading, but this only covers fading within an application. The S60 UI can have more than one application on the screen at once (in fact, since the system parts of the Status pane are inside EikServer, it always has more than one application on the screen). The S60 UI introduced the fading and drawing system to manage the fading state for the whole system. Application and UI control code for S60 should not attempt to set fade for a popup window directly. Instead, the popup window should implement the MAknFadedComponent interface, and should use the TAknPopupFader support class to set the fade. The application UI base classes interact with the fading and drawing system by informing it when the foreground status of the application changes. They also use it to implement system wide fading." There is also task QTBUG-5393 to implement fading support in future without S60 dependency. Task-number: QTBUG-5181 Reviewed-by: Sami Merila
| * | | | | Call PositionChanged from QSymbianControl::SizeChangedGareth Stockwell2009-11-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is necessitated by the fact that CCoeControl::SetExtent calls SizeChanged, but does not call PositionChanged. This causes a bug in the handling of orientation changes. When the screen orientation changes, QSymbianControl::HandleResourceChange(KInternalStatusPaneChange) is called on the top-level widget. This results in a call to SetExtent. Because PositionChanged was not being called, the outcome was that the size of the widget's data.crect variable was updated, but not its position. This meant that mouse events sent to this widget or any of its children were incorrectly handled: 1. QSymbianControl::HandlePointerEventL works out which widget should receive the event. This uses CCoeControl::PositionRelativeToScreen, and therefore calculates the correct widget. 2. In constructing the QMouseEvent object, QWidget::mapFromGlobal is used to translate the event position into the receiving widget's co-ordinate system. This uses data.crect.topLeft(), therefore giving the wrong value, resulting in the widget's event handler discarding the event. Task-number: QTBUG-4697 Reviewed-by: axis
| * | | | | Revert "Fixed a crash in the QApplication autotest."Gareth Stockwell2009-11-031-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f3854db64bcaa0f26faf5ff1414d3b9ccfc00e35. It is replaced by 6a89291d. Reviewed-by: Janne Anttila
| * | | | | Merge branch '4.6' into mmfphononGareth Stockwell2009-11-0342-446/+1058
| |\ \ \ \ \
| * | | | | | Fix for defect introduced by dd48c27fGareth Stockwell2009-11-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change causes some applications to crash due to a null pointer dereference in QSoftKeyManagerPrivate::updateSoftKeys_sys. f3854db6 fixes the crash, but introduces incorrect behaviour: the softkey labels are not updated. To see this: 1. Launch qmediaplayer 2. Open a video clip 3. Video clip starts playing but softkeys still have labels "Open" and "Cancel" Reviewed-by: Janne Anttila
| * | | | | | Fix for unresponsive sliders after orientation switch or full-screenGareth Stockwell2009-11-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | video playback During the switch to full-screen video playback, the following happens: 1. Double-tapping to enable full-screen results in a call to QSymbianControl::HandleLongTapL 2. This modifies the global variable QApplication::mouse_buttons, OR'ing in Qt::RightButton 3. QWidgetPrivate::create_sys, called as a result of the call to setWindowFlags made by Phonon::VideoWIdget::setFullScreen, schedules a delayed deletion of the same control as in step (1) above 4. The control gets deleted before it receives a HandlePointerEventL for the long tap release, which would have removed Qt::RightButton from the mouse_button bitmask 5. In subsequent calls to QSlider::mousePressEvent, the test (ev->buttons() ^ ev->button()) is false, which results in the event being ignored. Ideally, we would fix this by propagating the m_previousEventLongPress flag from the deleted QSymbianControl to the newly created one. However, this does not work because the new control does not receive the HandlePointerEventL callback for the long press release. We therefore fix the bug by checking for m_previousEventLondPress in the QSymbianControl destructor; if it is set, we clear the Qt::RightButton bit from the QApplication::mouse_buttons mask. Note that QTBUG-5309 (Cannot interact with sliders after orientation switch during audio playback) is still seen after applying this patch. Task-number: QTBUG-5242, QTBUG-5308 Reviewed-by: axis
| * | | | | | When creating a Symbian WId for a visible widget, make the controlGareth Stockwell2009-10-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | visible after activating the window. This change was required in order to be able to run the test case for the below task; however, it is more generally required. Without it, the contents of the descendents of this widget will not be visible, until they are explicitly hidden and then re-shown. Task-number: QTBUG-4787 Reviewed-by: axis
* | | | | | | Merge remote branch 'qt-official/4.6' into 4.6Morten Johan Sørvig2009-11-061-2/+1
|\ \ \ \ \ \ \
| * | | | | | | Fixed uninitialized background artifacts in QWidget::render.Samuel Rødal2009-11-061-2/+1
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use isOpaque to check whether the widget has an opaque background, it's not enough to just check the palette (it doesn't check Qt::NoSystemBackground for example). Task-number: QTBUG-5012 Reviewed-by: Gunnar Sletta
* | | | | | | Removed the unnecessery loop in the last commit originated from a mergeDenis Dzyubenko2009-11-061-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | request. Reviewed-by: Prasanth
* | | | | | | Fix QDesktopWidget::availableGeometry() on OSXFred Emmott2009-11-061-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Was ignoring top OSX menu bar. Example c++: http://pastebin.ca/1585763 http://fred.uwcs.co.uk/testAvailableGeometry.cpp Example output: http://pastebin.ca/1585766 http://fred.uwcs.co.uk/testAvailableGeometry.output Introduced by commit 13254da6c3192937812983f44ce95fe8e1bc602c Merge-request: 1652 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* | | | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-platform-team into 4.6Morten Johan Sørvig2009-11-066-6/+80
|\ \ \ \ \ \ \
| * | | | | | | Add support for GetURL events on Mac OS XTor Arne Vestbø2009-11-056-6/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GetURL events are delivered by Launch Services to the application if the application is registered as the default handler for the given protocol, and the user for example issues 'open http://foo.com/' in the console or clicks a link in another application. The GetURL event is converted to a QFileOpenEvent, which now has both a QUrl constructor and a url() method. These two new methods work in sync with the file() method, so a QFileOpenEvent constructed from a QUrl will return a valid file name from file() if the URL was a local file. The boolean argument to AEInstallEventHandler decides whether the handler is to be added to the system event dispatch table or the application's event dispatch table. Previously we added it to the system table, but this did not work for the GetURL event. We now use the application event table, which works for all three of the events we register on Carbon. Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* | | | | | | | Merge remote branch 'qt-official/4.6' into 4.6Morten Johan Sørvig2009-11-065-13/+29
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| / / / / / / | |/ / / / / /
| * | | | | | Doc: Fixed qdoc warnings.David Boddie2009-11-051-9/+0
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | Reviewed-by: Trust Me
| * | | | | Merge branch 'graphicseffect' into 4.6Jørgen Lind2009-11-053-1/+26
| |\ \ \ \ \
| | * | | | | Add QT_NO_GRAPHICSEFFECTJørgen Lind2009-11-043-1/+26
| | | |_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It depends on QT_NO_GRAPHICSVIEW for now, but it is possible to remove this dependency. Reviewed-by: paul
| * | | | | Merge branch '4.5' into 4.6Morten Johan Sørvig2009-11-051-3/+3
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/qsqlquery/tst_qsqlquery.cpp tests/auto/qtextlayout/tst_qtextlayout.cpp
| | * | | | | Disable the move-by-scrolling optimization.Morten Johan Sørvig2009-11-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation fails when moving the widget onto an area that has just been exposed as a part of a window resize operation.
* | | | | | | Fixed pinching in the imagegestures example.Denis Dzyubenko2009-11-051-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the gesture finishes it might not necessery set the ScaleFactorChanged flag. Also fixed the touch-event based pinch gesture. Reviewed-by: trustme
* | | | | | | Implemented Tap and TapAndHold gestures.Denis Dzyubenko2009-11-056-1/+303
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added QGesture objects and gesture recognizers based on touch events. Reviewed-by: Bradley T. Hughes
* | | | | | | Improved pinch gesture.Denis Dzyubenko2009-11-051-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made sure we emit the same values for the pinch gesture as on Mac. Reviewed-by: trustme
* | | | | | | Implemented QSwipeGesture recognizer using touch events.Denis Dzyubenko2009-11-054-5/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Bradley T. Hughes
* | | | | | | Merge remote branch 'qt-official/4.6' into 4.6Morten Johan Sørvig2009-11-0518-162/+201
|\ \ \ \ \ \ \ | |/ / / / / /
| * | | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-doc-team into 4.6David Boddie2009-11-042-9/+18
| |\ \ \ \ \ \ | | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qevent.cpp src/gui/kernel/qgesture.cpp
| | * | | | | Doc: Fixed qdoc warnings.David Boddie2009-11-042-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Trust Me
| * | | | | | Merge commit '51c9b68' into 4.6Morten Johan Sørvig2009-11-0426-385/+487
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: dist/changes-4.6.0 src/gui/kernel/qevent.h
| * \ \ \ \ \ \ Merge branch '4.6-s60' into 4.6axis2009-11-042-45/+78
| |\ \ \ \ \ \ \ | | | |_|_|_|_|/ | | |/| | | | |
| | * | | | | | Fix cleanupstack crash on exit in Symbian OS 9.2Shane Kearns2009-11-031-1/+10
| | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Destroying the control environment also pops items from the original cleanup stack which is not owned by the control environment. This is a platform issue (and does not occur in 9.3 & 9.4). To avoid this causing a panic, the s60main is changed to not push items on the cleanup stack (instead, it TRAPs the call to main(), and deletes its allocations manually). A further 9.2 cleanup stack crash was caused when application construction fails (because of missing resource files). The resulting exception would bypass deleting the control environment, and return from main with the wrong cleanup stack active. This is resolved by doing the TRAP / cleanup / throw manually instead of using qt_trap_throwing (The control environment cannot be pushed to the cleanup stack, because it owns the cleanup stack at that time). This isn't a 9.2 specific bug, but rather is revealed by 9.2 because the missing resource file is non fatal in 9.3 and 9.4. Fixes many autotests which have crashed on S60 3.1 since the cleanup stack swapping patch. Reviewed-by: axis
| | * | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6-s60axis2009-11-0333-261/+890
| | |\ \ \ \ \
| | * | | | | | Fix for static QSound::play in Symbian and code style fixes.Janne Anttila2009-11-021-38/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Static QSound::play(const QString& filename) API did work for Symbian, since local stack variable was deleted before asynchronous play completed. This happened with the following seqeunce: - void QAuServer::play() is called and creates a QSound on the stack - QAuBucketS60::play() is called - m_prepared is false, so the actual play will happen a bit later - The QSound created on the stack is deleted -> Silence This scenario is now fixed by making copy of QSound object to internal list, and temp object is being deleted when play is completed either successfully or unsuccessfully. Added also manual test case for static play. Task-number: QTBUG-5217 Reviewed-by: Miikka Heikkinen
| | * | | | | | Fixed statuspane visibility after dialog closed from fullsreen widget.Janne Anttila2009-10-301-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Comparing TBool == bool did not work correctly since TBool is effectively int. For example statusPane->IsVisible() in this particular case returns 2, which compared to true as an int fails. Casting to bool seems to solve the problem. Another possibility would be to use Symbian COMPARE_BOOLS macro. - Changing statuspane visibility now affects to widget size also - Some tab/space fixes Task-number: QTBUG-4876 Reviewed-by: Sami Merila
| * | | | | | | QGtkStyle refactoringRobert Griebl2009-11-032-6/+6
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QGtk class has been refactored into a private d class for QGtkStyle. This allows us to re-use a lot of code for the Maemo5 style without changing a single line in QGtkStyle itself plus we can easily add virtual functions where the two styles need to behave different. There shouldn't be any new functionality added (or old functionality lost) by this commit. Reviewed-By: jbache Reviewed-By: Ralf Engels
| * | | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-doc-team into 4.6David Boddie2009-11-031-1/+1
| |\ \ \ \ \ \ | | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qevent.cpp src/network/ssl/qsslerror.cpp
| | * | | | | Doc: Fixed qdoc warnings.David Boddie2009-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Trust Me
| * | | | | | Merge commit 'origin/4.6' into featureJørgen Lind2009-11-0233-326/+869
| |\ \ \ \ \ \
| | * \ \ \ \ \ Merge commit '8c4edbd04f350294462fd689748de2dd7cc84d47' into 4.6-upstreamBradley T. Hughes2009-10-3026-229/+806
| | |\ \ \ \ \ \
| | * \ \ \ \ \ \ Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into origin-4.6Olivier Goffart2009-10-303-69/+14
| | |\ \ \ \ \ \ \ | | | | |_|/ / / / | | | |/| | | | |
| | | * | | | | | Merge branch '4.6-s60' into 4.6axis2009-10-303-69/+14
| | | |\ \ \ \ \ \
| | | | * | | | | | Fix for softkey visibility when dialog launched from fullscreen widget.Janne Anttila2009-10-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Softkeys should be always the topmost window in order to be visible. For example when QMessageBox is launched from fullscreen window, we need to make sure that softkey is located on top of window tree. Task-number: QTBUG-4953 Reviewed-by: Jason Barron
| | | | * | | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6axis2009-10-291-3/+2
| | | | |\ \ \ \ \ \
| | | | * \ \ \ \ \ \ Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6axis2009-10-274-49/+27
| | | | |\ \ \ \ \ \ \ | | | | | | |_|/ / / / | | | | | |/| | | | |
| | | | * | | | | | | Cleanup softkeymanager keyedactions hash when QAction is being deleted.Janne Anttila2009-10-272-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: TrustMe
| | | | * | | | | | | Switched setWindowIcon_sys to use QPixmpa::toSymbianCFbsBitmap in S60.Janne Anttila2009-10-271-68/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were TODOs in code to remove the temporary solution for creating native CFbsBitmap out of QPixmap. Now when QPixmpa has native backed and it provides toSymbianCFbsBitmap, it it preferred to use toSymbianCFbsBitmap since in best case it can only duplicate the bitmap handle instead of copying the data. Task-number: QTBUG-4948 Reviewed-by: Jani Hautakangas