Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 331650 - [menu] Duplicate mnemonic keys in Run menu
Summary: [menu] Duplicate mnemonic keys in Run menu
Status: RESOLVED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 4.0   Edit
Hardware: PC Windows 7
: P3 minor (vote)
Target Milestone: ---   Edit
Assignee: Pawel Piech CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-02 06:32 EST by Anirudh Sasikumar CLA
Modified: 2012-05-31 10:49 EDT (History)
4 users (show)

See Also:


Attachments
Screenshot of Run menu with mnemonics (24.12 KB, image/png)
2010-12-02 06:33 EST, Anirudh Sasikumar CLA
no flags Details
Patch with last proposed fix. (5.49 KB, patch)
2012-05-30 14:17 EDT, Pawel Piech CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Anirudh Sasikumar CLA 2010-12-02 06:32:23 EST
Build Identifier: 20100917-0705

The Run menu has conflicting mnemonic keys. Please see attached screenshot.

Reproducible: Always

Steps to Reproduce:
1. Start Eclipse
2. Press Alt + R to open the Run menu.
3. "L","F", etc. seem to be duplicated
Comment 1 Anirudh Sasikumar CLA 2010-12-02 06:33:03 EST
Created attachment 184339 [details]
Screenshot of Run menu with mnemonics
Comment 2 Anirudh Sasikumar CLA 2010-12-02 06:34:33 EST
Related Adobe Flash Builder bug - https://bugs.adobe.com/jira/browse/FB-27897
Comment 3 Pawel Piech CLA 2012-03-30 18:13:39 EDT
Committed fix:
http://git.eclipse.org/c/platform/eclipse.platform.debug.git/commit/?id=bd5cd1841d8caa62073eff08a0eab7fafcc0d0d9

There were more than 26 menu entries in the screenshots pointing to the problem.  So I think we have to get rid of some mnemonics in order to avoid conflicts.  In the fix I made the following re-alignment.  Other projects contributing actions to the menu should probably just avoid using mnemonics all-together.

Existing/New/Action Name

