mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-10-10 03:48:33 +00:00
52 lines
1.4 KiB
TypeScript
52 lines
1.4 KiB
TypeScript
import { injectable } from 'inversify';
|
|
import * as remote from '@theia/core/electron-shared/@electron/remote';
|
|
import { isOSX } from '@theia/core/lib/common/os';
|
|
import {
|
|
Contribution,
|
|
Command,
|
|
MenuModelRegistry,
|
|
KeybindingRegistry,
|
|
CommandRegistry,
|
|
} from './contribution';
|
|
import { ArduinoMenus } from '../menu/arduino-menus';
|
|
import { nls } from '@theia/core/lib/common';
|
|
|
|
@injectable()
|
|
export class QuitApp extends Contribution {
|
|
registerCommands(registry: CommandRegistry): void {
|
|
if (!isOSX) {
|
|
registry.registerCommand(QuitApp.Commands.QUIT_APP, {
|
|
execute: () => remote.app.quit(),
|
|
});
|
|
}
|
|
}
|
|
|
|
registerMenus(registry: MenuModelRegistry): void {
|
|
// On macOS we will get the `Quit ${YOUR_APP_NAME}` menu item natively, no need to duplicate it.
|
|
if (!isOSX) {
|
|
registry.registerMenuAction(ArduinoMenus.FILE__QUIT_GROUP, {
|
|
commandId: QuitApp.Commands.QUIT_APP.id,
|
|
label: nls.localize('vscode/bulkEditService/quit', 'Quit'),
|
|
order: '0',
|
|
});
|
|
}
|
|
}
|
|
|
|
registerKeybindings(registry: KeybindingRegistry): void {
|
|
if (!isOSX) {
|
|
registry.registerKeybinding({
|
|
command: QuitApp.Commands.QUIT_APP.id,
|
|
keybinding: 'CtrlCmd+Q',
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
export namespace QuitApp {
|
|
export namespace Commands {
|
|
export const QUIT_APP: Command = {
|
|
id: 'arduino-quit-app',
|
|
};
|
|
}
|
|
}
|