- Timestamp:
- 2017-12-11T19:02:38+13:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/gli/src/org/greenstone/gatherer/gui/ConfigFileEditor.java
r32092 r32093 62 62 63 63 // https://github.com/bobbylight/RSyntaxTextArea/wiki/Example:-Using-Find-and-Replace 64 private JTextField searchField;64 final private JTextField searchField; 65 65 private JCheckBox regexCB; 66 66 private JCheckBox matchCaseCB; … … 123 123 editor = new NumberedJTextArea(Dictionary.get("ConfigFileEditor.Tooltip")); 124 124 editor.getDocument().addDocumentListener(this); 125 125 // if Ctrl (or Mac equiv) + F is pressed in the config file editing area, 126 // then move the focus to the searchField, so the user can start typing the searchTerm 127 editor.addKeyListener(new ConfigFileEditorKeyListener()); 128 126 129 save_button = new GLIButton(Dictionary.get("General.Save"), Dictionary.get("ConfigFileEditor.Save_Tooltip")); 127 130 cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("ConfigFileEditor.Cancel_Tooltip")); // tooltip is the same … … 202 205 setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2); 203 206 editor.setCaretPosition(0); // start at top of config XML 207 208 // Following has no effect: not sure why on dialog show, with or without requesting focus, 209 // it takes some time for the editor to get focus and only if user's mouse curser is 210 // hovering over ConfigFileEditor and moves about a bit there. 211 // Give editor focus on dialog show, so that Ctrl-F, to shift focus to searchField, will be 212 // responsive too. Not working until mouse moves about over editor, despite the suggestion 213 // at https://stackoverflow.com/questions/17828264/java-swing-jdialog-default-focus 214 editor.requestFocusInWindow(); 204 215 } 205 216 … … 342 353 } 343 354 } 344 355 356 357 // if Ctrl (or Mac equiv) + F is pressed in the config file editing area, 358 // then move the focus to the searchField, so the user can start typing the searchTerm 359 private class ConfigFileEditorKeyListener 360 extends KeyAdapter 361 { 362 /** Gives notification of key events on the text field */ 363 public void keyPressed(KeyEvent key_event) 364 { 365 // Don't hardcode check for Ctrl key "(e.getModifiers() & KeyEvent.CTRL_MASK) != 0)" 366 // because Mac uses another modifier key, Command-F instead of Ctrl-F. 367 // https://stackoverflow.com/questions/5970765/java-detect-ctrlx-key-combination-on-a-jtree 368 if((key_event.getModifiers() == Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()) 369 && key_event.getKeyCode() == KeyEvent.VK_F) { 370 371 // Instead of requestFocus() or the more forceful sounding grabFocus(), 372 // use requestFocusInWindow(), see 373 // https://stackoverflow.com/questions/1425392/how-do-you-set-a-focus-on-textfield-in-swing 374 ConfigFileEditor.this.searchField.requestFocusInWindow(); 375 //JOptionPane.showMessageDialog(ConfigFileEditor.this, "Got a key", "Got key " + key_event.getKeyCode(), JOptionPane.INFORMATION_MESSAGE); 376 } 377 } 378 } 345 379 }
Note:
See TracChangeset
for help on using the changeset viewer.