Skip to content

Commit

Permalink
Added support for Delete hotkey in browsers
Browse files Browse the repository at this point in the history
Signed-off-by: Seb Julliand <sebjulliand@gmail.com>
  • Loading branch information
sebjulliand committed Feb 23, 2024
1 parent a9017c8 commit a6b5f2d
Show file tree
Hide file tree
Showing 9 changed files with 368 additions and 324 deletions.
126 changes: 59 additions & 67 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -1224,13 +1224,6 @@
"category": "IBM i",
"icon": "$(files)"
},
{
"command": "code-for-ibmi.deleteMember",
"enablement": "code-for-ibmi:connected",
"title": "Delete...",
"category": "IBM i",
"icon": "$(symbol-file)"
},
{
"command": "code-for-ibmi.updateMemberText",
"enablement": "code-for-ibmi:connected",
Expand Down Expand Up @@ -1435,7 +1428,7 @@
"icon": "$(filter)"
},
{
"command": "code-for-ibmi.deleteFilter",
"command": "code-for-ibmi.objectBrowser.delete",
"enablement": "code-for-ibmi:connected",
"title": "Delete...",
"category": "IBM i",
Expand Down Expand Up @@ -1523,13 +1516,6 @@
"category": "IBM i",
"icon": "$(symbol-file)"
},
{
"command": "code-for-ibmi.deleteObject",
"enablement": "code-for-ibmi:connected",
"title": "Delete...",
"category": "IBM i",
"icon": "$(symbol-file)"
},
{
"command": "code-for-ibmi.renameObject",
"enablement": "code-for-ibmi:connected",
Expand Down Expand Up @@ -1655,6 +1641,21 @@
"key": "ctrl+r",
"mac": "cmd+r",
"when": "editorLangId == cl"
},
{
"command": "code-for-ibmi.deleteConnection",
"key": "delete",
"when": "focusedView === connectionBrowser && listHasSelectionOrFocus"
},
{
"command": "code-for-ibmi.deleteIFS",
"key": "delete",
"when": "focusedView === ifsBrowser && listHasSelectionOrFocus"
},
{
"command": "code-for-ibmi.objectBrowser.delete",
"key": "delete",
"when": "focusedView === objectBrowser && listHasSelectionOrFocus"
}
],
"viewsContainers": {
Expand Down Expand Up @@ -1909,10 +1910,6 @@
"command": "code-for-ibmi.moveFilterToBottom",
"when": "never"
},
{
"command": "code-for-ibmi.deleteFilter",
"when": "never"
},
{
"command": "code-for-ibmi.createMember",
"when": "never"
Expand All @@ -1921,10 +1918,6 @@
"command": "code-for-ibmi.copyMember",
"when": "never"
},
{
"command": "code-for-ibmi.deleteMember",
"when": "never"
},
{
"command": "code-for-ibmi.updateMemberText",
"when": "never"
Expand Down Expand Up @@ -1953,10 +1946,6 @@
"command": "code-for-ibmi.copyObject",
"when": "never"
},
{
"command": "code-for-ibmi.deleteObject",
"when": "never"
},
{
"command": "code-for-ibmi.renameObject",
"when": "never"
Expand Down Expand Up @@ -2170,7 +2159,7 @@
"view/item/context": [
{
"command": "code-for-ibmi.renameConnection",
"when": "view == connectionBrowser && viewItem == server",
"when": "view == connectionBrowser && !listMultiSelection && viewItem == server",
"group": "2_delete@1"
},
{
Expand All @@ -2180,22 +2169,22 @@
},
{
"command": "code-for-ibmi.showAdditionalSettings",
"when": "view == connectionBrowser && viewItem == server",
"when": "view == connectionBrowser && !listMultiSelection && viewItem == server",
"group": "1_manage@1"
},
{
"command": "code-for-ibmi.showLoginSettings",
"when": "view == connectionBrowser && viewItem == server",
"when": "view == connectionBrowser && !listMultiSelection && viewItem == server",
"group": "1_manage@2"
},
{
"command": "code-for-ibmi.connectTo",
"when": "view == connectionBrowser && viewItem == server",
"when": "view == connectionBrowser && !listMultiSelection && viewItem == server",
"group": "inline"
},
{
"command": "code-for-ibmi.connectToAndReload",
"when": "view == connectionBrowser && viewItem == server",
"when": "view == connectionBrowser && !listMultiSelection && viewItem == server",
"group": "3_connect@1"
},
{
Expand Down Expand Up @@ -2274,7 +2263,7 @@
"group": "4_filters@2"
},
{
"command": "code-for-ibmi.deleteFilter",
"command": "code-for-ibmi.objectBrowser.delete",
"when": "view == objectBrowser && viewItem =~ /^filter.*$/",
"group": "4_filters@3"
},
Expand Down Expand Up @@ -2318,10 +2307,15 @@
"when": "view == objectBrowser && viewItem =~ /^SPF.*$/",
"group": "4_sourceFileStuff@1"
},
{
"command": "code-for-ibmi.objectBrowser.delete",
"when": "view == objectBrowser && viewItem == SPF",
"group": "5_sourceFileStuff@1"
},
{
"submenu": "code-for-ibmi.sortMembers",
"when": "view == objectBrowser && (viewItem =~ /^SPF/ || viewItem =~ /^member/)",
"group": "5_sourceFileStuff@1"
"group": "6_sourceFileStuff@1"
},
{
"submenu": "code-for-ibmi.openMember",
Expand Down Expand Up @@ -2349,7 +2343,7 @@
"group": "2_memberStuff@2"
},
{
"command": "code-for-ibmi.deleteMember",
"command": "code-for-ibmi.objectBrowser.delete",
"when": "view == objectBrowser && viewItem == member",
"group": "2_memberStuff@4"
},
Expand Down Expand Up @@ -2393,26 +2387,26 @@
"when": "view == ifsBrowser && !listMultiSelection && viewItem == streamfile",
"group": "1_workspace@1"
},
{
"command": "code-for-ibmi.createStreamfile",
"when": "view == ifsBrowser && !listMultiSelection && viewItem =~ /^directory.*$/",
"group": "2_ifsStuff@1"
},
{
"command": "code-for-ibmi.createDirectory",
"when": "view == ifsBrowser && !listMultiSelection && viewItem =~ /^directory.*$/",
"group": "2_ifsStuff@2"
},
{
"command": "code-for-ibmi.copyIFS",
"when": "view == ifsBrowser && !listMultiSelection && !(viewItem =~ /^.*_protected$/)",
"group": "2_ifsStuff@3"
},
{
"command": "code-for-ibmi.moveIFS",
"when": "view == ifsBrowser && !listMultiSelection && !(viewItem =~ /^.*_protected$/)",
"group": "2_ifsStuff@4"
},
{
"command": "code-for-ibmi.createStreamfile",
"when": "view == ifsBrowser && !listMultiSelection && viewItem =~ /^directory.*$/",
"group": "2_ifsStuff@1"
},
{
"command": "code-for-ibmi.createDirectory",
"when": "view == ifsBrowser && !listMultiSelection && viewItem =~ /^directory.*$/",
"group": "2_ifsStuff@2"
},
{
"command": "code-for-ibmi.copyIFS",
"when": "view == ifsBrowser && !listMultiSelection && !(viewItem =~ /^.*_protected$/)",
"group": "2_ifsStuff@3"
},
{
"command": "code-for-ibmi.moveIFS",
"when": "view == ifsBrowser && !listMultiSelection && !(viewItem =~ /^.*_protected$/)",
"group": "2_ifsStuff@4"
},
{
"command": "code-for-ibmi.deleteIFS",
"when": "view == ifsBrowser && !(viewItem =~ /^.*_protected$/)",
Expand All @@ -2438,11 +2432,11 @@
"when": "view == ifsBrowser && !listMultiSelection && viewItem =~ /^directory.*$/",
"group": "3_ifsStuff@3"
},
{
"command": "code-for-ibmi.createStreamfile",
"when": "view == ifsBrowser && !listMultiSelection && viewItem =~ /^shortcut.*$/",
"group": "2_ifsStuff@1"
},
{
"command": "code-for-ibmi.createStreamfile",
"when": "view == ifsBrowser && !listMultiSelection && viewItem =~ /^shortcut.*$/",
"group": "2_ifsStuff@1"
},
{
"command": "code-for-ibmi.createDirectory",
"when": "view == ifsBrowser && !listMultiSelection && viewItem =~ /^shortcut.*$/",
Expand Down Expand Up @@ -2519,21 +2513,19 @@
"group": "1_objActions@2"
},
{
"command": "code-for-ibmi.deleteObject",

"when": "view == objectBrowser && (viewItem =~ /^object/ || viewItem == SPF)",
"command": "code-for-ibmi.objectBrowser.delete",
"when": "view == objectBrowser && viewItem =~ /^object/",
"group": "1_objActions@5"
},
{
"command": "code-for-ibmi.renameObject",
"when": "view == objectBrowser && (viewItem =~ /^object/ || viewItem == SPF)",
"when": "view == objectBrowser && viewItem =~ /^object/",
"group": "1_objActions@3"
},
{
"command": "code-for-ibmi.moveObject",
"when": "view == objectBrowser && (viewItem =~ /^object(?!.lib)/ || viewItem == SPF)",
"when": "view == objectBrowser && viewItem =~ /^object(?!.lib)/",
"group": "1_objActions@4"

},
{
"command": "code-for-ibmi.createSourceFile",
Expand Down Expand Up @@ -2604,4 +2596,4 @@
"HalcyonTechLtd.vscode-ibmi-walkthroughs",
"vscode.git"
]
}
}
2 changes: 1 addition & 1 deletion src/api/IBMiContent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -506,7 +506,7 @@ export default class IBMiContent {
let createOBJLIST;
if (sourceFilesOnly) {
//DSPFD only
createOBJLIST =`select PHFILE as NAME, ` +
createOBJLIST = `select PHFILE as NAME, ` +
`'*FILE' as TYPE, ` +
`PHFILA as ATTRIBUTE, ` +
`PHTXT as TEXT, ` +
Expand Down
13 changes: 6 additions & 7 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,13 @@ import { updateLocale } from "./locale";
import * as Sandbox from "./sandbox";
import { initialise } from "./testing";
import { CodeForIBMi, ConnectionData } from "./typings";
import { ObjectBrowserProvider } from "./views/ConnectionBrowser";
import { initializeConnectionBrowser } from "./views/ConnectionBrowser";
import { LibraryListProvider } from "./views/LibraryListView";
import { ProfilesView } from "./views/ProfilesView";
import { HelpView } from "./views/helpView";
import { initializeIFSBrowser } from "./views/ifsBrowser";
import { initializeObjectBrowser } from "./views/objectBrowser";
import { SettingsUI } from "./webviews/settings";

export async function activate(context: ExtensionContext): Promise<CodeForIBMi> {
// Use the console to output diagnostic information (console.log) and errors (console.error)
Expand All @@ -41,15 +42,13 @@ export async function activate(context: ExtensionContext): Promise<CodeForIBMi>
GlobalStorage.get().setLastConnections(lastConnections);
commands.executeCommand(`setContext`, `code-for-ibmi:hasPreviousConnection`, lastConnections.length > 0);
};


SettingsUI.init(context);
initializeConnectionBrowser(context);
initializeObjectBrowser(context)
initializeIFSBrowser(context);

context.subscriptions.push(
window.registerTreeDataProvider(
`connectionBrowser`,
new ObjectBrowserProvider(context)
),
context.subscriptions.push(
window.registerTreeDataProvider(
`helpView`,
new HelpView()
Expand Down
4 changes: 2 additions & 2 deletions src/locale/ids/da.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export const da: Locale = {
'connectionBrowser.renameConnection.noConnParmsFound': `Ingen parametre til forbindelsen '{0}' blev fundet`,
'connectionBrowser.renameConnection.error': `Fejl ved omdøbning af forbindelsen '{0}'! {1}`,
'connectionBrowser.deleteConnection.warning': `Er du sikker på at du vil slette forbindelsen '{0}'?`,
'connectionBrowser.deleteConnection.multiple.warning': `Er du sikker på at du vil disse forbindelser?`,
'connectionBrowser.ServerItem.tooltip': ` (forrige forbindelse)`,
'connectionBrowser.ServerItem.title': `Forbind`,
// helpView:
Expand Down Expand Up @@ -90,7 +91,7 @@ export const da: Locale = {
'ifsBrowser.uploadStreamfile.select.type.title':'Hvad ønsker du at uploade?',
'ifsBrowser.deleteIFS.dirNotAllowed': `Ikke tilladt at slette valgte mapper fra IFS Browser.\n{0}`,
'ifsBrowser.deleteIFS.warningMessage': `Er du sikker på at du vil slette {0}?`,
'ifsBrowser.deleteIFS.multi.warningMessage': `Er du sikker på at du vil slette de {0} valgte filer?`,
'ifsBrowser.deleteIFS.multi.warningMessage': `Er du sikker på at du vil slette de {0} valgte filer?\n{1}`,
'ifsBrowser.deleteIFS.deletionPrompt': `Når du har slettet mappen, kan den ikke retableres.\nVenligst tast \"{0}\" for at bekræfte sletning.`,
'ifsBrowser.deleteIFS.deletionPrompt2': ` (Tryk \'Escape\' for at afbryde)`,
'ifsBrowser.deleteIFS.infoMessage': `Slettede {0}.`,
Expand Down Expand Up @@ -191,7 +192,6 @@ export const da: Locale = {
'objectBrowser.copyObject.infoMessage': `Kopierede objekt {0} {1} til {2}.`,
'objectBrowser.copyObject.infoMessage2': `Kopierede objekt {0} {1} til {2}. Opfrisk object browser.`,
'objectBrowser.copyObject.errorMessage4': `Fejl ved kopiering af objekt {0}! {1}`,
'objectBrowser.deleteObject.warningMessage': `Er du sikker på at du vil slette {0} {1}?`,
'objectBrowser.deleteObject.infoMessage': `Slettede {0} {1}.`,
'objectBrowser.deleteObject.errorMessage': `Fejl ved sletning af objekt! {0}`,
'objectBrowser.deleteObject.progress':'Sletter objekt {0} {1}...',
Expand Down
4 changes: 2 additions & 2 deletions src/locale/ids/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export const en: Locale = {
'connectionBrowser.renameConnection.noConnParmsFound': `No parameters for connection '{0}' was found`,
'connectionBrowser.renameConnection.error': `Error renaming connection '{0}'! {1}`,
'connectionBrowser.deleteConnection.warning': `Are you sure you want to delete the connection '{0}'?`,
'connectionBrowser.deleteConnection.multiple.warning': `Are you sure you want to delete these connections?`,
'connectionBrowser.ServerItem.tooltip': ` (previous connection)`,
'connectionBrowser.ServerItem.title': `Connect`,
// helpView:
Expand Down Expand Up @@ -90,7 +91,7 @@ export const en: Locale = {
'ifsBrowser.uploadStreamfile.select.type.title':'What do you want to upload?',
'ifsBrowser.deleteIFS.dirNotAllowed': `Unable to delete protected directories from the IFS Browser!\n{0}`,
'ifsBrowser.deleteIFS.warningMessage': `Are you sure you want to delete {0}?`,
'ifsBrowser.deleteIFS.multi.warningMessage': `Are you sure you want to delete the {0} selected files?`,
'ifsBrowser.deleteIFS.multi.warningMessage': `Are you sure you want to delete the {0} selected files?\n{1}`,
'ifsBrowser.deleteIFS.deletionPrompt': `Once you delete the directory, it cannot be restored.\nPlease type \"{0}\" to confirm deletion.`,
'ifsBrowser.deleteIFS.deletionPrompt2': ` (Press \'Escape\' to cancel)`,
'ifsBrowser.deleteIFS.infoMessage': `Deleted {0}.`,
Expand Down Expand Up @@ -191,7 +192,6 @@ export const en: Locale = {
'objectBrowser.copyObject.infoMessage': `Copied object {0} {1} to {2}.`,
'objectBrowser.copyObject.infoMessage2': `Copied object {0} {1} to {2}. Refresh object browser.`,
'objectBrowser.copyObject.errorMessage4': `Error copying object {0}! {1}`,
'objectBrowser.deleteObject.warningMessage': `Are you sure you want to delete {0} {1}?`,
'objectBrowser.deleteObject.infoMessage': `Deleted {0} {1}.`,
'objectBrowser.deleteObject.errorMessage': `Error deleting object! {0}`,
'objectBrowser.deleteObject.progress':'Deleting object {0} {1}...',
Expand Down
4 changes: 2 additions & 2 deletions src/locale/ids/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export const fr: Locale = {
'connectionBrowser.renameConnection.noConnParmsFound': `Aucun paramètre pour la connexion '{0}' n'a été trouvé`,
'connectionBrowser.renameConnection.error': `Erreur lors du renommage de la connexion '{0}'! {1}`,
'connectionBrowser.deleteConnection.warning': `Êtes vous sûr de vouloir supprimer la connexion '{0}'?`,
'connectionBrowser.deleteConnection.multiple.warning': `Êtes vous sûr de vouloir supprimer ces connexions?`,
'connectionBrowser.ServerItem.tooltip': ` (précédente connexion)`,
'connectionBrowser.ServerItem.title': `Se Connecter`,
// helpView:
Expand Down Expand Up @@ -90,7 +91,7 @@ export const fr: Locale = {
'ifsBrowser.uploadStreamfile.select.type.title':'Que souhaitez-vous envoyer?',
'ifsBrowser.deleteIFS.dirNotAllowed': `Impossible de supprimer les répertoires protégés depuis l'Explorateur IFS!\n{0}`,
'ifsBrowser.deleteIFS.warningMessage': `Êtes-vous sûr de vouloir suprimer {0}?`,
'ifsBrowser.deleteIFS.multi.warningMessage': `Êtes-vous sûr de vouloir suprimer les {0} fichiers sélectionnés?`,
'ifsBrowser.deleteIFS.multi.warningMessage': `Êtes-vous sûr de vouloir suprimer les {0} fichiers sélectionnés?\n{1}`,
'ifsBrowser.deleteIFS.deletionPrompt': `La suppression du répertoire est irréversible!\nEntrez \"{0}\" pour confirmer la suppression.`,
'ifsBrowser.deleteIFS.deletionPrompt2': ` (Appuyer sur \'Escape\' pour annuler)`,
'ifsBrowser.deleteIFS.infoMessage': `{0} supprimé.`,
Expand Down Expand Up @@ -191,7 +192,6 @@ export const fr: Locale = {
'objectBrowser.copyObject.infoMessage': `Objet {0} {1} copié vers {2}.`,
'objectBrowser.copyObject.infoMessage2': `Objet {0} {1} copié vers {2}. Rafraîchissement de l'explorateur d'objet.`,
'objectBrowser.copyObject.errorMessage4': `Erreur lors de la copie de l'objet {0}! {1}`,
'objectBrowser.deleteObject.warningMessage': `Êtes-vous sûr de vouloir supprimer {0} {1}?`,
'objectBrowser.deleteObject.infoMessage': `{0} {1} supprimé.`,
'objectBrowser.deleteObject.errorMessage': `Erreur lors de la suppression de l'objet! {0}`,
'objectBrowser.deleteObject.progress':`Suppression de l'objet {0} {1}...`,
Expand Down
Loading

0 comments on commit a6b5f2d

Please sign in to comment.