Bug 265447 - Can't input accents in words with dead keys
Summary: Can't input accents in words with dead keys
Status: RESOLVED UPSTREAM
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: 4.5.2
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-04 19:59 UTC by Ricardo Graça
Modified: 2011-02-13 10:22 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ricardo Graça 2011-02-04 19:59:40 UTC
Version:           4.5.2 (using KDE 4.5.5) 
OS:                Linux

When trying to insert an accent using the dead keys, the accent appears immediately instead of waiting for the next keystroke. My system is correctly configured because every other program I use works as expected.

In summary, instead of ã I get ~a.

Reproducible: Always

Steps to Reproduce:
With a non-english keyboard and locale settings try to accent any letter by pressing an accent key (~, ^, ' or `) and then a letter.

Actual Results:  
~a, 'o, `a

Expected Results:  
ã, ó, á
Comment 1 Jack 2011-02-04 23:47:11 UTC
With a US English keyboard set to international layout, this works fine for me.  
ã, ó, á.
Can you confirm it works for you in other KDE programs?
Comment 2 mnaugendre 2011-02-08 00:34:13 UTC
I have the same problem with all the KDE programs I use : KMyMoney but also Digikam and Kate.
On the contrary, Gedit works fine.
Comment 3 Alvaro Soliverez 2011-02-08 00:43:14 UTC
Please check your keyboard layout settings for KDE. You can do that using Systemsettings or the application provided by your distro for KDE settings.
Comment 4 Ricardo Graça 2011-02-09 18:10:45 UTC
I can confirm that all other KDE apps work as expected. Tested in Kate, all the Kontact programs, Amarok, Digikam, Konsole and Dolphin. Should I continue? The only other program that has the same problem is Scribus 1.3.3.14.
In system settings -> input devices, I have the keyboard set to Generic | Generic 105-key (intl) PC. My xorg.conf doesn't have an entry for keyboard. Language is correctly set to my language (portuguese).

For some reason, it started working all of the sudden. This morning I tried typing an accentuated word and it failed, and now it is working as expected. The only difference I can think of is that I opened a bunch of programs to test, and then tried making a new KMyMoney file (which also worked fine).
Comment 5 Ricardo Graça 2011-02-09 18:20:50 UTC
I don't like declaring something as solved without figuring out what was going on, but I'll assume it was just some misconfiguration on my part, or a problem in the file I was working on, since it was imported from gnucash.
Comment 6 Ricardo Graça 2011-02-11 12:04:56 UTC
Today I fired up KMyMoney again and the problem was back. I figured out how to "solve" it, which may indicate where the problem might be. If, on a new session after a reboot, I open KMyMoney I get the problem mentioned before. If I go to the configure KDE language applet in the configuration menu, even without doing any changes, and then go back to KMyMoney, the dead keys work again.
Comment 7 Alvaro Soliverez 2011-02-11 12:16:06 UTC
File a bug on your distro about KDE settings compliance. There's nothing we can do from a KMyMoney perspective.
Comment 8 Ricardo Graça 2011-02-11 12:19:14 UTC
Scratch my last comment. I don't get it. Sometimes the accents work, sometimes they don't. If in a new transaction name I start typing "é" it works, but if I try to input another accent it prints the accent directly like so "é'". It seems to be related to vowels only, although I can't find a pattern. Sometimes if I try to accent a consonant sometimes it works, sometimes the resulting character doesn't appear at all, i.e. I press the accent key, press a consonant key and nothing appears. The works/doesn't work part seems to be related to the position in the input box or the position of the accent in the word, it's hard to see a pattern.
Comment 9 Alvaro Soliverez 2011-02-11 13:44:04 UTC
As I said, this is a KDE configuration problem. Please file a bug on your distro as there is nothing we can do.
Comment 10 Thomas Baumgart 2011-02-11 17:18:42 UTC
I am not 100% sure if this is an upstream problem. I don't see it fail in the account selection combo box whereas in the payee it fails.

It seems that the failure only happens when the completion box is visible. I don't see it fail when the completion box is not there.
Comment 11 Ricardo Graça 2011-02-12 17:20:52 UTC
I also don't think this is an upstream problem. I can confirm that it's only the payee field that has problems. Trying to type two consecutive accented e letters, like so: éé always fails. Probably related to the completion box as Thomas suggested, since the box only pops up after the first é is input in my case. After the completion box is visible it's not possible to input accents anymore, so I'm 99,99% sure this is a problem in the completion box lookup function or something like that.

NOTE: In order to reproduce this bug you must have some payee already saved with the accent you're trying to test in the name, otherwise the completion box never pops up and all works fine.

PS: Now something more serious is happening. If, in the category field, I type an accent that would pop up the completion box, the program crashes. I can file another separate bug report for that, but it's probably related to this same issue, so if the result would be the bug closed as Resolved -> Upstream I won't even bother.
Comment 12 Cristian Oneț 2011-02-13 10:22:02 UTC
(In reply to comment #11)
> I also don't think this is an upstream problem. I can confirm that it's only
> the payee field that has problems. Trying to type two consecutive accented e
> letters, like so: éé always fails. Probably related to the completion box as
> Thomas suggested, since the box only pops up after the first é is input in my
> case. After the completion box is visible it's not possible to input accents
> anymore, so I'm 99,99% sure this is a problem in the completion box lookup
> function or something like that.

I beg to differ, if this happens only in the payee completion combo then it's definitely an upstream problem since the payee completion combo is a "native" Qt combobox untempered by us :). On the other hand the categories combo is a "hand made" widget by us.

 
> NOTE: In order to reproduce this bug you must have some payee already saved
> with the accent you're trying to test in the name, otherwise the completion box
> never pops up and all works fine.
> 
> PS: Now something more serious is happening. If, in the category field, I type
> an accent that would pop up the completion box, the program crashes. I can file
> another separate bug report for that, but it's probably related to this same
> issue, so if the result would be the bug closed as Resolved -> Upstream I won't
> even bother.

So if you have a problem with the "hand made" widget please file a BUG, it won't be rejected, I promise but the payee combo is a plain Qt combo and frankly I'm pretty tired of debugging Qt code. You could try unchecking "Match names from start" in the settings to see if your problem is caused by the one small customization we have in the payees combo (BTW: we have that one to work around the lack of a feature in the QtCompleter).