Ticket #5843: remotecontrol.patch
| File remotecontrol.patch, 3.3 KB (added by , 15 years ago) |
|---|
-
src/org/openstreetmap/josm/io/remotecontrol/gui/AddTagsDialog.java
1 package org.openstreetmap.josm.io.remotecontrol.gui; 2 3 import static org.openstreetmap.josm.tools.I18n.tr; 4 5 import java.awt.event.ActionEvent; 6 import java.util.Collection; 7 8 import javax.swing.JTable; 9 import javax.swing.table.TableModel; 10 11 import org.openstreetmap.josm.Main; 12 import org.openstreetmap.josm.command.ChangePropertyCommand; 13 import org.openstreetmap.josm.data.osm.OsmPrimitive; 14 import org.openstreetmap.josm.gui.ExtendedDialog; 15 16 17 public class AddTagsDialog extends ExtendedDialog { 18 19 20 private final JTable propertyTable; 21 22 public AddTagsDialog(String[][] tags) { 23 super(Main.parent, "", new String[] { tr("Add tags"), tr("Cancel")}, 24 false, 25 true); 26 27 propertyTable = new JTable(tags, new String[] {"Key", "Value"}); 28 propertyTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); 29 setContent(propertyTable); 30 31 32 showDialog(); 33 } 34 35 @Override 36 protected void buttonAction(int buttonIndex, ActionEvent evt) { 37 if (buttonIndex == 0) { 38 TableModel tm = propertyTable.getModel(); 39 Collection<OsmPrimitive> sel = Main.main.getCurrentDataSet().getSelected(); 40 for (int i=0; i<tm.getRowCount(); i++) { 41 Main.main.undoRedo.add(new ChangePropertyCommand(sel, (String)tm.getValueAt(i, 0), (String)tm.getValueAt(i, 1))); 42 } 43 } 44 setVisible(false); 45 } 46 47 } -
src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java
5 5 6 6 import java.awt.geom.Area; 7 7 import java.awt.geom.Rectangle2D; 8 import java.io.UnsupportedEncodingException; 9 import java.net.URLDecoder; 8 10 import java.util.HashSet; 9 11 import java.util.concurrent.Future; 10 12 … … 21 23 import org.openstreetmap.josm.data.osm.Relation; 22 24 import org.openstreetmap.josm.data.osm.Way; 23 25 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor; 26 import org.openstreetmap.josm.io.remotecontrol.gui.AddTagsDialog; 24 27 25 28 /** 26 29 * Handler for load_and_zoom request. … … 157 160 // after downloading, zoom to downloaded area. 158 161 zoom(minlat, maxlat, minlon, maxlon); 159 162 } 163 164 if (args.containsKey("addtags")) { 165 String[] tags = args.get("addtags").split("\\|"); 166 String[][] keyValue = new String[tags.length][2]; 167 for (int i = 0; i<tags.length; i++) { 168 keyValue[i] = tags[i].split("="); 169 try { 170 keyValue[i][0] = URLDecoder.decode(keyValue[i][0], "UTF-8"); 171 keyValue[i][1] = URLDecoder.decode(keyValue[i][1], "UTF-8"); 172 } catch (UnsupportedEncodingException e) { 173 System.err.println("Your System has no support for UTF8.\nDamn Windows!"); 174 } 175 } 176 177 new AddTagsDialog(keyValue); 178 } 179 160 180 } 161 181 162 182 protected void zoom(double minlat, double maxlat, double minlon, double maxlon) { … … 175 195 }); 176 196 } 177 197 } 178 } 179 No newline at end of file 198 }
