<div dir="ltr">Here's a patch to JOSM to warn the human editor about tags that are about to disappear. What do you think?<div><br><div><br></div><div><div><font face="courier new, monospace">--- src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java<span class="" style="white-space:pre"> </span>(revision 6232)</font></div>
<div><font face="courier new, monospace">+++ src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java<span class="" style="white-space:pre"> </span>(working copy)</font></div><div><font face="courier new, monospace">@@ -280,6 +276,26 @@<br>
</font></div><div><font face="courier new, monospace"> propertyTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);</font></div><div><font face="courier new, monospace"> propertyTable.getTableHeader().setReorderingAllowed(false);</font></div>
<div><font face="courier new, monospace"> </font></div><div><font face="courier new, monospace">+ // Style the key column</font></div><div><font face="courier new, monospace">+ propertyTable.getColumnModel().getColumn(0).setCellRenderer(new DefaultTableCellRenderer(){</font></div>
<div><font face="courier new, monospace">+ @Override public Component getTableCellRendererComponent(JTable table, Object value,</font></div><div><font face="courier new, monospace">+ boolean isSelected, boolean hasFocus, int row, int column) {</font></div>
<div><font face="courier new, monospace">+ Component cc = super.getTableCellRendererComponent(table, value, isSelected, false, row, column);</font></div><div><font face="courier new, monospace">+ if (value == null)</font></div>
<div><font face="courier new, monospace">+ return this;</font></div><div><font face="courier new, monospace">+ String myvalue = (String)value;</font></div><div><font face="courier new, monospace">+ if (OsmPrimitive.getDiscardableKeys().contains(myvalue) ) {</font></div>
<div><font face="courier new, monospace">+ cc.setFont(cc.getFont().deriveFont(Font.ITALIC));</font></div><div><font face="courier new, monospace">+ cc.setBackground(Color.RED);</font></div>
<div><font face="courier new, monospace">+ } else {</font></div><div><font face="courier new, monospace">+ cc.setFont(cc.getFont().deriveFont(Font.PLAIN));</font></div><div><font face="courier new, monospace">+ cc.setBackground(Color.WHITE);</font></div>
<div><font face="courier new, monospace">+ }</font></div><div><font face="courier new, monospace">+ return cc;</font></div><div><font face="courier new, monospace">+ }</font></div>
<div><font face="courier new, monospace">+ });</font></div><div><font face="courier new, monospace">+</font></div><div><font face="courier new, monospace">+ // Style the value column</font></div><div><font face="courier new, monospace"> propertyTable.getColumnModel().getColumn(1).setCellRenderer(new DefaultTableCellRenderer(){</font></div>
<div><font face="courier new, monospace"> @Override public Component getTableCellRendererComponent(JTable table, Object value,</font></div><div><font face="courier new, monospace"> boolean isSelected, boolean hasFocus, int row, int column) {</font></div>
</div><div><br></div></div></div>