Changeset 4140 in josm


Ignore:
Timestamp:
2011-06-18T16:10:06+02:00 (13 years ago)
Author:
stoecker
Message:

fix #6464 - add security check in case tag editing leads to overwrite of existing key

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java

    r4119 r4140  
    310310            Main.main.undoRedo.add(new ChangePropertyCommand(sel, newkey, value));
    311311        } else {
     312            for (OsmPrimitive osm: sel) {
     313                if(osm.get(newkey) != null) {
     314                    ExtendedDialog ed = new ExtendedDialog(
     315                            Main.parent,
     316                            tr("Overwrite key"),
     317                            new String[]{tr("Replace"), tr("Cancel")});
     318                    ed.setButtonIcons(new String[]{"purge", "cancel"});
     319                    ed.setContent(tr("You changed the key from ''{0}'' to ''{1}''.\n"
     320                    + "The new key is already used, overwrite values?", key, newkey));
     321                    ed.setCancelButton(2);
     322                    ed.toggleEnable("overwriteEditKey");
     323                    ed.showDialog();
     324
     325                    if (ed.getValue() != 1) {
     326                        return;
     327                    }
     328                    break;
     329                }
     330            }
    312331            Collection<Command> commands=new Vector<Command>();
    313332            commands.add(new ChangePropertyCommand(sel, key, null));
     
    12581277        }
    12591278    }
    1260 
    1261 
    12621279}
Note: See TracChangeset for help on using the changeset viewer.