diff --git a/package.json b/package.json index 00da7d941..4f852cf4b 100644 --- a/package.json +++ b/package.json @@ -1473,6 +1473,13 @@ "category": "IBM i", "icon": "$(filter)" }, + { + "command": "code-for-ibmi.objectBrowser.removeFilter", + "enablement": "code-for-ibmi:connected", + "title": "Remove Filter", + "category": "IBM i", + "icon": "$(remove)" + }, { "command": "code-for-ibmi.objectBrowser.delete", "enablement": "code-for-ibmi:connected", @@ -2221,6 +2228,10 @@ "command": "code-for-ibmi.copyFilter", "when": "never" }, + { + "command": "code-for-ibmi.objectBrowser.removeFilter", + "when": "never" + }, { "command": "code-for-ibmi.objectBrowser.delete", "when": "never" @@ -2596,9 +2607,9 @@ "group": "4_filters@2" }, { - "command": "code-for-ibmi.objectBrowser.delete", + "command": "code-for-ibmi.objectBrowser.removeFilter", "when": "view == objectBrowser && viewItem =~ /^filter.*$/", - "group": "4_filters@3" + "group": "4_filters@4" }, { "command": "code-for-ibmi.moveFilterUp", diff --git a/src/views/objectBrowser.ts b/src/views/objectBrowser.ts index 4d6bef759..4964b507a 100644 --- a/src/views/objectBrowser.ts +++ b/src/views/objectBrowser.ts @@ -1234,6 +1234,15 @@ export function initializeObjectBrowser(context: vscode.ExtensionContext) { } } while (newLibrary && !newLibraryOK) }), + vscode.commands.registerCommand(`code-for-ibmi.objectBrowser.removeFilter`, async (node?: ObjectBrowserItem) => { + if (node && node instanceof ObjectBrowserFilterItem) { + const message = t('objectBrowser.delete.confirm', node.toString()); + if (await vscode.window.showWarningMessage(message, { modal: true }, t(`Yes`))) { + await node.delete(); + vscode.commands.executeCommand(`code-for-ibmi.refreshObjectBrowser`); + } + } + }), vscode.commands.registerCommand("code-for-ibmi.objectBrowser.delete", async (node?: ObjectBrowserItem, nodes?: ObjectBrowserItem[]) => { const candidates: ObjectBrowserItem[] = []; if (nodes) {