Skip to content

Commit 9c55607

Browse files
facchinmsandeepmistry
authored andcommitted
Make target board autoselection configurable via Preferences
The setting is off by default. Per-sketch board autoselection could work better because: * Most 3rd party boards ship with generic USB to serial converters, making autoselection useless * The port menu is not easily reachable as it is in Create
1 parent 6ff2dde commit 9c55607

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

app/src/cc/arduino/view/preferences/Preferences.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ private void initComponents() {
131131
verifyUploadBox = new javax.swing.JCheckBox();
132132
externalEditorBox = new javax.swing.JCheckBox();
133133
cacheCompiledCore = new javax.swing.JCheckBox();
134+
autoselectBoard = new javax.swing.JCheckBox();
134135
checkUpdatesBox = new javax.swing.JCheckBox();
135136
updateExtensionBox = new javax.swing.JCheckBox();
136137
saveVerifyUploadBox = new javax.swing.JCheckBox();
@@ -275,6 +276,9 @@ public void mouseEntered(java.awt.event.MouseEvent evt) {
275276
cacheCompiledCore.setText(tr("Aggressively cache compiled core"));
276277
checkboxesContainer.add(cacheCompiledCore);
277278

279+
autoselectBoard.setText(tr("Automatically use the correct target when selecting a known serial port"));
280+
checkboxesContainer.add(autoselectBoard);
281+
278282
checkUpdatesBox.setText(tr("Check for updates on startup"));
279283
checkboxesContainer.add(checkUpdatesBox);
280284

@@ -710,6 +714,7 @@ private void autoScaleCheckBoxItemStateChanged(java.awt.event.ItemEvent evt) {//
710714
private javax.swing.JButton extendedAdditionalUrlFieldWindow;
711715
private javax.swing.JCheckBox externalEditorBox;
712716
private javax.swing.JCheckBox cacheCompiledCore;
717+
private javax.swing.JCheckBox autoselectBoard;
713718
private javax.swing.JTextField fontSizeField;
714719
private javax.swing.JLabel fontSizeLabel;
715720
private javax.swing.JLabel jLabel1;
@@ -806,6 +811,8 @@ private void savePreferencesData() {
806811

807812
PreferencesData.setBoolean("compiler.cache_core", cacheCompiledCore.isSelected());
808813

814+
PreferencesData.setBoolean("editor.autoselectboard", autoselectBoard.isSelected());
815+
809816
PreferencesData.setBoolean("update.check", checkUpdatesBox.isSelected());
810817

811818
PreferencesData.setBoolean("editor.update_extension", updateExtensionBox.isSelected());
@@ -868,6 +875,8 @@ private void showPrerefencesData() {
868875

869876
cacheCompiledCore.setSelected(PreferencesData.get("compiler.cache_core") == null || PreferencesData.getBoolean("compiler.cache_core"));
870877

878+
autoselectBoard.setSelected(PreferencesData.getBoolean("editor.autoselectboard"));
879+
871880
checkUpdatesBox.setSelected(PreferencesData.getBoolean("update.check"));
872881

873882
updateExtensionBox.setSelected(PreferencesData.get("editor.update_extension") == null || PreferencesData.getBoolean("editor.update_extension"));

app/src/processing/app/Editor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1063,8 +1063,8 @@ private void selectSerialPort(String name, String boardId) {
10631063
// ignore
10641064
}
10651065
}
1066-
1067-
if (boardId != null) {
1066+
1067+
if (boardId != null && PreferencesData.getBoolean("editor.autoselectboard")) {
10681068
TargetBoard targetBoard = BaseNoGui.getPlatform().resolveBoardById(BaseNoGui.packages, boardId);
10691069
if (targetBoard != null) {
10701070
base.selectTargetBoard(targetBoard);

0 commit comments

Comments
 (0)