Skip to content

Commit 179663a

Browse files
author
jan
committed
get the libs back when reopening a project #1695
1 parent 7e628df commit 179663a

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

io.sloeber.core/src/io/sloeber/arduinoFramework/api/BoardDescription.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -676,7 +676,7 @@ public PlatformTxtFile getreferencedCorePlatformFile() {
676676
public IPath getReferencedCoreLibraryPath() {
677677
updateWhenDirty();
678678
if (myReferencedPlatformCore == null) {
679-
return null;
679+
return getReferencingLibraryPath();
680680
}
681681
return this.myReferencedPlatformCore.getInstallPath().append(ARDUINO_LIBRARY_FOLDER_NAME);
682682
}

io.sloeber.core/src/io/sloeber/arduinoFramework/api/LibraryManager.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -455,17 +455,17 @@ private static Map<String, IArduinoLibraryVersion> getLibrariesHarware(BoardDesc
455455
}
456456

457457
public static IArduinoLibraryVersion getLibraryVersionFromLocation(IFolder libFolder,BoardDescription boardDescriptor) {
458-
// TODO Auto-generated method stub
459-
460458
if (boardDescriptor != null) {
461459
IPath libPath=boardDescriptor.getReferencedCoreLibraryPath();
462460
if(libPath!=null && libPath.isPrefixOf(libFolder.getLocation())) {
463-
return getLibrariesHarware(boardDescriptor).get(libFolder.getName());
461+
String FQNLibName=ArduinoHardwareLibrary.calculateFQN(libFolder.getName()).toString();
462+
return getLibrariesHarware(boardDescriptor).get(FQNLibName);
464463
}
465464
}
466465

467466
if(ConfigurationPreferences.getInstallationPathLibraries().isPrefixOf(libFolder.getLocation())) {
468-
return getLibrariesdManaged().get(libFolder.getName());
467+
String FQNLibName= ArduinoLibraryVersion.calculateFQN(libFolder.getName()).toString();
468+
return getLibrariesdManaged().get(FQNLibName);
469469
}
470470

471471
return getLibrariesPrivate().get(libFolder.getName());

io.sloeber.core/src/io/sloeber/core/internal/SloeberConfiguration.java

+5
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,11 @@ public void reAttachLibraries() {
617617

618618
@Override
619619
public Map<String, IArduinoLibraryVersion> getUsedLibraries() {
620+
try {
621+
myLibraries=getLibrariesFromLinks();
622+
} catch (CoreException e) {
623+
e.printStackTrace();
624+
}
620625
return new HashMap<>(myLibraries);
621626
}
622627

io.sloeber.ui/src/io/sloeber/ui/Import_Libraries_Page.java

+9-5
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,17 @@ public void createControl(Composite parent) {
6565
}
6666

6767
class ItemSorter {
68-
public static ISloeberConfiguration sloeberCfg;
69-
public TreeMap<String, ItemSorter> myItems = new TreeMap<>();
70-
public IArduinoLibraryVersion myLib = null;
68+
private TreeMap<String, ItemSorter> myItems = new TreeMap<>();
69+
private IArduinoLibraryVersion myLib = null;
70+
private static Map<String, IArduinoLibraryVersion> myCurrentInstalledLibs =null;
7171

7272
ItemSorter() {
7373
}
7474

75+
static void SetSloeberConfiguration(ISloeberConfiguration sloeberCfg) {
76+
myCurrentInstalledLibs = sloeberCfg.getUsedLibraries();
77+
}
78+
7579
public void createChildren(TreeItem curItem) {
7680
for (Entry<String, ItemSorter> curentry : myItems.entrySet()) {
7781
String key = curentry.getKey();
@@ -83,7 +87,7 @@ public void createChildren(TreeItem curItem) {
8387
if (myLib == null) {
8488
curItem.setGrayed(true);
8589
}else {
86-
boolean isSelected = sloeberCfg.getUsedLibraries().get(myLib.getName()) != null;
90+
boolean isSelected = myCurrentInstalledLibs.get(myLib.getName()) != null;
8791
curItem.setChecked(isSelected);
8892
curItem.setData(myLib);
8993
if (isSelected) {
@@ -127,7 +131,7 @@ protected void createSourceGroup(Composite parent) {
127131

128132
// sort the items
129133
ItemSorter sortedItems = new ItemSorter();
130-
ItemSorter.sloeberCfg = sloeberCfg;
134+
ItemSorter.SetSloeberConfiguration(sloeberCfg);
131135

132136
for (IArduinoLibraryVersion curlib : allLibraries.values()) {
133137
String keys[] = curlib.getBreadCrumbs();

0 commit comments

Comments
 (0)