| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
This reverts commit 05eacd9ad40f8adb5aaa12a8b90113a73b43f642.
Conflicts:
src/gui/inputmethod/qcoefepinputcontext_p.h
src/gui/inputmethod/qcoefepinputcontext_s60.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
RevBy: Trust me
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: Trust Me
|
|\ |
|
| |
| |
| |
| |
| |
| | |
The word 'module' was missing.
Reviewed-By: TrustMe
|
| |
| |
| |
| | |
RevBy: Trust me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
RevBy: Iain
|
|
|
|
|
| |
Task: QT-2418
RevBy: Shane Kearns
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
RevBy: Trust me
|
|
|
|
| |
RevBy: Trust me
|
|
|
|
| |
RevBy: Trust me
|
|
|
|
|
| |
Contains some smaller fixes and renaming of macros. Looks big,
but isn't scary at all ;)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Made it more robust, as well as added support for the new
ImhDigitsOnly and ImhFormattedNumbers flags.
|
| |
|
|
|
|
| |
RevBy: Trustme
|
|
|