From 7bcd43bf5d72ff491a2a2903fba8928a565aa781 Mon Sep 17 00:00:00 2001 From: Francesco Spissu Date: Thu, 1 Sep 2022 14:14:43 +0200 Subject: [PATCH 1/7] move primary buttons on the right of the dialogs --- .../src/browser/dialogs/settings/settings-dialog.tsx | 2 +- .../src/browser/library/library-list-widget.ts | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) 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..8f7994d3c 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,8 @@ 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 i = options.buttons ? options.buttons?.length - 1 : 0; + button.classList.add(index === i ? 'main' : 'secondary'); this.controlPanel.appendChild(button); this.toDisposeOnDetach.push( addEventListener(button, 'click', () => { From 3e435b42b224244c413ae3d73cc1c9edbcc335df Mon Sep 17 00:00:00 2001 From: Francesco Spissu Date: Thu, 1 Sep 2022 14:28:46 +0200 Subject: [PATCH 2/7] fix overflow in additional urls dialog --- arduino-ide-extension/src/browser/style/settings-dialog.css | 1 + 1 file changed, 1 insertion(+) 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; } From 1420c9bbfe719a64afba916530f662b33c432b87 Mon Sep 17 00:00:00 2001 From: Francesco Spissu Date: Fri, 2 Sep 2022 11:24:10 +0200 Subject: [PATCH 3/7] accept button on the right for new sketch dialog --- .../theia/workspace/workspace-input-dialog.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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..47b475398 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,12 +14,17 @@ 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( - nls.localize('vscode/issueMainService/cancel', 'Cancel') - ); + if (this.acceptButton) { + this.controlPanel.removeChild(this.acceptButton); + this.appendCloseButton( + nls.localize('vscode/issueMainService/cancel', 'Cancel') + ); + this.appendAcceptButton(); + } } protected override appendParentPath(): void { From eb37f689cce9db34f60297962c58f8ec218d98f3 Mon Sep 17 00:00:00 2001 From: Francesco Spissu Date: Tue, 6 Sep 2022 19:44:10 +0200 Subject: [PATCH 4/7] improve primary button check --- .../src/browser/library/library-list-widget.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 8f7994d3c..f69837de9 100644 --- a/arduino-ide-extension/src/browser/library/library-list-widget.ts +++ b/arduino-ide-extension/src/browser/library/library-list-widget.ts @@ -201,8 +201,9 @@ class MessageBoxDialog extends AbstractDialog { options.buttons || [nls.localize('vscode/issueMainService/ok', 'OK')] ).forEach((text, index) => { const button = this.createButton(text); - const i = options.buttons ? options.buttons?.length - 1 : 0; - button.classList.add(index === i ? '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', () => { From c7cdaa6ef0585ec33f1ba22a4e83f4cad8fe7525 Mon Sep 17 00:00:00 2001 From: Francesco Spissu Date: Wed, 7 Sep 2022 08:37:46 +0200 Subject: [PATCH 5/7] override appendCloseButton --- .../theia/workspace/workspace-input-dialog.ts | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) 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 47b475398..0475a5eed 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 @@ -18,13 +18,9 @@ export class WorkspaceInputDialog extends TheiaWorkspaceInputDialog { protected override readonly labelProvider: LabelProvider ) { super(props, labelProvider); - if (this.acceptButton) { - this.controlPanel.removeChild(this.acceptButton); - this.appendCloseButton( - nls.localize('vscode/issueMainService/cancel', 'Cancel') - ); - this.appendAcceptButton(); - } + this.appendCloseButton( + nls.localize('vscode/issueMainService/cancel', 'Cancel') + ); } protected override appendParentPath(): void { @@ -46,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.firstChild + ); + this.closeButton.classList.add('secondary'); + return this.closeButton; + } } From 769f08c359f3aa02e2555d6d5e8589168abf7f97 Mon Sep 17 00:00:00 2001 From: Francesco Spissu <94986937+francescospissu@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:19:03 +0200 Subject: [PATCH 6/7] remove useless question mark --- .../src/browser/library/library-list-widget.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 f69837de9..9e8eba64c 100644 --- a/arduino-ide-extension/src/browser/library/library-list-widget.ts +++ b/arduino-ide-extension/src/browser/library/library-list-widget.ts @@ -202,7 +202,7 @@ class MessageBoxDialog extends AbstractDialog { ).forEach((text, index) => { const button = this.createButton(text); const isPrimaryButton = - index === (options.buttons ? options.buttons?.length - 1 : 0); + index === (options.buttons ? options.buttons.length - 1 : 0); button.classList.add(isPrimaryButton ? 'main' : 'secondary'); this.controlPanel.appendChild(button); this.toDisposeOnDetach.push( From 04f23ded9ba9d9cee64a62a3a2a5ac5ff3ea07ab Mon Sep 17 00:00:00 2001 From: Francesco Spissu <94986937+francescospissu@users.noreply.github.com> Date: Thu, 15 Sep 2022 15:06:09 +0200 Subject: [PATCH 7/7] insert close button before last child --- .../src/browser/theia/workspace/workspace-input-dialog.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 0475a5eed..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 @@ -47,7 +47,7 @@ export class WorkspaceInputDialog extends TheiaWorkspaceInputDialog { this.closeButton = this.createButton(text); this.controlPanel.insertBefore( this.closeButton, - this.controlPanel.firstChild + this.controlPanel.lastChild ); this.closeButton.classList.add('secondary'); return this.closeButton;