summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qsoftkeymanager_s60.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-04-211-0/+2
|\ | | | | | | | | | | | | Conflicts: src/openvg/qpaintengine_vg.cpp src/script/bridge/qscriptqobject_p.h tests/auto/bic/tst_bic.cpp
| * Delay creation of S60 screen furniture.Jason Barron2010-04-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the S60 screen furniture (Status Pane and CBA) was being constructed when QApplication was constructed. This meant that if you never created a widget, you would still get those app panes which is not what we want. This patch avoids constructing these panes in QApplication, and manually creates them later when the first window is shown in a state where they would be needed. Reviewed-by: Janne Anttila Reviewed-by: mread
* | build fix for S60Thierry Bastian2010-04-131-1/+1
| |
* | Improve handling of QAction in soft key managerThierry Bastian2010-04-131-2/+3
|/ | | | It also reduces QActionPrivate by 16 bytes.
* Generate triggered signal even the action launches menu in Symbian.Janne Anttila2010-04-091-8/+8
| | | | | | | | | | | Triggered signal is useful for detecting native 'Options' menu launches in Symbian. QMenu::aboutToShow event is currently also not generated, but that is part of another bug report. And QMenu::aboutToShow would not even be generated for 'Options' menu itself but only for its sub/cascade menus. Task-number: QTBUG-9669 Reviewed-by: Sami Merila
* Fixed focus and window activation events on Symbian when opening menu.Janne Anttila2010-04-081-3/+16
| | | | | | | | | | | | | | | | | | As described in QTBUG-8698, Qt for Symbian has been generating incorrect focus and window activation events. This has happened since launching menu from QSoftkeyManager with TryDisplayMenuBarL, invokes eventually QSymbianControl::FocusChanged. But when the FocusChanged is called menu being launched is not yet set to visible, meaning that IsDisplayingMenuOrDialog returns false. Because there is no way in platform to detect that menu is being launhced, the fix is to add a new flag QS60Data, which can be used to detect if FocusChanged event is received due to the fact that menu is being constructed/launched. Task-number: QTBUG-8698 * Fixes issues 2, 3 and 4 Reviewed-by: Sami Merila
* Fixed modal dialog not to have automatic "Exit" right softkey in S60.Janne Anttila2010-04-061-11/+2
| | | | | | | | | | | During softkey refactoring this piece of code get changes, but the changed code did not work correctly if window had no softkey actions. Switched back to old way where softkey source is stored to variable, and windowType is asked from stored variable. If softkey source is dialog or popup, "Exit" is not added automatically to RSK. Task-number: QT-2203 Reviewed-by: Sami Merila
* Fixed S60 softkey implementation to use popup/modal dialog softkeys.Janne Anttila2010-03-231-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously softkey implementation assumed that source for softkey actions is focused widget or activewindow if there is no focused widget. Since for example pop-up menu does not take focus immediately in touch enabled devices, the underlying widget softkeys were visible and usable when menu was open. This lead to problem that underlying widget could be interacted via softkeys when popup menu was open. For example as reported in QTBUG-8688, it was possible to close the underlying filedialog from which the currently active context menu was launched. It was also possible to open "Options" menu of underlying widget when context menu was open, leading to situation where several context menus could be launched via "Actions" item of "Options" menu. This was reported as an issue: QTBUG-6167 In addition when user started navigating in context menu via keypad, the menu got focus and softkeys changed to partially correct. Only partially correct, since context menu "Select" action and "Options" action had same priority and both associated to LSK. In addition the context menu action "Cancel" associated to RSK was set to invisible, meaning that it was also disabled and appeared in sofkeys as dimmed. All of these issues were fixed by making making the popup and modal dialogs highest priority softkey source. In case the focused widget is inside popup or modal dialog it is being used as an initial softkey source. In addition the softkeys created with QSoftKeyManager::createAction or QSoftKeyManager::createKeyedAction are now by default invisible i.e. not visible in context menu and have special property set to make them still normally enabled in softkeys. Task-number: QTBUG-6167 Task-number: QTBUG-8688 Task-number: QTBUG-9144 Reviewed-by: Sami Merila
* Reduced S60 softkey flickering caused by softkey image support.Janne Anttila2010-03-031-3/+10
| | | | | | | | EikSoftkeyImage::SetLabel call seems to clear and redraw the softkeys every time when called. This commit removes the unnecessary calls to the method if given CBA is already in text mode. Reviewed-By: Sami Merila
* Re-applied a fix which get lost during softkey refactoring.Janne Anttila2010-03-021-1/+6
| | | | | | | | See original commit (b461da1040c32d6690870290d6716a3b5cb7e9e9) for more information. Task-number: QTBUG-6220 Reviewed-By: TrustMe
* Added fullscreen support to softkeys in Symbian.Janne Anttila2010-03-011-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit enables the following two features: 1. Developer can make softkeys visible in fullscreen widget by setting the Qt::WindowSoftkeysVisibleHint window flag. This flag implememts intermediate mode for maximized and fullscreen modes. In maximized mode both statuspane and softkeys are visible, in fullscreen mode with WindowSoftkeysVisibleHint flag, only the softkeys are visible and in normal fullscreen mode both statuspane and softkeys are invisible. This feature was requested by QTBUG-5171. 2. Developer can make softkeys to respond to the key events even the softkeys are invisible. This means that when widget with Qt::WindowSoftkeysRespondHint window flag is shown in fullsreen, the softkey HW key events are routed to invisible softkeys and softkeys trigger the action associated to pressed softkey button. If the flag is not set, the key event will be passed to application/focused widget normally and softkey actions are not triggered. This feature was requested in QTBUG-4564. Both new flags are by default off. In addition, the softkey example is updated to demonstrate the new window flags. The commit also contains some code style fixes applied by my editor automatically to changed files. Task-number: QTBUG-5171 Task-number: QTBUG-4564 Reviewed-by: Jason Barron
* Fix to S60 softkeys when no active Qt window or native widget is shown.Janne Anttila2010-02-121-9/+7
| | | | | | | | | | | | | | | | | | | Softkeys need to be updated also when Qt activewindow is set to NULL, this is needed that usecase where last Qt widget is closed works correctly. I.e. closed widget softkeys has to be removed, and replaced by default "Exit" softkey. Earlier only window activation or widget focusIn event caused softkey update. In addition IsDisplayingMenuOrDialog does not work correctly under all circumstances. Sometimes when menu is being launched the Qt gets focusChanged event before the menu is actually shown, but menu CBA is already created. This is fixed by checking that we update CBA only when AppUi CB is the current one. This assumption works as long as Qt uses only the CBA created by S60 application framwork and does not create other CEikButtonGroupContainer instances. Task-number: QTBUG-6115 Reviewed-by: Sami Merila
* Fix to S60 softkey pressed down image.Janne Anttila2010-02-051-11/+8
| | | | | | | | | | | On Symbian the icons which are passed to softkeys, i.e. to actions with softkey role, need to use pixmap alpha channel instead of mask. Otherwise S60 CBA framework fails to create 50% transparent pressed down mask for softkey icon. Task-number: QTBUG-7314 Review-By: Sami Merila
* Initial support for S60 softkey icons.Janne Anttila2010-02-041-24/+65
| | | | | | | | | | | | | | | The logic for resolving the icon size in landscape mode for S60 5.0 (5800XM) is somewhat fragile, but better way is not yet know. Also the 50% transparent mask what CBA implementation tries to create for pressed down CB Abuttons fails for some reason. When button is pressed down there are drawing artifacts in softkey images. These issues will be tried to resolve with later commits Task-number: QTBUG-7314 Review-By: Sami Merila
* S60 softkey refactoring (support for merging, priorities and menus)Janne Anttila2010-02-031-0/+366
Implemented features: Softkey Merging: Widget can set only one softkey and set flag that rest of the softkeys shall be taken from parent. Priority Handling: If multiple sokftkeys with same role are set, the highest priority action gets displayed. Custom Softkey Menu: By setting QMenu to QAction and assigning a softkey role for that action, the native menubar will be displayed when sofkey is clicked. Softkey Image: Initial code for implementing sofkey image support, the final implementation is still pending legal acceptance to use eiksoftkeyimage.h header file which is under EPL license. Task-number: QTBUG-7315 Review-By: Sami Merila Review-By: Jason Barron