Ticket #6378: autocomplete_last.patch
| File autocomplete_last.patch, 2.7 KB (added by , 15 years ago) |
|---|
-
src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
27 27 import java.util.HashMap; 28 28 import java.util.Iterator; 29 29 import java.util.List; 30 import java.util.ListIterator; 30 31 import java.util.Map; 31 32 import java.util.Map.Entry; 32 33 import java.util.TreeMap; … … 370 371 AutoCompletionManager autocomplete = Main.main.getEditLayer().data.getAutoCompletionManager(); 371 372 List<AutoCompletionListItem> keyList = autocomplete.getKeys(); 372 373 374 String lt=null; 375 // scan history for single last tag-adding command 376 if (Main.main.undoRedo.commands.size() > 0) { 377 ListIterator<Command> itr = Main.main.undoRedo.commands.listIterator( 378 Main.main.undoRedo.commands.size()); 379 Command cmd; 380 while (itr.hasPrevious()) { 381 cmd = itr.previous(); 382 if (cmd instanceof ChangePropertyCommand) { 383 // remember the added tag 384 lt = ((ChangePropertyCommand) cmd).getKey(); 385 break; 386 } 387 } 388 } 389 AutoCompletionListItem itemToSelect=null; 373 390 // remove the object's tag keys from the list 374 391 Iterator<AutoCompletionListItem> iter = keyList.iterator(); 375 392 while (iter.hasNext()) { 376 393 AutoCompletionListItem item = iter.next(); 394 if (item.getValue().equals(lt)) { itemToSelect=item; } 377 395 for (int i = 0; i < propertyData.getRowCount(); ++i) { 378 396 if (item.getValue().equals(propertyData.getValueAt(i, 0))) { 379 397 iter.remove(); … … 385 403 Collections.sort(keyList, defaultACItemComparator); 386 404 keys.setPossibleACItems(keyList); 387 405 keys.setEditable(true); 406 if (itemToSelect!=null) keys.setSelectedItem(itemToSelect); 388 407 389 408 p.add(keys, BorderLayout.CENTER); 390 409 -
src/org/openstreetmap/josm/command/ChangePropertyCommand.java
61 61 } 62 62 } 63 63 64 public String getKey() { 65 return key; 66 } 67 64 68 public ChangePropertyCommand(OsmPrimitive object, String key, String value) { 65 69 this.objects = new LinkedList<OsmPrimitive>(); 66 70 this.key = key;
