mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-25 16:35:57 +00:00
Removing whole AS2 packages
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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<>();
|
||||
|
||||
Reference in New Issue
Block a user