summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qwidget_s60.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Early construction of status pane and softkeys for Symbian boosted appsmread2011-10-141-53/+31
| | | | | | | | | | | | | | | QtAppBooster can partially start apps and hide them in the background before they are requested by the user. This gives an apparently faster start for these apps. Qt is now detecting these app starts and bringing the construction of the status pane and softkeys forward so that they happen in the background. This cuts their construction time off the time between the user clicking on the app and it being ready to use. On a Nokia E7, this gain was measured at an average of 127ms. Task-number: QT-4933 Reviewed-by: Sami Merila
* Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Liang Qi2011-10-071-21/+37
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/getting-started/installation.qdoc doc/src/platforms/platform-notes.qdoc src/corelib/tools/qlocale_symbian.cpp src/gui/kernel/qwidget_p.h src/network/access/qnetworkaccesshttpbackend.cpp src/opengl/qgl.cpp src/plugins/bearer/symbian/qnetworksession_impl.cpp
| * Always recreate backing store when TLW transparency changesGareth Stockwell2011-09-271-21/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using either the opengl or openvg graphics system on Symbian, if a TLW is made transparent, the widget switches to using raster rendering, because EGL surface transparency is currently not supported by the platform. This patch enables the reverse to occur: when the widget is subsequently made opaque, rendering switches back to using GL/VG. Task-number: QTBUG-21211 Reviewed-by: Jani Hautakangas Reviewed-by: Laszlo Agocs Reviewed-by: Sami Merila
* | Cleanup qwidget_s60.cppMiikka Heikkinen2011-09-141-21/+1
| | | | | | | | | | | | Removed some unused code from qwidget_s60.cpp. Reviewed-by: TrustMe
* | Merge branch 4.7 into qt-4.8-from-4.7Sergio Ahumada2011-09-011-5/+3
|\ \ | |/
| * Merge branch 'qt-4.7' into 4.7Liang Qi2011-08-311-1/+12
| |\ | | | | | | | | | | | | Conflicts: src/gui/inputmethod/qcoefepinputcontext_s60.cpp
| * | Prevent leakage of native window handlesGareth Stockwell2011-08-311-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Symbian, reparenting a native widget causes its native window, and those of all its ancestors, to be destroyed and recreated. Because native window handles cannot be destroyed from the context of CONE event handlers, the destruction is delayed until after control flow returns to the event loop (see QTBUG-4664). However, the pending-destruction native windows are leaked if either of the following happens: a) The application never returns to the event loop. While unlikely in a real app, this situation does happen in Qt autotests, causing a crash in tst_qwidget due to leakage from tst_QWidget::reparentCausesChildWinIdChange(). b) A subsequent reparenting event occurs before control returns to the event loop. This patch prevents the leak by storing the pending-destruction native window handle(s) in a member QList, rather than on the stack as parameters to QWidgetPrivate::_q_delayedDestroy(WId). Task-number: QT-5135 Reviewed-by: Jani Hautakangas
* | | Merge branch 4.7 into qt-4.8-from-4.7Sergio Ahumada2011-08-311-1/+12
|\ \ \ | | |/ | |/| | | | | | | Conflicts: doc/src/index.qdoc
| * | Fix clientRect usage in QWidgetPrivate::setGeometry_sys()Miikka Heikkinen2011-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | S60->clientRect() should be used these days for getting S60 client rect, so fix the old fashined usage that was in cherry-picked commit. Task-number: QTTH-1306 Reviewed-by: TrustMe (cherry picked from commit 15b44c1ea04c3beebe4d7f6d9f45b81127c3c8f9) Reapplied after bad v4.7.4 merge
| * | Do not allow fullscreen/maximized windows to expand beyond client rectMiikka Heikkinen2011-08-301-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Automatic layouting of widgets still managed to layout maximized and fullscreen windows larger than client rect in Symbian in some cases. Fixed by limiting window dimensions to client area boundaries in setGeometry_sys if the window is maximized or fullscreen. Task-number: QTBUG-5697 Reviewed-by: Sami Merila (cherry picked from commit e9040d183dce6188ae9d1493167cb7247a6d4a7b) Reapplied after bad v4.7.4 merge
| * | Do not modify window size for fullscreen windows in setGeometry_sysMiikka Heikkinen2011-08-301-1/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Minimum sizes of widgets can cause windows to expand beyond screen limits in QWidgetPrivate::setGeometry_sys. Normally this is not noticeable as the window size is forced in various places to the clientRect, but there are certain sequences where the size set in setGeometry_sys is the final one, resulting in too large windows. Removed the modification of window size in setGeometry_sys for fullscreen windows for which the correct size is already requested. Task-number: QTBUG-18749 Reviewed-by: Sami Merila (cherry picked from commit d4a2ce8ad5be6633f0e5c5a74eaa8b9c32c02ba8) Reapplied after bad v4.7.4 merge
* | Merge branch 4.7 into qt-4.8-from-4.7Sergio Ahumada2011-08-261-12/+1
|\ \ | |/ | | | | | | | | Conflicts: doc/src/index.qdoc src/xmlpatterns/expr/qevaluationcache_p.h
* | Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Liang Qi2011-08-161-1/+1
|\ \ | | | | | | | | | | | | Conflicts: src/gui/kernel/qwidget_s60.cpp
| * | Fix clientRect usage in QWidgetPrivate::setGeometry_sys()Miikka Heikkinen2011-08-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | S60->clientRect() should be used these days for getting S60 client rect, so fix the old fashined usage that was in cherry-picked commit. Task-number: QTTH-1306 Reviewed-by: TrustMe
| * | Do not allow fullscreen/maximized windows to expand beyond client rectMiikka Heikkinen2011-08-111-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Automatic layouting of widgets still managed to layout maximized and fullscreen windows larger than client rect in Symbian in some cases. Fixed by limiting window dimensions to client area boundaries in setGeometry_sys if the window is maximized or fullscreen. Task-number: QTBUG-5697 Reviewed-by: Sami Merila
| * | Do not modify window size for fullscreen windows in setGeometry_sysMiikka Heikkinen2011-08-111-1/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Minimum sizes of widgets can cause windows to expand beyond screen limits in QWidgetPrivate::setGeometry_sys. Normally this is not noticeable as the window size is forced in various places to the clientRect, but there are certain sequences where the size set in setGeometry_sys is the final one, resulting in too large windows. Removed the modification of window size in setGeometry_sys for fullscreen windows for which the correct size is already requested. Task-number: QTBUG-18749 Reviewed-by: Sami Merila
* | Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Liang Qi2011-06-241-6/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/image/qpixmap_raster_symbian.cpp src/gui/image/qpixmapdatafactory.cpp src/gui/painting/qgraphicssystem.cpp src/gui/styles/qs60style.cpp src/network/bearer/qnetworkconfigmanager_p.h src/s60installs/bwins/QtGuiu.def src/s60installs/bwins/QtOpenGLu.def src/s60installs/bwins/QtOpenVGu.def src/s60installs/eabi/QtGuiu.def src/s60installs/eabi/QtOpenVGu.def tests/auto/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp
| * Drop-down menu position is altered when Partial VKB is invokedSami Merila2011-06-141-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a new window is shown and splitview is open, native side claims that available screen area for the application is only the screen area above keyboard. However, since opening a new window, will eventually lead to keyboard getting closed, the new window will look strange occupying only top part of the screen. Fix it so that when a new window opens and splitview is open, window will still get its extent set to fullscreen area (minus native panes, if available). Task-number: QT-5103 Reviewed-by: Miikka Heikkinen
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-05-171-17/+17
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Updating file with CRLF line endings for the updated header Fix a regression in QList::mid() update gitignore remove -fno-stack-protector Fix make confclean Update licenseheader text in source files
| | * Update licenseheader text in source filesJyri Tahtela2011-05-131-17/+17
| | | | | | | | | | | | | | | | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* | | Merge remote-tracking branch 'qt/4.8'Jyri Tahtela2011-05-181-2/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/examples/wheel.qdoc src/gui/util/qflickgesture.cpp src/gui/util/qflickgesture_p.h src/gui/util/qscroller.cpp src/gui/util/qscroller.h src/gui/util/qscroller_p.h src/gui/util/qscrollerproperties.cpp src/gui/util/qscrollerproperties.h tests/auto/qscroller/tst_qscroller.cpp
| * \ \ Merge remote-tracking branch 'origin/4.8' into qt-4.8-from-4.7Olivier Goffart2011-05-161-7/+9
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qt_s60_p.h
| * \ \ \ Merge branch 4.7 into qt-4.8-from-4.7Qt Continuous Integration System2011-05-121-1/+1
| |\ \ \ \ | | | |/ / | | |/| |
| | * | | QWidgetPrivate::setParent_sys might be using null pointerSami Merila2011-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix possible null pointer usage. Issue found by Coverity tool. Reviewed-by: Miikka Heikkinen
| * | | | Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Olivier Goffart2011-05-111-1/+3
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qwidget_p.h src/gui/painting/qgraphicssystem_p.h src/plugins/plugins.pro src/s60installs/bwins/QtCoreu.def src/s60installs/bwins/QtDeclarativeu.def src/s60installs/bwins/QtGuiu.def src/s60installs/bwins/QtMultimediau.def src/s60installs/bwins/QtNetworku.def src/s60installs/bwins/QtOpenGLu.def src/s60installs/bwins/QtScriptu.def src/s60installs/bwins/QtSqlu.def src/s60installs/bwins/QtTestu.def src/s60installs/bwins/QtXmlPatternsu.def src/s60installs/bwins/phononu.def src/s60installs/eabi/QtGuiu.def src/s60installs/eabi/QtOpenGLu.def src/s60installs/eabi/QtTestu.def
| | * | | Introduce platform extension to QGraphicsSystemJani Hautakangas2011-05-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt on Symbian needs some special capabilities to be able to work on 32MB GPU. This patch introduces some Symbian specific functions to QGraphicsSystem Task-number: QTBUG-17882 Reviewed-by: Laszlo Agocs
| * | | | Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Olivier Goffart2011-05-061-0/+5
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qpainterpath.cpp src/gui/text/qfontengine_ft.cpp src/s60installs/eabi/QtGuiu.def
| | * | | Fix initial main window dimensions for "fullscreen with softkeys" caseMiikka Heikkinen2011-05-051-0/+5
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The application main window defaults to fullscreen size when initially constructed, even if softkeys are specified for it, as the screen furniture is constructed later in show_sys. This resulted in the main window being partially under softkeys. Fixed by invoking handleClientAreaChange() explicitly in show_sys in fullscreen with softkeys case. Task-number: QTBUG-19043 Reviewed-by: Sami Merila
* | | | Update licenseheader text in source files for qt4.8Jyri Tahtela2011-05-131-17/+17
| |_|/ |/| | | | | | | | | | | | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* | | Do not allow fullscreen/maximized windows to expand beyond client rectMiikka Heikkinen2011-05-041-7/+9
|/ / | | | | | | | | | | | | | | | | | | Automatic layouting of widgets still managed to layout maximized and fullscreen windows larger than client rect in Symbian in some cases. Fixed by limiting window dimensions to client area boundaries in setGeometry_sys if the window is maximized or fullscreen. Task-number: QTBUG-5697 Reviewed-by: Sami Merila
* | Merge remote-tracking branch 'qt/4.8'Sami Lempinen2011-04-281-0/+2
|\ \
| * \ Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-04-181-0/+2
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp qmake/generators/win32/msbuild_objectmodel.cpp qmake/generators/win32/msvc_vcxproj.cpp src/corelib/global/qnamespace.h src/gui/text/qtextcontrol.cpp
| | * Use FixNativeOrientation on Symbian when the application wants it.Laszlo Agocs2011-04-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applications can request the usage of RWindow::FixNativeOrientation() by setting the new Qt::WA_SymbianNoSystemRotation attribute for their fullscreen top-level widget (which in practice will either be a graphics or declarative view). This will fix the underlying EGL window surface and the QWidget dimensions to the dimension of the native orientation of the device (typically portrait). The default auto-rotation can be left enabled, however it will be up to the application to rotate the drawing. Global notifications, VKB, etc. will still appear in the proper orientation. Another benefit is improved performance in the non-native orientation. Task-number: QTBUG-17742 Reviewed-by: Jason Barron Reviewed-by: Jani Hautakangas
* | | Do not modify window size for fullscreen windows in setGeometry_sysMiikka Heikkinen2011-04-181-1/+10
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Minimum sizes of widgets can cause windows to expand beyond screen limits in QWidgetPrivate::setGeometry_sys. Normally this is not noticeable as the window size is forced in various places to the clientRect, but there are certain sequences where the size set in setGeometry_sys is the final one, resulting in too large windows. Removed the modification of window size in setGeometry_sys for fullscreen windows for which the correct size is already requested. Task-number: QTBUG-18749 Reviewed-by: Sami Merila
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-04-071-32/+1
|\ \ | |/ | | | | | | | | Conflicts: src/gui/text/qfontengine_mac.mm tests/auto/qdiriterator/tst_qdiriterator.cpp
| * Don't display softkeys/statusbar on FS childs of non-FS windowsMiikka Heikkinen2011-04-011-32/+1
| | | | | | | | | | | | | | | | | | | | Fullscreen child windows of non-fullscreen main application window displayed softkeys and status bar when they shouldn't. Fixed it so that fullscreen windows never display these items (except for softkeys when explicitly specified to do so.) Task-number: QTTH-1207 Reviewed-by: Sami Merila
* | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2011-04-011-1/+2
|\ \ | |/
| * Do not set focus unnecessarily at window activation in SymbianMiikka Heikkinen2011-03-311-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Calling QSymbianControl::setFocusSafely(true) on currently focused window causes the next window in stack to get the focus momentarily, leading to various softkey problems, such as leaving child window's softkeys around when child is closed and flickering softkeys when child is opened. Added a check to QWidget::activateWindow to avoid calling setFocusSafely for already focused windows. Task-number: QTBUG-18409 Reviewed-by: Sami Merila Reviewed-by: axis
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-03-311-10/+42
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/declarative/example-slideswitch.qdoc doc/src/development/qmake-manual.qdoc doc/src/snippets/code/doc_src_qmake-manual.pro doc/src/snippets/code/doc_src_qtscript.qdoc src/corelib/animation/qabstractanimation.cpp src/s60installs/bwins/QtOpenGLu.def src/s60installs/eabi/QtOpenGLu.def src/s60installs/eabi/QtOpenVGu.def tests/auto/qdir/qdir.pro tests/auto/qsslsocket/tst_qsslsocket.cpp tools/qdoc3/doc/qdoc-manual.qdocconf
| * Show softkeys when opening a dialog that has a fullscreen parent.Miikka Heikkinen2011-03-281-10/+34
| | | | | | | | | | | | | | | | Now shows the CBA for each window that defines softkeys even if topmost parent is fullscreen. Task-number: QTBUG-4953 Reviewed-by: Sami Merila
| * Call FixNativeOrientation on Symbian for certain fullscreen qml views.Laszlo Agocs2011-03-241-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For fullscreen QDeclarativeViews that lock their orientation to the native orientation of the device an additional performance gain can be achieved by calling FixNativeOrientation on the underlying RWindow. Such apps will either work in a single orientation only, or they will handle rotation themselves, by using QPainter transformations and opting out from the standard Avkon auto-rotation. In any of these cases there is no need for the lower level layers of the system to handle graphics surface rotation, the app is "fixed" to the native orientation from their point of view, therefore it is safe to call FixNativeOrientation(). Task-number: QTBUG-17742 Reviewed-by: Jason Barron
* | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2011-03-191-3/+7
|\ \ | |/
| * Add flag for forcibly propagating backing store alpha to framebufferGareth Stockwell2011-03-181-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the following rules applies to the creation and blitting of the Symbian raster backing store: 1. Creation of backing store with an alpha channel: Backing store has an alpha channel only if !QWidget::isOpaque. 2. Pre-filling of backing store prior to paint loop: Backing store is filled with transparent pixels if !QWidget::isOpaque. 3. Blitting of backing store: CGraphicsContext::EDrawModeWriteAlpha is used (meaning that backing store alpha values are propagated into the frame buffer), if QWidget::isOpaque. In order for the direct camera viewfinder to be visible on DSA devices, alpha=0 must be written into the framebuffer in the region where the viewfinder will be displayed. This requires a backing store with an alpha channel (1), use of CGraphicsContext::EDrawModeWriteAlpha (3), but not pre-filling of the entire backing store (2). This patch adds a new enum value, QWExtra::BlitWriteAlpha, which can be used by camera backends to achieve the desired behaviour. Task-number: QTMOBILITY-1278 Reviewed-by: Jani Hautakangas
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Thiago Macieira2011-03-111-11/+36
|\ \ | |/ | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def
| * Don't use EGL surfaces for translucency with 32MB GPU chip.Jani Hautakangas2011-03-101-6/+9
| | | | | | | | | | | | | | | | | | | | | | Add dynamic GPU chip detection on Symbian to decide if translucent EGL surfaces can be used. With 32MB GPU memory there is not enough memory to create for example transparent video overlay widgets and that's why hw surfaces must not be used. Task-number: QTBUG-18024 Reviewed-by: Jason Barron
| * Multiple screen support for Symbian in QDeskopWidget.Laszlo Agocs2011-03-091-5/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using TV-out, the TV display can be used as an independent screen. By default the content shown there is a clone of the device screen, however from now on parenting a widget to QDesktopWidget::screen(1) and calling show() will turn off cloning and have the widget shown instead. screenCount() and the screenCountChanged signal can be used to detect the availability of the secondary display, just like on other platforms. Task-number: QT-830 Reviewed-by: Sami Merila Reviewed-by: Jani Hautakangas
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-02-171-1/+13
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/symbian/symbian_building.prf mkspecs/symbian-gcce/qmake.conf src/corelib/global/qnamespace.h src/corelib/global/qnamespace.qdoc src/plugins/plugins.pro tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp tools/designer/src/components/signalsloteditor/signalslot_utils.cpp tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
| * Worked around a SC issue in S60 3.x vs 5.0 versions.axis2011-02-141-1/+13
| | | | | | | | | | Task: QTBUG-16578 RevBy: Gareth Stockwell
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-02-101-9/+28
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/development/qmake-manual.qdoc mkspecs/symbian-gcce/qmake.conf qmake/project.cpp src/corelib/global/qnamespace.qdoc src/declarative/graphicsitems/qdeclarativetext.cpp src/gui/text/qtextdocumentlayout.cpp src/gui/text/qtextdocumentlayout_p.h tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp tests/auto/networkselftest/networkselftest.pro tests/auto/qscriptengine/tst_qscriptengine.cpp tools/designer/src/components/signalsloteditor/signalslot_utils.cpp tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt-html-templates.qdocconf tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf tools/qdoc3/test/qt.qdocconf tools/qdoc3/test/qt_ja_JP.qdocconf tools/qdoc3/test/qt_zh_CN.qdocconf
| * Fix native child window Symbian decoration handling.Jani Hautakangas2011-02-061-9/+15
| | | | | | | | | | | | | | | | Resizing native child window like QVideoWidget caused S60 cba and status pane to appear. Task-number: QTBUG-17040 Reviewed-by: Gareth Stockwell