Bug 249527 - [Preferences] Cannot perform scrolling via keyboard in preference dialog
Summary: [Preferences] Cannot perform scrolling via keyboard in preference dialog
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.4.2   Edit
Assignee: Kim Horne CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 245366
Blocks:
  Show dependency tree
 
Reported: 2008-10-02 13:29 EDT by Paul Webster CLA
Modified: 2009-01-22 13:34 EST (History)
4 users (show)

See Also:
Mike_Wilson: pmc_approved+


Attachments
Cheap implementation for 3.4.2 ... SWT example with key filter (5.26 KB, text/plain)
2008-11-27 10:16 EST, Paul Webster CLA
no flags Details
Filtered Preference Dialog v01 (6.28 KB, patch)
2008-11-27 12:50 EST, Paul Webster CLA
no flags Details | Diff
Pref Dialog v02 (6.57 KB, text/plain)
2008-12-08 11:30 EST, Paul Webster CLA
no flags Details
Pref Dialog v03 (6.63 KB, patch)
2008-12-11 09:58 EST, Paul Webster CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Webster CLA 2008-10-02 13:29:17 EDT
+++ This bug was initially created as a clone of Bug #245366 +++

Created an attachment (id=111048)
Cannot scroll via KB in preference

Build ID: I20080617-2000

Steps To Reproduce:
1. Set up the High Contrast mode for Windows OS, by selecting the High Contrast settings in Control Panel -> Accessibility Options -> Display
2. Launch Eclipse, and open the preference dialog 
3. Navigate to General -> Appearance. You will find that, the right side content can not be displayed in one page, and a vertical scrollbar is shown up automatically. However, using keyboard only, you can not perform scrolling, thus you can not view the content hided in the bottom. 
4. Navigate to Run/Debug -> Launching page, you will find that both veritical and horizontal scroll bar are shown up. But, with keyboard only, you can not perform any scrolling actions.



More information:
Comment 1 Paul Webster CLA 2008-10-02 13:30:02 EDT
Consider a non-API work around for 3.4.2
PW
Comment 2 Paul Webster CLA 2008-10-02 15:37:36 EDT
Kim and I should have a conversation with Duong.
PW
Comment 3 Paul Webster CLA 2008-11-27 10:16:58 EST
Created attachment 118919 [details]
Cheap implementation for 3.4.2 ... SWT example with key filter

This is a potential solution for 3.4.2 (based on one of the SWT snippets).  Basically a key filter that honours a few SWT keys to "manually" move the ScrolledComposite, and becomes disabled on the first key event that doesn't look like ours.

PW
Comment 4 Paul Webster CLA 2008-11-27 12:50:03 EST
Created attachment 118936 [details]
Filtered Preference Dialog v01

This  is (potentially) the basic structure of key assisted scrolled composite.

Carolyn, what kind of events should we be watching here?  Should they only be traverse events and not keydown events?

Kim, why is nothing in the PreferencesDialog done in a dispose listener, only in close.  Is it fine when ESC is called and the dialog disappears?

PW
Comment 5 Kim Horne CLA 2008-11-28 14:20:47 EST
(In reply to comment #4)
>
> 
> Kim, why is nothing in the PreferencesDialog done in a dispose listener, only
> in close.  Is it fine when ESC is called and the dialog disappears?
>

This is where I fall back on the trusty "it was like that when I got here" line. 

Comment 6 Kim Horne CLA 2008-12-04 13:23:01 EST
This patch looks good to me.

(In reply to comment #4)
> Created an attachment (id=118936) [details]
> Filtered Preference Dialog v01
> 
> This  is (potentially) the basic structure of key assisted scrolled composite.
> 
> Carolyn, what kind of events should we be watching here?  Should they only be
> traverse events and not keydown events?
> 
> Kim, why is nothing in the PreferencesDialog done in a dispose listener, only
> in close.  Is it fine when ESC is called and the dialog disappears?
> 
> PW
> 

Comment 7 Raji Akella CLA 2008-12-04 14:40:33 EST
Requesting status.

Comment 8 Raji Akella CLA 2008-12-04 15:13:16 EST
Sorry.. I didn't see your comment #6 was today! Just wanted to see if we were going to get it in 3.4.2. Looks like it probably will.. thx

Comment 9 Paul Webster CLA 2008-12-04 15:14:04 EST
(In reply to comment #8)
> Sorry.. I didn't see your comment #6 was today! Just wanted to see if we were
> going to get it in 3.4.2. Looks like it probably will.. thx
> 

A little more investigation on my part and it should be a workaround for 3.4.2.  It should be in by next week's maintenance build.

Basically we're adding a second menu item to the preferences dropdown menu (accessible with CTRL+F10) that will allow movement in response to the 4 arrow keys + page up/page down.

PW
Comment 10 Paul Webster CLA 2008-12-08 11:30:50 EST
Created attachment 119805 [details]
Pref Dialog v02

This is a more refined patch.  It responds to up, down, left, right, page up, page down, home, and end.

It eats the key or traverse event when it deals with it.  Any key event that isn't dealt with puts us out of scrolling mode.

PW
Comment 11 Paul Webster CLA 2008-12-11 09:58:42 EST
Created attachment 120199 [details]
Pref Dialog v03

Same as v02 except adds a display==null and an isDisposed() check in the filter
PW
Comment 12 Paul Webster CLA 2008-12-11 09:59:31 EST
(In reply to comment #11)
> Created an attachment (id=120199) [details]
> Pref Dialog v03

Released to R3_4_maintenance for M20081212-0800
PW
Comment 13 Paul Webster CLA 2009-01-22 13:34:36 EST
in M20090121-1700
PW