Comment 45 for bug 597825

Revision history for this message
In , Ehsan-mozilla (ehsan-mozilla) wrote :

Created attachment 358759
WIP 2

I've made great progress on this patch thanks for the ReactOS implementation of the UI state messages <http://www.google.com/codesearch/p?hl=en#w0bYSBcdNg8/reactos/dll/win32/user32/windows/defwnd.c&l=1608>.

Things kind of work correctly now. The initial UI doesn't show accelerators according to the OS settings, and pressing Alt makes them appear, and pressing Alt again makes them disappear.

One important thing which remains to be solved is showing the access keys by default when the window has been opened via keyboard. The code is in place -- I just don't know which Win32 API to call to figure out whether the last input message was a keyboard message or not (lastInputMsgKeyboard TODO). The ReactOS code <http://www.google.com/codesearch/p?hl=en#w0bYSBcdNg8/reactos/dll/win32/user32/windows/defwnd.c&l=1647> calls GetThreadDesktopInfo which seems to be a ReactOS specific kernel level API. Does anyone know of any Win32 API which I can use to retrieve the same information? (The odd thing is that logically this should not work, but when testing, I see that it's working all the time!)

Another thing which remains is handling all types of XUL frames (such as check boxes and labels), but that is mostly a matter of figuring out which frame classes implement them and handling the accesskey drawing code there. Pointers appreciated here!