Changeset 2613 in josm for trunk/src/org/openstreetmap/josm/gui/io/CloseChangesetDialog.java
- Timestamp:
- 2009-12-11T23:07:59+01:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/io/CloseChangesetDialog.java
r2512 r2613 1 1 // License: GPL. For details, see LICENSE file. 2 2 package org.openstreetmap.josm.gui.io; 3 4 import static org.openstreetmap.josm.tools.I18n.tr; 3 5 4 6 import java.awt.BorderLayout; … … 6 8 import java.awt.FlowLayout; 7 9 import java.awt.event.ActionEvent; 10 import java.awt.event.KeyEvent; 11 import java.awt.event.WindowAdapter; 12 import java.awt.event.WindowEvent; 8 13 import java.util.ArrayList; 9 14 import java.util.Collection; … … 12 17 import javax.swing.BorderFactory; 13 18 import javax.swing.DefaultListModel; 19 import javax.swing.JComponent; 14 20 import javax.swing.JDialog; 15 21 import javax.swing.JLabel; … … 18 24 import javax.swing.JPanel; 19 25 import javax.swing.JScrollPane; 26 import javax.swing.KeyStroke; 20 27 import javax.swing.event.ListSelectionEvent; 21 28 import javax.swing.event.ListSelectionListener; … … 26 33 import org.openstreetmap.josm.tools.ImageProvider; 27 34 import org.openstreetmap.josm.tools.WindowGeometry; 28 29 import static org.openstreetmap.josm.tools.I18n.tr;30 35 31 36 /** … … 41 46 /** the list model */ 42 47 private DefaultListModel model; 48 49 private SideButton btnCloseChangesets; 43 50 44 51 protected JPanel buildTopPanel() { … … 66 73 CloseAction closeAction = new CloseAction(); 67 74 lstOpenChangesets.addListSelectionListener(closeAction); 68 pnl.add(new SideButton(closeAction)); 69 pnl.add(new SideButton(new CancelAction())); 75 pnl.add(btnCloseChangesets = new SideButton(closeAction)); 76 btnCloseChangesets.setFocusable(true); 77 btnCloseChangesets.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,0), "enter"); 78 btnCloseChangesets.getActionMap().put("enter",closeAction); 79 80 // -- cancel action 81 SideButton btn; 82 pnl.add(btn = new SideButton(new CancelAction())); 83 btn.setFocusable(true); 70 84 return pnl; 71 85 } … … 77 91 getContentPane().add(buildCenterPanel(), BorderLayout.CENTER); 78 92 getContentPane().add(buildSouthPanel(), BorderLayout.SOUTH); 93 94 getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,0), "escape"); 95 getRootPane().getActionMap().put("escape", new CancelAction()); 96 addWindowListener(new WindowEventHandler()); 79 97 } 80 98 … … 127 145 } 128 146 129 public void actionPerformed(ActionEvent e) {147 public void cancel() { 130 148 setCanceled(true); 131 149 setVisible(false); 132 150 } 151 152 public void actionPerformed(ActionEvent e) { 153 cancel(); 154 } 155 } 156 157 class WindowEventHandler extends WindowAdapter { 158 159 @Override 160 public void windowActivated(WindowEvent arg0) { 161 btnCloseChangesets.requestFocusInWindow(); 162 } 163 164 @Override 165 public void windowClosing(WindowEvent arg0) { 166 new CancelAction().cancel(); 167 } 168 133 169 } 134 170 … … 162 198 for (Changeset cs: changesets) { 163 199 model.addElement(cs); 200 } 201 if (!changesets.isEmpty()) { 202 lstOpenChangesets.getSelectionModel().setSelectionInterval(0, changesets.size()-1); 164 203 } 165 204 }
Note:
See TracChangeset
for help on using the changeset viewer.