View | Details | Raw Unified | Return to bug 144098 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/jface/viewers/CellEditor.java (+5 lines)
Lines 660-665 Link Here
660
     * @param keyEvent the key event
660
     * @param keyEvent the key event
661
     */
661
     */
662
    protected void keyReleaseOccured(KeyEvent keyEvent) {
662
    protected void keyReleaseOccured(KeyEvent keyEvent) {
663
    	// Handle 'Insert' as if it was the 'Enter' key
664
    	if (keyEvent.keyCode == SWT.INSERT) {
665
    		keyEvent.character = '\r';
666
    	}
667
    	
663
        if (keyEvent.character == '\u001b') { // Escape character
668
        if (keyEvent.character == '\u001b') { // Escape character
664
            fireCancelEditor();
669
            fireCancelEditor();
665
        } else if (keyEvent.character == '\r') { // Return key
670
        } else if (keyEvent.character == '\r') { // Return key
(-)src/org/eclipse/jface/viewers/ComboBoxCellEditor.java (-1 / +1 lines)
Lines 282-288 Link Here
282
    protected void keyReleaseOccured(KeyEvent keyEvent) {
282
    protected void keyReleaseOccured(KeyEvent keyEvent) {
283
        if (keyEvent.character == '\u001b') { // Escape character
283
        if (keyEvent.character == '\u001b') { // Escape character
284
            fireCancelEditor();
284
            fireCancelEditor();
285
        } else if (keyEvent.character == '\t') { // tab key
285
        } else if (keyEvent.character == '\t' || keyEvent.keyCode == SWT.INSERT) { // tab key
286
            applyEditorValueAndDeactivate();
286
            applyEditorValueAndDeactivate();
287
        }
287
        }
288
    }
288
    }
(-)src/org/eclipse/ui/views/properties/PropertySheetViewer.java (+23 lines)
Lines 40-45 Link Here
40
import org.eclipse.swt.events.MouseEvent;
40
import org.eclipse.swt.events.MouseEvent;
41
import org.eclipse.swt.events.SelectionAdapter;
41
import org.eclipse.swt.events.SelectionAdapter;
42
import org.eclipse.swt.events.SelectionEvent;
42
import org.eclipse.swt.events.SelectionEvent;
43
import org.eclipse.swt.events.TraverseEvent;
44
import org.eclipse.swt.events.TraverseListener;
43
import org.eclipse.swt.events.TreeEvent;
45
import org.eclipse.swt.events.TreeEvent;
44
import org.eclipse.swt.events.TreeListener;
46
import org.eclipse.swt.events.TreeListener;
45
import org.eclipse.swt.graphics.Image;
47
import org.eclipse.swt.graphics.Image;
Lines 804-811 Link Here
804
            }
806
            }
805
        });
807
        });
806
808
809
        // Prevent Wizard/Dialog 'default' buttons from executing
810
        tree.addTraverseListener(new TraverseListener(){
811
			public void keyTraversed(TraverseEvent e) {
812
				if (e.detail == SWT.TRAVERSE_RETURN && e.stateMask == SWT.NONE) {
813
					TreeItem[] item = tree.getSelection();
814
					if (item.length > 0)
815
					handleSelect(item[0]);
816
					
817
					// Inhibit other handlers
818
					e.detail= SWT.TRAVERSE_NONE;
819
				}
820
			}
821
        });
822
        
807
        // Refresh the tree when F5 pressed
823
        // Refresh the tree when F5 pressed
808
        tree.addKeyListener(new KeyAdapter() {
824
        tree.addKeyListener(new KeyAdapter() {
825
            public void keyPressed(KeyEvent e) {
826
            	if (e.keyCode == SWT.INSERT) {
827
					TreeItem[] item = tree.getSelection();
828
					if (item.length > 0)
829
					handleSelect(item[0]);
830
				}
831
            }
809
            public void keyReleased(KeyEvent e) {
832
            public void keyReleased(KeyEvent e) {
810
                if (e.character == SWT.ESC) {
833
                if (e.character == SWT.ESC) {
811
					deactivateCellEditor();
834
					deactivateCellEditor();

Return to bug 144098