From 5933a7e8d3ff4d757cbc66930c4fc26f32926549 Mon Sep 17 00:00:00 2001 From: Federico Fissore Date: Fri, 29 May 2015 14:19:15 +0200 Subject: [PATCH] Changing order of boards in boards menu: built-in first, boards manager second, sketchbook hardware folder third. Each group if sorted by alpha, case insensitive. Fixes #2650 --- .../contributions/packages/ContributionsIndexer.java | 9 +++++++++ arduino-core/src/processing/app/BaseNoGui.java | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java index f26289533..b457fe062 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java @@ -327,6 +327,15 @@ public class ContributionsIndexer { packages.add(targetPackage); } } + + Collections.sort(packages, new Comparator() { + @Override + public int compare(TargetPackage p1, TargetPackage p2) { + assert p1.getId() != null && p2.getId() != null; + return p1.getId().toLowerCase().compareTo(p2.getId().toLowerCase()); + } + }); + return packages; } diff --git a/arduino-core/src/processing/app/BaseNoGui.java b/arduino-core/src/processing/app/BaseNoGui.java index d365b80ea..4035fbbc9 100644 --- a/arduino-core/src/processing/app/BaseNoGui.java +++ b/arduino-core/src/processing/app/BaseNoGui.java @@ -621,10 +621,10 @@ public class BaseNoGui { } indexer.syncWithFilesystem(getHardwareFolder()); - packages = new HashMap(); + packages = new LinkedHashMap(); loadHardware(getHardwareFolder()); - loadHardware(getSketchbookHardwareFolder()); loadContributedHardware(indexer); + loadHardware(getSketchbookHardwareFolder()); createToolPreferences(indexer); librariesIndexer = new LibrariesIndexer(BaseNoGui.getSettingsFolder(), indexer);