### Eclipse Workspace Patch 1.0 #P josm Index: src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java =================================================================== --- src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java (revision 1030) +++ src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java (working copy) @@ -5,10 +5,13 @@ import java.awt.BorderLayout; import java.awt.event.KeyEvent; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; import java.util.Arrays; import java.util.Collection; import java.util.Comparator; import java.util.HashMap; +import java.util.LinkedList; import javax.swing.JScrollPane; import javax.swing.JTable; @@ -28,7 +31,7 @@ * * @author Frederik Ramm */ -public class UserListDialog extends ToggleDialog implements SelectionChangedListener { +public class UserListDialog extends ToggleDialog implements SelectionChangedListener, MouseListener{ /** * The display list. @@ -54,7 +57,7 @@ userTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); add(new JScrollPane(userTable), BorderLayout.CENTER); selectionChanged(Main.ds.getSelected()); - + userTable.addMouseListener(this); DataSet.selListeners.add(this); } @@ -107,4 +110,32 @@ } } + public void mouseClicked(MouseEvent e) { + if (e.getButton() == MouseEvent.BUTTON1 && e.getClickCount()==2) { + int index = userTable.getSelectedRow(); + String userName = (String) data.getValueAt(index, 0); + if (userName==null) + return; + Collection selected = Main.ds.getSelected(); + Collection byUser = new LinkedList(); + for (OsmPrimitive p : selected) { + if (p.user!= null && userName.equals(p.user.name)) + byUser.add(p); + } + Main.ds.setSelected(byUser); + } + } + + public void mouseEntered(MouseEvent e) { + } + + public void mouseExited(MouseEvent e) { + } + + public void mousePressed(MouseEvent e) { + } + + public void mouseReleased(MouseEvent e) { + } + }