Changeset 11172 in josm for trunk/src/org


Ignore:
Timestamp:
2016-10-26T21:23:28+02:00 (8 years ago)
Author:
simon04
Message:

Simplify Shortcut#doInit using steams

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/tools/Shortcut.java

    r11170 r11172  
    88import java.util.Arrays;
    99import java.util.Collection;
     10import java.util.Comparator;
    1011import java.util.HashMap;
    11 import java.util.LinkedList;
    1212import java.util.List;
    1313import java.util.Map;
     
    366366        Main.platform.initSystemShortcuts();
    367367        // (2) User defined shortcuts
    368         List<Shortcut> newshortcuts = new LinkedList<>();
    369         for (String s : Main.pref.getAllPrefixCollectionKeys("shortcut.entry.")) {
    370             newshortcuts.add(new Shortcut(s));
    371         }
    372 
    373         for (Shortcut sc : newshortcuts) {
    374             if (sc.isAssignedUser()
    375             && findShortcut(sc.getAssignedKey(), sc.getAssignedModifier()) == null) {
    376                 shortcuts.add(sc);
    377             }
    378         }
    379         // Shortcuts at their default values
    380         for (Shortcut sc : newshortcuts) {
    381             if (!sc.isAssignedUser() && sc.isAssignedDefault()
    382             && findShortcut(sc.getAssignedKey(), sc.getAssignedModifier()) == null) {
    383                 shortcuts.add(sc);
    384             }
    385         }
    386         // Shortcuts that were automatically moved
    387         for (Shortcut sc : newshortcuts) {
    388             if (!sc.isAssignedUser() && !sc.isAssignedDefault()
    389             && findShortcut(sc.getAssignedKey(), sc.getAssignedModifier()) == null) {
    390                 shortcuts.add(sc);
    391             }
    392         }
     368        Main.pref.getAllPrefixCollectionKeys("shortcut.entry.").stream()
     369                .map(Shortcut::new)
     370                .filter(sc -> findShortcut(sc.getAssignedKey(), sc.getAssignedModifier()) == null)
     371                .sorted(Comparator.comparing(sc -> sc.isAssignedUser() ? 1 : sc.isAssignedDefault() ? 2 : 3))
     372                .forEachOrdered(shortcuts::add);
    393373    }
    394374
Note: See TracChangeset for help on using the changeset viewer.