From 6233e1fa9810b80a1b3ce702d9a60a3d43e90c4c Mon Sep 17 00:00:00 2001 From: Alberto Iannaccone Date: Mon, 23 Aug 2021 09:47:36 +0100 Subject: [PATCH] [ATL-493] Support platforms installed in directories.user --- .../src/browser/contributions/board-selection.ts | 6 ++++-- arduino-ide-extension/src/common/protocol/boards-service.ts | 2 ++ arduino-ide-extension/src/node/boards-service-impl.ts | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/arduino-ide-extension/src/browser/contributions/board-selection.ts b/arduino-ide-extension/src/browser/contributions/board-selection.ts index cd76599e..d3519a9b 100644 --- a/arduino-ide-extension/src/browser/contributions/board-selection.ts +++ b/arduino-ide-extension/src/browser/contributions/board-selection.ts @@ -178,12 +178,14 @@ PID: ${PID}`; // Installed boards for (const board of installedBoards) { - const { packageId, packageName, fqbn, name } = board; + const { packageId, packageName, fqbn, name, manuallyInstalled } = board; + const packageLabel = + packageName + `${manuallyInstalled ? ' (in Sketchbook)' : ''}`; // Platform submenu const platformMenuPath = [...boardsPackagesGroup, packageId]; // Note: Registering the same submenu twice is a noop. No need to group the boards per platform. - this.menuModelRegistry.registerSubmenu(platformMenuPath, packageName); + this.menuModelRegistry.registerSubmenu(platformMenuPath, packageLabel); const id = `arduino-select-board--${fqbn}`; const command = { id }; diff --git a/arduino-ide-extension/src/common/protocol/boards-service.ts b/arduino-ide-extension/src/common/protocol/boards-service.ts index 0807e0e9..3dec69b6 100644 --- a/arduino-ide-extension/src/common/protocol/boards-service.ts +++ b/arduino-ide-extension/src/common/protocol/boards-service.ts @@ -345,6 +345,7 @@ export interface Board { export interface BoardWithPackage extends Board { readonly packageName: string; readonly packageId: string; + readonly manuallyInstalled: boolean; } export namespace BoardWithPackage { export function is( @@ -527,6 +528,7 @@ export namespace Board { packageName: string; packageId: string; details?: string; + manuallyInstalled: boolean; }>; export function decorateBoards( selectedBoard: Board | undefined, diff --git a/arduino-ide-extension/src/node/boards-service-impl.ts b/arduino-ide-extension/src/node/boards-service-impl.ts index d6dcff7b..8cb6bf75 100644 --- a/arduino-ide-extension/src/node/boards-service-impl.ts +++ b/arduino-ide-extension/src/node/boards-service-impl.ts @@ -233,6 +233,7 @@ export class BoardsServiceImpl fqbn: board.getFqbn(), packageId: platform.getId(), packageName: platform.getName(), + manuallyInstalled: platform.getManuallyInstalled(), }); } }