diff --git a/arduino-ide-extension/src/browser/dialogs/settings/settings-dialog.tsx b/arduino-ide-extension/src/browser/dialogs/settings/settings-dialog.tsx index 62d67859c..b4ad879d1 100644 --- a/arduino-ide-extension/src/browser/dialogs/settings/settings-dialog.tsx +++ b/arduino-ide-extension/src/browser/dialogs/settings/settings-dialog.tsx @@ -181,10 +181,10 @@ export class AdditionalUrlsDialog extends AbstractDialog { ); this.contentNode.appendChild(anchor); - this.appendAcceptButton(nls.localize('vscode/issueMainService/ok', 'OK')); this.appendCloseButton( nls.localize('vscode/issueMainService/cancel', 'Cancel') ); + this.appendAcceptButton(nls.localize('vscode/issueMainService/ok', 'OK')); } get value(): string[] { diff --git a/arduino-ide-extension/src/browser/library/library-list-widget.ts b/arduino-ide-extension/src/browser/library/library-list-widget.ts index 5c654b615..9e8eba64c 100644 --- a/arduino-ide-extension/src/browser/library/library-list-widget.ts +++ b/arduino-ide-extension/src/browser/library/library-list-widget.ts @@ -126,13 +126,13 @@ export class LibraryListWidget extends ListWidget< ), message, buttons: [ - nls.localize('arduino/library/installAll', 'Install all'), + nls.localize('vscode/issueMainService/cancel', 'Cancel'), nls.localize( 'arduino/library/installOnly', 'Install {0} only', item.name ), - nls.localize('vscode/issueMainService/cancel', 'Cancel'), + nls.localize('arduino/library/installAll', 'Install all'), ], maxWidth: 740, // Aligned with `settings-dialog.css`. }).open(); @@ -201,7 +201,9 @@ class MessageBoxDialog extends AbstractDialog { options.buttons || [nls.localize('vscode/issueMainService/ok', 'OK')] ).forEach((text, index) => { const button = this.createButton(text); - button.classList.add(index === 0 ? 'main' : 'secondary'); + const isPrimaryButton = + index === (options.buttons ? options.buttons.length - 1 : 0); + button.classList.add(isPrimaryButton ? 'main' : 'secondary'); this.controlPanel.appendChild(button); this.toDisposeOnDetach.push( addEventListener(button, 'click', () => { diff --git a/arduino-ide-extension/src/browser/style/settings-dialog.css b/arduino-ide-extension/src/browser/style/settings-dialog.css index 10ddfd0a0..017f8c07e 100644 --- a/arduino-ide-extension/src/browser/style/settings-dialog.css +++ b/arduino-ide-extension/src/browser/style/settings-dialog.css @@ -93,4 +93,5 @@ .p-Widget.dialogOverlay .dialogBlock .dialogContent.additional-urls-dialog { display: block; + overflow: hidden; } diff --git a/arduino-ide-extension/src/browser/theia/workspace/workspace-input-dialog.ts b/arduino-ide-extension/src/browser/theia/workspace/workspace-input-dialog.ts index d70d7e27d..7dca96b7f 100644 --- a/arduino-ide-extension/src/browser/theia/workspace/workspace-input-dialog.ts +++ b/arduino-ide-extension/src/browser/theia/workspace/workspace-input-dialog.ts @@ -14,7 +14,8 @@ export class WorkspaceInputDialog extends TheiaWorkspaceInputDialog { constructor( @inject(WorkspaceInputDialogProps) protected override readonly props: WorkspaceInputDialogProps, - @inject(LabelProvider) protected override readonly labelProvider: LabelProvider + @inject(LabelProvider) + protected override readonly labelProvider: LabelProvider ) { super(props, labelProvider); this.appendCloseButton( @@ -41,4 +42,14 @@ export class WorkspaceInputDialog extends TheiaWorkspaceInputDialog { this.errorMessageNode.innerText = DialogError.getMessage(error); } } + + protected override appendCloseButton(text: string): HTMLButtonElement { + this.closeButton = this.createButton(text); + this.controlPanel.insertBefore( + this.closeButton, + this.controlPanel.lastChild + ); + this.closeButton.classList.add('secondary'); + return this.closeButton; + } }