### Eclipse Workspace Patch 1.0 #P org.eclipse.jface Index: src/org/eclipse/jface/viewers/CellEditor.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface/src/org/eclipse/jface/viewers/CellEditor.java,v retrieving revision 1.23 diff -u -r1.23 CellEditor.java --- src/org/eclipse/jface/viewers/CellEditor.java 8 May 2006 20:56:56 -0000 1.23 +++ src/org/eclipse/jface/viewers/CellEditor.java 24 Aug 2006 15:00:10 -0000 @@ -660,6 +660,11 @@ * @param keyEvent the key event */ protected void keyReleaseOccured(KeyEvent keyEvent) { + // Handle 'Insert' as if it was the 'Enter' key + if (keyEvent.keyCode == SWT.INSERT) { + keyEvent.character = '\r'; + } + if (keyEvent.character == '\u001b') { // Escape character fireCancelEditor(); } else if (keyEvent.character == '\r') { // Return key Index: src/org/eclipse/jface/viewers/ComboBoxCellEditor.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jface/src/org/eclipse/jface/viewers/ComboBoxCellEditor.java,v retrieving revision 1.19 diff -u -r1.19 ComboBoxCellEditor.java --- src/org/eclipse/jface/viewers/ComboBoxCellEditor.java 8 May 2006 20:56:57 -0000 1.19 +++ src/org/eclipse/jface/viewers/ComboBoxCellEditor.java 24 Aug 2006 15:00:10 -0000 @@ -282,7 +282,7 @@ protected void keyReleaseOccured(KeyEvent keyEvent) { if (keyEvent.character == '\u001b') { // Escape character fireCancelEditor(); - } else if (keyEvent.character == '\t') { // tab key + } else if (keyEvent.character == '\t' || keyEvent.keyCode == SWT.INSERT) { // tab key applyEditorValueAndDeactivate(); } } #P org.eclipse.ui.views Index: src/org/eclipse/ui/views/properties/PropertySheetViewer.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java,v retrieving revision 1.32 diff -u -r1.32 PropertySheetViewer.java --- src/org/eclipse/ui/views/properties/PropertySheetViewer.java 8 May 2006 20:53:18 -0000 1.32 +++ src/org/eclipse/ui/views/properties/PropertySheetViewer.java 24 Aug 2006 15:00:12 -0000 @@ -40,6 +40,8 @@ import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.TraverseEvent; +import org.eclipse.swt.events.TraverseListener; import org.eclipse.swt.events.TreeEvent; import org.eclipse.swt.events.TreeListener; import org.eclipse.swt.graphics.Image; @@ -804,8 +806,29 @@ } }); + // Prevent Wizard/Dialog 'default' buttons from executing + tree.addTraverseListener(new TraverseListener(){ + public void keyTraversed(TraverseEvent e) { + if (e.detail == SWT.TRAVERSE_RETURN && e.stateMask == SWT.NONE) { + TreeItem[] item = tree.getSelection(); + if (item.length > 0) + handleSelect(item[0]); + + // Inhibit other handlers + e.detail= SWT.TRAVERSE_NONE; + } + } + }); + // Refresh the tree when F5 pressed tree.addKeyListener(new KeyAdapter() { + public void keyPressed(KeyEvent e) { + if (e.keyCode == SWT.INSERT) { + TreeItem[] item = tree.getSelection(); + if (item.length > 0) + handleSelect(item[0]); + } + } public void keyReleased(KeyEvent e) { if (e.character == SWT.ESC) { deactivateCellEditor();