From c55ec8067c5fbfeb29f66c1cad0d7782e4ba0479 Mon Sep 17 00:00:00 2001
From: Gautier Pelloux-Prayer <gautier+git@damsy.net>
Date: Mon, 5 Feb 2018 22:04:54 +0100
Subject: [PATCH] Zoom on element when double-clicking on elements of upload
window
---
.../josm/gui/io/UploadedObjectsSummaryPanel.java | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/src/org/openstreetmap/josm/gui/io/UploadedObjectsSummaryPanel.java b/src/org/openstreetmap/josm/gui/io/UploadedObjectsSummaryPanel.java
index 7b00d51..c467cb7 100644
|
a
|
b
|
package org.openstreetmap.josm.gui.io;
|
| 4 | 4 | import static org.openstreetmap.josm.tools.I18n.tr; |
| 5 | 5 | import static org.openstreetmap.josm.tools.I18n.trn; |
| 6 | 6 | |
| | 7 | |
| | 8 | import java.awt.event.MouseAdapter; |
| | 9 | import java.awt.event.MouseEvent; |
| 7 | 10 | import java.awt.GridBagConstraints; |
| 8 | 11 | import java.awt.GridBagLayout; |
| 9 | 12 | import java.util.ArrayList; |
| | 13 | import java.util.Collection; |
| | 14 | import java.util.HashSet; |
| 10 | 15 | import java.util.List; |
| 11 | 16 | import java.util.Optional; |
| 12 | 17 | |
| … |
… |
import javax.swing.JList;
|
| 16 | 21 | import javax.swing.JPanel; |
| 17 | 22 | import javax.swing.JScrollPane; |
| 18 | 23 | |
| | 24 | import org.openstreetmap.josm.actions.AutoScaleAction; |
| 19 | 25 | import org.openstreetmap.josm.data.osm.OsmPrimitive; |
| 20 | 26 | import org.openstreetmap.josm.gui.OsmPrimitivRenderer; |
| 21 | 27 | |
| … |
… |
public class UploadedObjectsSummaryPanel extends JPanel {
|
| 52 | 58 | protected void build() { |
| 53 | 59 | setLayout(new GridBagLayout()); |
| 54 | 60 | OsmPrimitivRenderer renderer = new OsmPrimitivRenderer(); |
| | 61 | MouseAdapter mouseListener = new MouseAdapter() { |
| | 62 | @Override |
| | 63 | public void mouseClicked(MouseEvent evt) { |
| | 64 | if (evt.getButton() == MouseEvent.BUTTON1 && evt.getClickCount() == 2) { |
| | 65 | PrimitiveList list = (PrimitiveList)evt.getSource(); |
| | 66 | int index = list.locationToIndex(evt.getPoint()); |
| | 67 | Collection<OsmPrimitive> element = new HashSet<>(); |
| | 68 | element.add(list.getModel().getElementAt(index)); |
| | 69 | AutoScaleAction.zoomTo(element); |
| | 70 | } |
| | 71 | } |
| | 72 | }; |
| 55 | 73 | // initialize the three lists for uploaded primitives, but don't add them to the dialog yet, see setUploadedPrimitives() |
| 56 | 74 | // |
| 57 | 75 | lstAdd = new PrimitiveList(); |
| 58 | 76 | lstAdd.setCellRenderer(renderer); |
| | 77 | lstAdd.addMouseListener(mouseListener); |
| 59 | 78 | lstAdd.setVisibleRowCount(Math.min(lstAdd.getModel().getSize(), 10)); |
| 60 | 79 | spAdd = new JScrollPane(lstAdd); |
| 61 | 80 | lblAdd = new JLabel(tr("Objects to add:")); |
| … |
… |
public class UploadedObjectsSummaryPanel extends JPanel {
|
| 63 | 82 | |
| 64 | 83 | lstUpdate = new PrimitiveList(); |
| 65 | 84 | lstUpdate.setCellRenderer(renderer); |
| | 85 | lstUpdate.addMouseListener(mouseListener); |
| 66 | 86 | lstUpdate.setVisibleRowCount(Math.min(lstUpdate.getModel().getSize(), 10)); |
| 67 | 87 | spUpdate = new JScrollPane(lstUpdate); |
| 68 | 88 | lblUpdate = new JLabel(tr("Objects to modify:")); |
| … |
… |
public class UploadedObjectsSummaryPanel extends JPanel {
|
| 70 | 90 | |
| 71 | 91 | lstDelete = new PrimitiveList(); |
| 72 | 92 | lstDelete.setCellRenderer(renderer); |
| | 93 | lstDelete.addMouseListener(mouseListener); |
| 73 | 94 | lstDelete.setVisibleRowCount(Math.min(lstDelete.getModel().getSize(), 10)); |
| 74 | 95 | spDelete = new JScrollPane(lstDelete); |
| 75 | 96 | lblDelete = new JLabel(tr("Objects to delete:")); |