Closed
Bug 672697
Opened 13 years ago
Closed 13 years ago
Use nsTextEvent for rendering text coming from QInputMethodEvent.
Categories
(Core Graveyard :: Widget: Qt, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla8
People
(Reporter: romaxa, Assigned: romaxa)
Details
Attachments
(1 file)
4.87 KB,
patch
|
jbos
:
review+
|
Details | Diff | Splinter Review |
right now we are converting InputMethod text string into QKeyEvent, which is not very good. I think we should use nsTextEvent for QInputMethod
Assignee | ||
Comment 1•13 years ago
|
||
Assignee | ||
Updated•13 years ago
|
Attachment #547140 -
Flags: review? → review?(jeremias.bosch)
Comment 2•13 years ago
|
||
this will break plugin support for keyboard.
Comment 3•13 years ago
|
||
Comment on attachment 547140 [details] [diff] [review] Use nsTextEvent when QInputMethod event has non empty commit string Review of attachment 547140 [details] [diff] [review]: ----------------------------------------------------------------- As said, for going i.e. into flash or any other plugin we need to have keyevents. nsTextevents are not working with that.
Attachment #547140 -
Flags: review?(jeremias.bosch) → review-
Assignee | ||
Comment 4•13 years ago
|
||
> As said, for going i.e. into flash or any other plugin we need to have
> keyevents. nsTextevents are not working with that.
We don't have keyEvents in QInputMethod mode....
Also same text events (pure unicode string) could happen on another platform.
So I guess it is not good to convert Text events on widget side, when we have nsTextEvents...
I think it should be better to handle QInputMethod events as nsTextEvents, and do Text->Key conversion only where it is needed (X-plugins for example).
Assignee | ||
Comment 5•13 years ago
|
||
With current implementation we also don't have proper key events, also in some cases we are keeping only first character of "commitString" and killing the rest http://mxr.mozilla.org/mozilla-central/source/widget/src/qt/nsWindow.cpp#1593 so as result we are doing dark Magic instead of just sending Text as it is into DOM... For plugins we can do Text->XSym mapping right before sending event to desktop-plugin, for Maemo6 we can do quick hack and post QKey and QInputMethod - Events directly to plugin-process main loop: see https://bugzilla.mozilla.org/show_bug.cgi?id=672857
Assignee | ||
Comment 6•13 years ago
|
||
Comment on attachment 547140 [details] [diff] [review] Use nsTextEvent when QInputMethod event has non empty commit string So any other comments?
Attachment #547140 -
Flags: review- → review?(jeremias.bosch)
Comment 7•13 years ago
|
||
I got some strange (prefilled) text fields on websites - which i still need to compare with the same fennec version without the patch. Also selection of text and putting the courser in textfields seems to way more complicated than it used to be. Also here i need to compare versions. Basic Textinput seems to work. Error Correction and such needs still to be tested. It will take another 2-3 days in order to finish testcases.
Comment 8•13 years ago
|
||
Comment on attachment 547140 [details] [diff] [review] Use nsTextEvent when QInputMethod event has non empty commit string Review of attachment 547140 [details] [diff] [review]: ----------------------------------------------------------------- I tried with swipe keyboard and error correct provided through this. The issue is that the text (preedit and not commited text) is already commited to fennec. This cause that the preedited and not yet valid text does not get removed when the user select the correct word. You should correctly implement the preedit / commit states of nsTextEvent.
Attachment #547140 -
Flags: review?(jeremias.bosch) → review-
Comment 9•13 years ago
|
||
You may want to learn from https://bugzilla.mozilla.org/show_bug.cgi?id=583286 this does at least something (but it never worked well)
Assignee | ||
Comment 10•13 years ago
|
||
> I tried with swipe keyboard and error correct provided through this. The
> issue is that the text (preedit and not commited text) is already commited
> to fennec. This cause that the preedited and not yet valid text does not get
wait does it work with current implementation? I did not get any preedit stuff working with current implementation, so I don't see what I'm breaking here...
could you provide steps exactly how to reproduce case which I'm breaking?
Comment 11•13 years ago
|
||
Comment on attachment 547140 [details] [diff] [review] Use nsTextEvent when QInputMethod event has non empty commit string Review of attachment 547140 [details] [diff] [review]: ----------------------------------------------------------------- Actually after more testing I conclude that the code is fine. The issue is within swype not your code.
Attachment #547140 -
Flags: review- → review+
Assignee | ||
Updated•13 years ago
|
Keywords: checkin-needed
Assignee | ||
Comment 12•13 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/60617a76c65c
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Comment 13•13 years ago
|
||
Actually, this got pushed to mozilla-inbound, too. It'll make the merge fun. :(
Keywords: checkin-needed
Comment 14•13 years ago
|
||
http://hg.mozilla.org/integration/mozilla-inbound/rev/a59a63155ea8 to be precise
Comment 15•13 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/a59a63155ea8 hm, the merge didn't show anything special, should I be scared? Looking at the file in central, everything looks correct.
Target Milestone: --- → mozilla8
Assignee | ||
Comment 16•13 years ago
|
||
I think hg merge detect correctly changes which are the same...
Updated•8 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•