mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-06-20 19:16:33 +00:00
54 lines
1.5 KiB
TypeScript
54 lines
1.5 KiB
TypeScript
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
import {
|
|
Command,
|
|
MenuModelRegistry,
|
|
CommandRegistry,
|
|
Contribution,
|
|
} from './contribution';
|
|
import { ArduinoMenus } from '../menu/arduino-menus';
|
|
import { UploadFirmwareDialog } from '../dialogs/firmware-uploader/firmware-uploader-dialog';
|
|
import { nls } from '@theia/core/lib/common';
|
|
|
|
@injectable()
|
|
export class UploadFirmware extends Contribution {
|
|
@inject(UploadFirmwareDialog)
|
|
protected readonly dialog: UploadFirmwareDialog;
|
|
|
|
protected dialogOpened = false;
|
|
|
|
override registerCommands(registry: CommandRegistry): void {
|
|
registry.registerCommand(UploadFirmware.Commands.OPEN, {
|
|
execute: async () => {
|
|
try {
|
|
this.dialogOpened = true;
|
|
await this.dialog.open();
|
|
} finally {
|
|
this.dialogOpened = false;
|
|
}
|
|
},
|
|
isEnabled: () => !this.dialogOpened,
|
|
});
|
|
}
|
|
|
|
override registerMenus(registry: MenuModelRegistry): void {
|
|
registry.registerMenuAction(ArduinoMenus.TOOLS__FIRMWARE_UPLOADER_GROUP, {
|
|
commandId: UploadFirmware.Commands.OPEN.id,
|
|
label: UploadFirmware.Commands.OPEN.label,
|
|
order: '0',
|
|
});
|
|
}
|
|
}
|
|
|
|
export namespace UploadFirmware {
|
|
export namespace Commands {
|
|
export const OPEN: Command = {
|
|
id: 'arduino-upload-firmware-open',
|
|
label: nls.localize(
|
|
'arduino/firmware/updater',
|
|
'WiFi101 / WiFiNINA Firmware Updater'
|
|
),
|
|
category: 'Arduino',
|
|
};
|
|
}
|
|
}
|