Skip to content

Commit 8c9a072

Browse files
authored
1 parent 130ecf8 commit 8c9a072

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/vs/base/browser/ui/icons/iconSelectBox.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export class IconSelectBox extends Disposable {
4545

4646
protected inputBox: InputBox | undefined;
4747
private scrollableElement: DomScrollableElement | undefined;
48+
private iconsContainer: HTMLElement | undefined;
4849
private iconIdElement: HighlightedLabel | undefined;
4950
private readonly iconContainerWidth = 36;
5051
private readonly iconContainerHeight = 36;
@@ -70,8 +71,7 @@ export class IconSelectBox extends Disposable {
7071
inputBoxStyles: this.options.inputBoxStyles,
7172
}));
7273

73-
const iconsContainer = dom.$('.icon-select-icons-container', { id: `${this.domId}_icons` });
74-
iconsContainer.style.paddingRight = '10px';
74+
const iconsContainer = this.iconsContainer = dom.$('.icon-select-icons-container', { id: `${this.domId}_icons` });
7575
iconsContainer.role = 'listbox';
7676
iconsContainer.tabIndex = 0;
7777
this.scrollableElement = disposables.add(new DomScrollableElement(iconsContainer, {
@@ -218,16 +218,22 @@ export class IconSelectBox extends Disposable {
218218
this.domNode.style.width = `${dimension.width}px`;
219219
this.domNode.style.height = `${dimension.height}px`;
220220

221-
const iconsContainerWidth = dimension.width - 40;
221+
const iconsContainerWidth = dimension.width - 30;
222222
this.numberOfElementsPerRow = Math.floor(iconsContainerWidth / this.iconContainerWidth);
223223
if (this.numberOfElementsPerRow === 0) {
224224
throw new Error('Insufficient width');
225225
}
226226

227227
const extraSpace = iconsContainerWidth % this.iconContainerWidth;
228-
const margin = Math.floor(extraSpace / this.numberOfElementsPerRow);
228+
const iconElementMargin = Math.floor(extraSpace / this.numberOfElementsPerRow);
229229
for (const { element } of this.renderedIcons) {
230-
element.style.marginRight = `${margin}px`;
230+
element.style.marginRight = `${iconElementMargin}px`;
231+
}
232+
233+
const containerPadding = extraSpace % this.numberOfElementsPerRow;
234+
if (this.iconsContainer) {
235+
this.iconsContainer.style.paddingLeft = `${Math.floor(containerPadding / 2)}px`;
236+
this.iconsContainer.style.paddingRight = `${Math.ceil(containerPadding / 2)}px`;
231237
}
232238

233239
if (this.scrollableElement) {

src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ export class UserDataProfileImportExportService extends Disposable implements IU
366366
profileIconElement.role = 'button';
367367
profileIconElement.ariaLabel = localize('select icon', "Icon: {0}", icon.id);
368368
const iconSelectBox = disposables.add(this.instantiationService.createInstance(WorkbenchIconSelectBox, { icons: ICONS, inputBoxStyles: defaultInputBoxStyles }));
369-
const dimension = new DOM.Dimension(496, 260);
369+
const dimension = new DOM.Dimension(486, 260);
370370
iconSelectBox.layout(dimension);
371371
let hoverWidget: IHoverWidget | undefined;
372372

0 commit comments

Comments
 (0)