Skip to content

Commit 88c2dad

Browse files
author
jantje
committed
#691 Implemented this as it was removed in V4 (split ui and core)
I added a saveConfiguration method whitch saves with the configuration used to load.
1 parent d6c7c6f commit 88c2dad

File tree

3 files changed

+28
-9
lines changed

3 files changed

+28
-9
lines changed

io.sloeber.core/src/io/sloeber/core/InternalBoardDescriptor.java

+8-1
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,16 @@
1111
/**
1212
* This class exists solely for the purpose of having access to the
1313
* boardDescriptor API class and have some extra access
14-
*
14+
*
1515
* @author jan
1616
*
1717
*/
1818
public class InternalBoardDescriptor extends BoardDescriptor {
19+
private ICConfigurationDescription mConfdesc = null;
1920

2021
public InternalBoardDescriptor(ICConfigurationDescription confdesc) {
2122
super(confdesc);
23+
this.mConfdesc = confdesc;
2224

2325
}
2426

@@ -36,4 +38,9 @@ public TxtFile getTxtFile() {
3638
return this.myTxtFile;
3739
}
3840

41+
@Override
42+
public void saveConfiguration() {
43+
saveConfiguration(this.mConfdesc);
44+
}
45+
3946
}

io.sloeber.core/src/io/sloeber/core/api/BoardDescriptor.java

+18-8
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,24 @@ public IProject createProject(String projectName, URI projectURI,
275275
}
276276

277277
public void save(ICConfigurationDescription confdesc) throws Exception {
278+
saveConfiguration(confdesc);
279+
if (confdesc != null) {
280+
IProject project = confdesc.getProjectDescription().getProject();
281+
282+
Helpers.setTheEnvironmentVariables(project, confdesc, (InternalBoardDescriptor) this);
283+
284+
Helpers.addArduinoCodeToProject(project, confdesc);
285+
286+
Helpers.removeInvalidIncludeFolders(confdesc);
287+
Helpers.setDirtyFlag(project, confdesc);
288+
}
289+
}
290+
291+
public void saveConfiguration() {
292+
saveConfiguration(null);
293+
}
294+
295+
public void saveConfiguration(ICConfigurationDescription confdesc) {
278296
if (confdesc != null) {
279297

280298
Common.setBuildEnvironmentVariable(confdesc, Const.ENV_KEY_JANTJE_PLATFORM_FILE, getPlatformFile());
@@ -293,14 +311,6 @@ public void save(ICConfigurationDescription confdesc) throws Exception {
293311
curoption.getValue());
294312
}
295313
}
296-
IProject project = confdesc.getProjectDescription().getProject();
297-
298-
Helpers.setTheEnvironmentVariables(project, confdesc, (InternalBoardDescriptor) this);
299-
300-
Helpers.addArduinoCodeToProject(project, confdesc);
301-
302-
Helpers.removeInvalidIncludeFolders(confdesc);
303-
Helpers.setDirtyFlag(project, confdesc);
304314
}
305315

306316
// Also save last used values

io.sloeber.ui/src/io/sloeber/ui/project/properties/BoardSelectionPage.java

+2
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,8 @@ protected void performDefaults() {
347347

348348
@Override
349349
protected void updateData(ICResourceDescription cfg) {
350+
this.myBoardID.saveConfiguration();
351+
this.myBoardID = BoardDescriptor.makeBoardDescriptor(cfg.getConfiguration());
350352
setValues(cfg.getConfiguration());
351353
}
352354

0 commit comments

Comments
 (0)