Removing whole AS2 packages

This commit is contained in:
Jindra Petřík
2021-02-16 10:07:34 +01:00
parent 0f192c14cb
commit e5720f2128
2 changed files with 28 additions and 3 deletions

View File

@@ -8,7 +8,7 @@ All notable changes to this project will be documented in this file.
- #1260, #1438 AS1/2 direct editing on(xxx), onClipEvent(xxx) handlers
- #1366, #1409, #1429, #1573, #1598 AS1/2/3 Add script/class (context menu on scripts folder)
- Removing BUTTONCONDACTION, CLIPACTIONRECORD
- Removing whole AS1/2 script folders (frame, DefineSprite)
- Removing whole AS1/2 script folders (frame, DefineSprite, packages)
- Removing AS3 scripts and whole packages
- Japanese translation

View File

@@ -288,6 +288,11 @@ public class TagTreeContextMenu extends JPopupMenu {
continue;
}
if (item instanceof AS2Package) {
allDoNotHaveDependencies = false;
continue;
}
if (item instanceof CLIPACTIONRECORD) {
continue;
}
@@ -306,6 +311,7 @@ public class TagTreeContextMenu extends JPopupMenu {
continue;
}
canRemove = false;
break;
} else {
@@ -1290,6 +1296,13 @@ public class TagTreeContextMenu extends JPopupMenu {
}
}
private void getAllAS2PackageScriptPacks(AS2Package pkg, List<ASMSource> out) {
out.addAll(pkg.scripts.values());
for (AS2Package sub : pkg.subPackages.values()) {
getAllAS2PackageScriptPacks(sub, out);
}
}
private void removeItemActionPerformed(ActionEvent evt, boolean removeDependencies) {
TreePath[] tpsArr = tagTree.getSelectionModel().getSelectionPaths();
@@ -1329,8 +1342,11 @@ public class TagTreeContextMenu extends JPopupMenu {
itemsToRemove.add(item);
itemsToRemoveParents.add(new Object());
itemsToRemoveSprites.add(new Object());
}
if (item instanceof Tag) {
} else if (item instanceof AS2Package) {
itemsToRemove.add(item);
itemsToRemoveParents.add(new Object());
itemsToRemoveSprites.add(new Object());
} else if (item instanceof Tag) {
tagsToRemove.add((Tag) item);
} else if ((item instanceof TagScript) && (((TagScript) item).getTag() instanceof ASMSource)) {
tagsToRemove.add(((TagScript) item).getTag());
@@ -1398,6 +1414,15 @@ public class TagTreeContextMenu extends JPopupMenu {
}
}
}
if (item instanceof AS2Package) {
List<ASMSource> subAsmSources = new ArrayList<>();
getAllAS2PackageScriptPacks((AS2Package) item, subAsmSources);
for (ASMSource asmSource : subAsmSources) {
if (!itemsToRemove.contains(asmSource)) {
tagsToRemove.add((Tag) asmSource);
}
}
}
}
List<ABC> abcsToPack = new ArrayList<>();