M    Resume
S    Suspend
T    Terminate
I    Step Into
O    Step Over
u    Step Return
L    Run to Line
F <> Use Step FIlters
R    Run
D    Debug
L P  Profile
Y    Profile History
F <> Profile As
P F  Provile Confi...
T <> Run History
S <> Run As
N    Run Configurations
H    Debug History
G <> Debug As
B C  Debug Configurations
A    Add Watchpoint
K G  Toggle Breakpoint
M E  Toggle Method Breapoint
L B  Toggle Line Breakpoint
W    Toggle Watchpoint
R K  Breakpoint Types
K S  Skip All Breakpoints
V    Remove All Breakpoints
E X  External tools
Comment 4 Pawel Piech CLA 2012-03-30 18:34:22 EDT
(In reply to comment #3)
> K S  Skip All Breakpoints

Missed one, it conflicts with Suspend.

http://git.eclipse.org/c/platform/eclipse.platform.debug.git/commit/?id=895fcfdf948e3c31a7bb2fc4aa2e1e6671d780e0
Comment 5 Pawel Piech CLA 2012-05-30 14:12:16 EDT
The fix was backed out due to Bug 331650.
Comment 6 Pawel Piech CLA 2012-05-30 14:14:08 EDT
(In reply to comment #5)
> The fix was backed out due to Bug 331650.
Ehm, make that Bug 380093.
Comment 7 Pawel Piech CLA 2012-05-30 14:17:25 EDT
Created attachment 216506 [details]
Patch with last proposed fix.

Patch with last proposed re-alignment from bug 380093.

M    <> Resume 
S       Suspend
T    <> Terminate
I    <> Step Into
<>   E  Disconnect
O    <> Step Over
U    <> Step Return
L    <> Run to Line
F    <> Use Step FIlters
R       Run
D       Debug
L    L  Profile Last Launched
Y       Profile History
F    F  Profile As
P       Provile Confi...
T       Run History
S       Run As
N       Run Configurations
H       Debug History
G       Debug As
B    C  Debug Configurations
A       Add Watchpoint
K    <> Toggle Breakpoint (ctrl+shift+b)
M       Toggle Method Breapoint
L    B  Toggle Line Breakpoint
W       Toggle Watchpoint
R    K  Breakpoint Types
K    <>  Skip All Breakpoints (ctrl+b)
V       Remove All Breakpoints
E    X  External tools

Left over:
J, K, O, Q, U, W, Z
Comment 8 Dani Megert CLA 2012-05-31 06:23:25 EDT
(In reply to comment #7)
> Created attachment 216506 [details] [diff]
> Patch with last proposed fix.
> 
> Patch with last proposed re-alignment from bug 380093.
> 
> M    <> Resume 
> S       Suspend
> T    <> Terminate
> I    <> Step Into
> <>   E  Disconnect
> O    <> Step Over
> U    <> Step Return
> L    <> Run to Line
> F    <> Use Step FIlters
> R       Run
> D       Debug
> L    L  Profile Last Launched
> Y       Profile History
> F    F  Profile As
> P       Provile Confi...
> T       Run History
> S       Run As
> N       Run Configurations
> H       Debug History
> G       Debug As
> B    C  Debug Configurations
> A       Add Watchpoint
> K    <> Toggle Breakpoint (ctrl+shift+b)
> M       Toggle Method Breapoint
> L    B  Toggle Line Breakpoint
> W       Toggle Watchpoint
> R    K  Breakpoint Types
> K    <>  Skip All Breakpoints (ctrl+b)
> V       Remove All Breakpoints
> E    X  External tools
> 
> Left over:
> J, K, O, Q, U, W, Z

As mentioned in bug 380093 comment 11, we must e.g. not move the accelerator for external tools to 'Disconnect'. Existing accelerators should only be changed deliberately and not just to get rid of some conflicts. As a last resort we either live with the collision or remove one of them.
Comment 9 Pawel Piech CLA 2012-05-31 09:24:03 EDT
(In reply to comment #8)

> As mentioned in bug 380093 comment 11, we must e.g. not move the accelerator
> for external tools to 'Disconnect'. Existing accelerators should only be
> changed deliberately and not just to get rid of some conflicts. As a last
> resort we either live with the collision or remove one of them.

I agree that users get used to the mnemonics in the same way that for example they get used to the placement of the toolbar.  Others may be used to Debug Configurations having a "B", etc.  To satisfy these users we shouldn't make any changes to the mnemonics (even duplicate ones) and mark this bug as wontfix.  The conclusion I draw from this is that if we don't want to inconvenience some users in order to satisfy others then we shouldn't make any UI changes such as this one, and I don't think that's reasonable.
Comment 10 Dani Megert CLA 2012-05-31 10:09:40 EDT
(In reply to comment #9)
> (In reply to comment #8)
> The conclusion I draw from this is that if we don't want to inconvenience > 
>some
> users in order to satisfy others then we shouldn't make any UI changes such 
>as
> this one, and I don't think that's reasonable.

If you stress "any", yes then that's not reasonable. But as said before, the change must be made very deliberate and one needs to be sure that it is better for the bigger part of the users. Like we did with the Debug toolbar in this release.
Comment 11 Pawel Piech CLA 2012-05-31 10:49:33 EDT
(In reply to comment #10)
> If you stress "any", yes then that's not reasonable. But as said before, the
> change must be made very deliberate and one needs to be sure that it is better
> for the bigger part of the users. Like we did with the Debug toolbar in this
> release.
Certainly.  The question whether a change is better is naturally subjective.  From my experience the culture of the platform project is to err on side of keeping things constant though I still can't predict on case by case basis what changes will be deemed better.  I personally don't care about this bug one way or another and would rather just put it to rest.  Marking as won't fix to err on the side of keeping things constant.