Ticket #11741: 11741.patch
File 11741.patch, 3.2 KB (added by , 10 years ago) |
---|
-
src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
diff --git a/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java b/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java index fbb70b9..e9c7f1e 100644
a b 165 165 166 166 private final transient DataSetListenerAdapter dataChangedAdapter = new DataSetListenerAdapter(this); 167 167 private final HelpAction helpAction = new HelpAction(); 168 private final TaginfoAction taginfoAction = new TaginfoAction(); 168 169 private final PasteValueAction pasteValueAction = new PasteValueAction(); 169 170 private final CopyValueAction copyValueAction = new CopyValueAction(); 170 171 private final CopyKeyValueAction copyKeyValueAction = new CopyKeyValueAction(); … … private void setupMembershipMenu() { 396 397 membershipMenuHandler.addAction(downloadSelectedIncompleteMembersAction); 397 398 membershipMenu.addSeparator(); 398 399 membershipMenu.add(helpAction); 400 membershipMenu.add(taginfoAction); 399 401 400 402 membershipTable.addMouseListener(new PopupMenuLauncher(membershipMenu) { 401 403 @Override … … private void setupTagsMenu() { 449 451 tagMenu.add(searchActionSame); 450 452 tagMenu.addSeparator(); 451 453 tagMenu.add(helpAction); 454 tagMenu.add(taginfoAction); 452 455 tagTable.addMouseListener(new PopupMenuLauncher(tagMenu)); 453 456 } 454 457 … … public void actionPerformed(ActionEvent e) { 1146 1149 } 1147 1150 } 1148 1151 1152 class TaginfoAction extends AbstractAction { 1153 1154 public TaginfoAction() { 1155 putValue(NAME, tr("Go to Taginfo")); 1156 putValue(SHORT_DESCRIPTION, tr("Launch browser with Taginfo statistics for selected object")); 1157 } 1158 1159 @Override 1160 public void actionPerformed(ActionEvent e) { 1161 final String url; 1162 if (tagTable.getSelectedRowCount() == 1) { 1163 final int row = tagTable.getSelectedRow(); 1164 final String key = Utils.encodeUrl(tagData.getValueAt(row, 0).toString()); 1165 Map<String, Integer> values = (Map<String, Integer>) tagData.getValueAt(row, 1); 1166 if (values.size() == 1) { 1167 url = "https://taginfo.openstreetmap.org/tags/" + key /* do not URL encode key, otherwise addr:street does not work */ 1168 + "=" + Utils.encodeUrl(values.keySet().iterator().next()); 1169 } else { 1170 url = "https://taginfo.openstreetmap.org/tags/" + key; /* do not URL encode key, otherwise addr:street does not work */ 1171 } 1172 } else if (membershipTable.getSelectedRowCount() == 1) { 1173 final String type = ((Relation) membershipData.getValueAt(membershipTable.getSelectedRow(), 0)).get("type"); 1174 url = "https://taginfo.openstreetmap.org/relations/" + Utils.encodeUrl(type); 1175 } else { 1176 return; 1177 } 1178 OpenBrowser.displayUrl(url); 1179 } 1180 } 1181 1149 1182 class PasteValueAction extends AbstractAction { 1150 1183 public PasteValueAction() { 1151 1184 putValue(NAME, tr("Paste Value"));