mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-07-08 20:06:32 +00:00
Defer settings/certificates load until app ready.
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
This commit is contained in:
parent
92bc5ecf7b
commit
7a3e6789d1
@ -19,6 +19,7 @@ import { CommandRegistry } from '@theia/core/lib/common/command';
|
|||||||
import { certificateList, sanifyCertString } from './utils';
|
import { certificateList, sanifyCertString } from './utils';
|
||||||
import { ArduinoFirmwareUploader } from '../../../common/protocol/arduino-firmware-uploader';
|
import { ArduinoFirmwareUploader } from '../../../common/protocol/arduino-firmware-uploader';
|
||||||
import { nls } from '@theia/core/lib/common';
|
import { nls } from '@theia/core/lib/common';
|
||||||
|
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class UploadCertificateDialogWidget extends ReactWidget {
|
export class UploadCertificateDialogWidget extends ReactWidget {
|
||||||
@ -37,6 +38,9 @@ export class UploadCertificateDialogWidget extends ReactWidget {
|
|||||||
@inject(ArduinoFirmwareUploader)
|
@inject(ArduinoFirmwareUploader)
|
||||||
protected readonly arduinoFirmwareUploader: ArduinoFirmwareUploader;
|
protected readonly arduinoFirmwareUploader: ArduinoFirmwareUploader;
|
||||||
|
|
||||||
|
@inject(FrontendApplicationStateService)
|
||||||
|
private readonly appStateService: FrontendApplicationStateService;
|
||||||
|
|
||||||
protected certificates: string[] = [];
|
protected certificates: string[] = [];
|
||||||
protected updatableFqbns: string[] = [];
|
protected updatableFqbns: string[] = [];
|
||||||
protected availableBoards: AvailableBoard[] = [];
|
protected availableBoards: AvailableBoard[] = [];
|
||||||
@ -66,10 +70,12 @@ export class UploadCertificateDialogWidget extends ReactWidget {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.appStateService.reachedState('ready').then(() =>
|
||||||
this.arduinoFirmwareUploader.updatableBoards().then((fqbns) => {
|
this.arduinoFirmwareUploader.updatableBoards().then((fqbns) => {
|
||||||
this.updatableFqbns = fqbns;
|
this.updatableFqbns = fqbns;
|
||||||
this.update();
|
this.update();
|
||||||
});
|
})
|
||||||
|
);
|
||||||
|
|
||||||
this.boardsServiceClient.onAvailableBoardsChanged((availableBoards) => {
|
this.boardsServiceClient.onAvailableBoardsChanged((availableBoards) => {
|
||||||
this.availableBoards = availableBoards;
|
this.availableBoards = availableBoards;
|
||||||
|
@ -111,9 +111,11 @@ export class SettingsService {
|
|||||||
|
|
||||||
@postConstruct()
|
@postConstruct()
|
||||||
protected async init(): Promise<void> {
|
protected async init(): Promise<void> {
|
||||||
|
this.appStateService.reachedState('ready').then(async () => {
|
||||||
const settings = await this.loadSettings();
|
const settings = await this.loadSettings();
|
||||||
this._settings = deepClone(settings);
|
this._settings = deepClone(settings);
|
||||||
this.ready.resolve();
|
this.ready.resolve();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async loadSettings(): Promise<Settings> {
|
protected async loadSettings(): Promise<Settings> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user