Skip to content

Commit 990b1fd

Browse files
authored
add remove action (microsoft#230261)
1 parent e7b0364 commit 990b1fd

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { IEditorOpenContext, IEditorSerializer, IUntypedEditorInput } from '../.
2020
import { EditorInput } from '../../../common/editor/editorInput.js';
2121
import { IUserDataProfilesEditor } from '../common/userDataProfile.js';
2222
import { IEditorGroup } from '../../../services/editor/common/editorGroupsService.js';
23-
import { defaultUserDataProfileIcon, IProfileTemplateInfo, IUserDataProfileService, PROFILE_FILTER } from '../../../services/userDataProfile/common/userDataProfile.js';
23+
import { defaultUserDataProfileIcon, IProfileTemplateInfo, IUserDataProfileManagementService, IUserDataProfileService, PROFILE_FILTER } from '../../../services/userDataProfile/common/userDataProfile.js';
2424
import { Orientation, Sizing, SplitView } from '../../../../base/browser/ui/splitview/splitview.js';
2525
import { Button, ButtonBar, ButtonWithDropdown } from '../../../../base/browser/ui/button/button.js';
2626
import { defaultButtonStyles, defaultCheckboxStyles, defaultInputBoxStyles, defaultSelectBoxStyles, getInputBoxStyle, getListStyles } from '../../../../platform/theme/browser/defaultStyles.js';
@@ -71,6 +71,7 @@ import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js'
7171
import { DropdownMenuActionViewItem } from '../../../../base/browser/ui/dropdown/dropdownActionViewItem.js';
7272

7373
const editIcon = registerIcon('profiles-editor-edit-folder', Codicon.edit, localize('editIcon', 'Icon for the edit folder icon in the profiles editor.'));
74+
const removeIcon = registerIcon('profiles-editor-remove-folder', Codicon.close, localize('removeIcon', 'Icon for the remove folder icon in the profiles editor.'));
7475

7576
export const profilesSashBorder = registerColor('profiles.sashBorder', PANEL_BORDER, localize('profilesSashBorder', "The color of the Profiles editor splitview sash border."));
7677

@@ -1569,8 +1570,8 @@ class ProfileWorkspacesRenderer extends ProfilePropertyRenderer {
15691570
label: '',
15701571
tooltip: '',
15711572
weight: 1,
1572-
minimumWidth: 60,
1573-
maximumWidth: 60,
1573+
minimumWidth: 84,
1574+
maximumWidth: 84,
15741575
templateId: WorkspaceUriActionsColumnRenderer.TEMPLATE_ID,
15751576
project(row: WorkspaceTableElement): WorkspaceTableElement { return row; }
15761577
},
@@ -2138,6 +2139,7 @@ class WorkspaceUriActionsColumnRenderer implements ITableRenderer<WorkspaceTable
21382139

21392140
constructor(
21402141
@IUserDataProfilesService private readonly userDataProfilesService: IUserDataProfilesService,
2142+
@IUserDataProfileManagementService private readonly userDataProfileManagementService: IUserDataProfileManagementService,
21412143
@IContextMenuService private readonly contextMenuService: IContextMenuService,
21422144
@IUriIdentityService private readonly uriIdentityService: IUriIdentityService,
21432145
) {
@@ -2167,6 +2169,7 @@ class WorkspaceUriActionsColumnRenderer implements ITableRenderer<WorkspaceTable
21672169
const actions: IAction[] = [];
21682170
actions.push(this.createOpenAction(item));
21692171
actions.push(new ChangeProfileAction(item, this.userDataProfilesService));
2172+
actions.push(this.createDeleteAction(item));
21702173
templateData.actionBar.push(actions, { icon: true });
21712174
}
21722175

@@ -2181,6 +2184,17 @@ class WorkspaceUriActionsColumnRenderer implements ITableRenderer<WorkspaceTable
21812184
};
21822185
}
21832186

2187+
private createDeleteAction(item: WorkspaceTableElement): IAction {
2188+
return {
2189+
label: '',
2190+
class: ThemeIcon.asClassName(removeIcon),
2191+
enabled: this.userDataProfileManagementService.getDefaultProfileToUse().id !== item.profileElement.profile.id,
2192+
id: 'deleteTrustedUri',
2193+
tooltip: localize('deleteTrustedUri', "Delete Path"),
2194+
run: () => item.profileElement.updateWorkspaces([], [item.workspace])
2195+
};
2196+
}
2197+
21842198
disposeTemplate(templateData: IActionsColumnTemplateData): void {
21852199
templateData.disposables.dispose();
21862200
}

0 commit comments

Comments
 (0)