diff --git a/webext/background.js b/webext/background.js index 45157aa..73edba3 100644 --- a/webext/background.js +++ b/webext/background.js @@ -108,7 +108,7 @@ SysTrayX.Messaging = { listenerFolderCreated: function (createdFolder) { console.debug("Folder created: " + JSON.stringify(createdFolder)); - const found = isParentFilteredFolder(createdFolder); + const found = isParentFolderInFilters(createdFolder); if (found) { addFolderToFilters(createdFolder); } @@ -117,12 +117,19 @@ SysTrayX.Messaging = { listenerFolderRenamed: function (originalFolder, renameFolder) { console.debug("Folder renamed from: " + JSON.stringify(originalFolder)); console.debug("Folder renamed to: " + JSON.stringify(renameFolder)); + + deleteFolderFromFilters(originalFolder); + + const found = isParentFolderInFilters(renameFolder); + if (found) { + addFolderToFilters(renameFolder); + } }, listenerFolderDeleted: function (deletedFolder) { console.debug("Folder deleted: " + JSON.stringify(deletedFolder)); - deleteFilteredFolder(deletedFolder); + deleteFolderFromFilters(deletedFolder); }, listenerFolderInfoChanged: function (folder, folderInfo) { diff --git a/webext/js/defaults.js b/webext/js/defaults.js index 212a4ef..fa968ba 100644 --- a/webext/js/defaults.js +++ b/webext/js/defaults.js @@ -507,7 +507,7 @@ async function getCloseType() { // Helper funcs for TB91 and later folder handling // Check if a folder is in the filter list -function isFilteredFolder(folder) { +function isFolderInFilters(folder) { return ( SysTrayX.Messaging.filters.filter( (filter) => @@ -519,7 +519,7 @@ function isFilteredFolder(folder) { } // Check if the parent folder of a folder is in the filter list -function isParentFilteredFolder(folder) { +function isParentFolderInFilters(folder) { const parentPath = folder.path.substring(0, folder.path.lastIndexOf("/")); return ( @@ -533,13 +533,13 @@ function isParentFilteredFolder(folder) { } // Delete a folder from the filter list -function deleteFilteredFolder(deleteFolder) { +function deleteFolderFromFilters(folder) { const newFilters = SysTrayX.Messaging.filters.filter( (filter) => !( - filter.folder.accountId === deleteFolder.accountId && - (filter.folder.path === deleteFolder.path || - filter.folder.path.toUpperCase() === deleteFolder.path) + filter.folder.accountId === folder.accountId && + (filter.folder.path === folder.path || + filter.folder.path.toUpperCase() === folder.path) ) );