summaryrefslogtreecommitdiffstats
path: root/src/gui/inputmethod/qcoefepinputcontext_p.h
Commit message (Collapse)AuthorAgeFilesLines
* Update year in Nokia copyright messages.Jason McDonald2012-01-111-1/+1
| | | | | | | | | Simple search and replace. This commit doesn't touch 3rd-party files, nor translations (where the change is not so simple and will be handled in a separate commit). Change-Id: I4e48513b8078a44a8cd272326685b25338890148 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* New API to set AVKON flag to inputcontext in Qt/Symbian.Satyam Bandarapu2011-11-251-0/+1
| | | | | | | | | | This API is to pass any AVKON FEP flag to QCoeFepInputContext. Implemented as an exported private API, which is available only in Qt/Symbian. If latin keyboard flag is passed to this API and editor is Email/Url, virtual keyboard launches always with latin characters regardless of input language. Reviewed by: Sami Merila
* Surviving out of memory in Qt Quick appmread2011-11-211-0/+2
| | | | | | | | | | | | | | | | | The QtQuickPlayground app contains a version of samegame which allow the user to edit the code. By setting the ball size to 8, the app can run out of memory. This leaves it in a pretty bad state. But apps on Symbian shouldn't crash due to OOM and should allow some operation. This change fixes the immediate OOM crashes in declarative, gui and corelib. It shows warning dialogs which explain what has gone wrong and leaves the app in a state that can be exited cleanly from the Symbian task list. Task-number: QT-5319 Reviewed-by: Shane Kearns Reviewed-by: Gareth Stockwell Reviewed-by: Martin Jones
* Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Liang Qi2011-10-251-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qeventdispatcher_symbian.cpp src/declarative/qml/qdeclarativetypeloader.cpp src/imports/gestures/gestures.pro src/imports/particles/particles.pro src/opengl/qgl.cpp src/opengl/qgl_p.h src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def tests/auto/declarative/qdeclarativescriptdebugging/qdeclarativescriptdebugging.pro tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro tests/auto/qaudioinput/qaudioinput.pro tests/auto/qaudiooutput/qaudiooutput.pro tests/auto/qchar/qchar.pro tests/auto/qclipboard/test/test.pro tests/auto/qsound/qsound.pro
| * Accepting predicted text using hardware keyboard replaces unwanted partSami Merila2011-10-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current implementation of Symbian input context assumes that predicted word replacement happens so that the original typed text is at the end of the surrounded text. The logic fails, if to-be-predicted text is in the middle of, or in the beginning of another, already accepted word. As a fix, input context need to store the original cursor position, when reset() was called (this happens when word selection list appears). Input context is already storing a copy of a preedit string in this situation. Then, when word replacement happens, this stored cursor position is used instead of current cursor position (the native side might temporarily move the cursor to the end when word selection list opens or closes) to replace the typed word with one selected from suggested word list. Stored cursor position is dismissed immediately after used, or if cached preedit string is dismissed. Task-number: QTBUG-22147 Reviewed-by: Miikka Heikkinen
* | New focusitem is not connected to the translate slot in splitviewSami Merila2011-09-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If user changes focus from one item to a new one while the splitview keyboard is open, the newly focused item is not connected to the translate() slot. Thus, the item will not be kept "automatically" visible above the keyboard when cursor position changes. QCoeFepInputContext now holds a pointer to the last focus item and disconnects the previous focus item from slot when new focus item is set. Ensuring the visibility of the focus item needs to be done asynchronously after reset() has been called from graphics scene, to ensure that new focus item has been set. The translation rules have been tweaked to support translation to both directions (up|down). Previous implementation worked properly only for upwards translation (new cursor position was assumed to be lower than the existing one). Task-number: QTBUG-21611 Reviewed-by: Miikka Heikkinen
* | Symbian: Added copy-paste functionality to FEP input contextMiikka Heikkinen2011-09-211-1/+49
|/ | | | | | | | | | | | | The support for copy-paste functionality in FEP was initially submitted as merge request #1151, though that only provided support for basic Qt edit widgets. I modified the code so that QML edit elements are also supported, as well as any other editor that provides the required "copy", "cut", and "paste" slots, and "canPaste" property. A number of other minor fixes were also done to the original merge request, as well as the removal of S60 version plugin elements. Task-number: QTBUG-20921 Reviewed-by: Sami Merila
* Exact word bubble doesn't disappear when screen is tapped (fix part 2)Sami Merila2011-08-301-0/+1
| | | | | | | | | | | | | | | | | Prevent syncing with native side, if input capability changes are pending. Native side seems to be rather touchy about extra events, and might crash if syncing is requested while handling a capability change is on-going. Additionally, only cancel the transaction once. Otherwise cancellation might lead into loop (since we sync the state with native side) that eventually causes the application to crash. Task-number: QTBUG-20919 Reviewed-by: Miikka Heikkinen (cherry picked from commit b186288cbf796be662f86ae4d5c70e39ba6afb67) Reapplied after bad v4.7.4 merge
* Backporting fix for QTBUG-18716Tomi Vihria2011-07-111-0/+1
| | | | | | | | | | | | Provide internal API to avoid automatic translation of input widget There will be cases when client will want to disable splitview automatic view translation, so that keyboard is just brought on top of the application and no other actions happen. There will be no new public Qt GUI API to cover the cases (the public API will come from QML Components), but the implementation is done with new private API. Task-number: QTBUG-20171 Reviewed-by: Honglei Zhang
* Support partial input modeSami Merila2011-07-051-0/+1
| | | | | | | | | Connect the internal private API to the QApplication public attribute. This allows the enabling/disabling of the splitview functionality from apps without any hacks. Task-number: QTBUG-16572 Reviewed-by: Tomi Vihria
* Predictive text is not committed when writing in a QLineEditSami Merila2011-05-261-0/+1
| | | | | | | | | | | | | | QCoeFepInputContext is very aggressive committing its preedit string. When AVKON FEP opens any of its subwindows, it steals the focus from editable widget, which causes preedit string to get committed. This makes the input context almost unusable with T9 word prediction. As it is rather difficult to prevent focus loss in these types of use scenarios, replace the committed string with user selected word when suggested word list is closed. Task-number: QTBUG-15031 Reviewed-by: Miikka Heikkinen
* 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
* Support partial input modeSami Merila2011-03-081-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | By default Symbian devices use fullscreen editing mode. However, in the latest AVKON releases a partial virtual keyboard is supported. Support the non-fullscreen editing mode from QCoeFepInputContext. The non-fullscreen editing mode is only supported for Symbian^3 and only for graphicsview-based solutions (QGraphicsView, QGraphicsWebView, QDeclarativeView, ...). When native side indicates that the keyboard opens, the graphicsview is possibly translated so that the text cursor position is ensured to be visible. When keyboard closes, the translation is removed. If the graphicsview contains vertical scrollbar, the whole view is resized to the area above the keyboard, since translating it, would move the upper part of the scrollbar out of screen area. There is a new exported private API to control when partial vkb is used. Task-number: QTBUG-16572 Reviewed-by: axis Reviewed-by: Mrudul Pendharkar Reviewed-by: Laszlo Agocs
* Update copyright year to 2011.Jason McDonald2011-01-101-1/+1
| | | | Reviewed-by: Trust Me
* Fixed a bug where passwords would not be committed when confirming.axis2010-09-021-0/+1
| | | | | | | | | | | | | | | The bug happened when you were typing a password and pressing "Done" softkey very quickly. Because of the temporarily visible character, the widget would not contain the full string at the time of softkey triggering, only the *** part. Fixed by having the input context listen for softkey (command) events and commit the temporary character before the softkey action is triggered. AutoTest: Included Task: QTBUG-12949 RevBy: Miikka Heikkinen
* Cleaned up position tracking in the Symbian input methods.axis2010-09-011-4/+6
| | | | | | | | | | | | | | | | | | | | | This fixed a case where using password mode would lead to Qt believing that the cursor was one step to the left of where it really was. This would have the effect of replacing the last character instead of appending to it, and even crashing if the cursor was all the way to the left. The code is also much cleaner this way, but it meant that QTBUG-9867 had to be solved differently this time. We do this by assuming that and empty FEP update means "erase last character", which seems to work well in practice. Also added a long overdue autotest for the FEP input methods. Most tests pass, but some don't, which I will try to fix later. Task: QTBUG-9867 Task: QTBUG-12949 RevBy: Miikka Heikkinen AutoTest: Included
* Revert "Long-press shortcuts for symbols on QWERTY keyboard don't work"axis2010-09-011-1/+0
| | | | | | | | | This reverts commit 05eacd9ad40f8adb5aaa12a8b90113a73b43f642. Conflicts: src/gui/inputmethod/qcoefepinputcontext_p.h src/gui/inputmethod/qcoefepinputcontext_s60.cpp
* Fixed a bug where text would disappear in password fields.axis2010-02-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | There were two bugs: - First, we need to avoid triggering the CancelTransaction call when committing the temporary preedit text, because otherwise FEP starts sending us spurious backspace events. Since the "triggeredBySymbian" variable is no longer descriptive for that use case, I renamed it in the process and that changed the negation of the flag. Notice the absense of a change inside commitTemporaryPreeditString(). That is because we want that one to avoid the transaction cancel, and therefore wee keep the old negation. - Second, m_cursorPos needs to be kept in sync with the widget state when we send the temporary preedit string, because the input context cannot separate between types of preedit text when it hits the first block in commitCurrentString() (types being either our temporary text, or FEP's text), and we have to avoid the longPress code path. RevBy: Janne Koskinen
* Removed useless member variable and replaced with var on the stack.axis2010-02-051-1/+0
| | | | RevBy: Trust me
* Fixed indentation.axis2010-02-051-1/+1
|
* Made characters in a password field briefly visible while typing.axis2010-01-251-0/+7
| | | | | | | | | | | This was done by intercepting key events with text in them, and temporarily submit them as preedit text instead of real input text. Currently it does not work in WebKit, but that is because WebKit hides preedit text as well, which is a bug of its own. RevBy: Simon Hausmann Autotest: Manual testing went fine
* Update copyright year to 2010Jason McDonald2010-01-061-1/+1
| | | | Reviewed-by: Trust Me
* Merge commit upstream/4.6 into oslo-staging-2/4.6Olivier Goffart2009-11-131-1/+1
|\
| * Fix typo in license headerAlessandro Portale2009-11-121-1/+1
| | | | | | | | | | | | The word 'module' was missing. Reviewed-By: TrustMe
* | Removed unused variable.axis2009-11-121-2/+1
| | | | | | | | RevBy: Trust me
* | Add edit menu support for phones with a 'pencil' key.Jason Barron2009-11-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The native FEP handles the 'pencil' key on some platforms by opening an edit menu on the screen that contains things like 'Insert Symbol' and 'Writing Language' for text input widgets. This was previously not working in the Qt input method implementation because in order for the FEP system to open the menu, it must be able to access the menu bar (CBA). This is done my using the object provider mechanism (MOP) and an implementation of the MopNext() function was missing. Adding this and also setting the AppUi as the MOP parent for top level widgets allowed the FEP framework to find it's way to the menubar and thus open a menu. Task-number: QTBUG-5606 Reviewed-by: axis <qt-info@nokia.com> Reviewed-by: mread <qt-info@nokia.com>
* | Long-press shortcuts for symbols on QWERTY keyboard don't workJouni Hiltunen2009-11-101-0/+2
|/ | | | | | | | | | | | | | Qt key event was not handled properly in the case of long key press. With long key press, QCoeFepInputContext::commitCurrentString gets called 3 times("q", "", "1"). (Normal key press is causing one call). This is how aknfep works, so commitCurrentString was modified to replace first character if long key press event detected. E.g. "q" is replaced with "1". qlinecontrol modified to keep cursor position correct. Signed-off-by: axis <qt-info@nokia.com>
* Unexported a class that doesn't need to be exported.axis2009-11-041-4/+4
| | | | RevBy: Iain
* Fixed input panel detection on post-5.0 S60 SDKs.axis2009-11-041-0/+1
| | | | | Task: QT-2418 RevBy: Shane Kearns
* Update license headers again.Jason McDonald2009-09-091-4/+4
| | | | Reviewed-by: Trust Me
* Update tech preview license header for files that are new in 4.6.Jason McDonald2009-08-311-13/+13
| | | | Reviewed-by: Trust Me
* Changed names and URLs to reflect name change.axis2009-08-191-1/+1
| | | | RevBy: Trust me
* Update license headers according to commit 858c70f768e.axis2009-08-061-3/+3
| | | | RevBy: Trust me
* Replaced $MODULE$ with hardcoded module names.axis2009-08-061-1/+1
| | | | RevBy: Trust me
* Squashed commit of the topic/exceptions branch.Harald Fernengel2009-08-031-0/+1
| | | | | Contains some smaller fixes and renaming of macros. Looks big, but isn't scary at all ;)
* Fixed a bug where the input panel would not show up.axis2009-07-131-0/+5
| | | | | | | | | | | | | Task: 257214 The problem happened if a user called setFocus() on an input capable widget, and then tried to open the input panel by sending an event. Since the call to InputCapabilitiesChanged is asynchronous, Symbian would not yet know about the updated state, and the event would be lost. Now we generate our own asynchronous event, and ensure that it is synchronous in the cases where it's needed.
* Fixed a bug where input capabilities would not be updated.axis2009-07-131-1/+1
| | | | | | | | Task: 257215 The capabilities would not be updated if the IM hints were the same. We still try to avoid that when we can, but now we update the capabilities if we really have to.
* Fixed the mouse handler of FEP when in inline edit mode.axis2009-06-101-1/+1
| | | | | | We now commit the text if the mouse handler is invoked. This prevents the case where the VK cannot be brought up because the widget is the only focusable widget and is stuck in inline edit mode.
* Fixed incorrect headers.axis2009-06-031-1/+31
|
* Fixed the translation from S60 text format to Qt text format in FEP.axis2009-05-121-0/+1
| | | | | | | | | | This was done by making sure that the format code is called from both start and update, because S60 will often return nothing in start, but then later on return something in update. In addition, we fall back on our own format if S60 does not give us anything. Currently it seems to give us a format only when using predictive text.
* Improved the handling of input method hints in S60.axis2009-05-061-0/+1
| | | | | Made it more robust, as well as added support for the new ImhDigitsOnly and ImhFormattedNumbers flags.
* Implemented support for input method hints in S60 FEP.axis2009-05-051-0/+3
|
* Made the S60 FEP use the new RequestSoftwareInputPanel events.axis2009-05-041-1/+0
| | | | RevBy: Trustme
* Long live Qt for S60!axis2009-04-241-0/+114