diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java index 89953c541..8c812ccdb 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java @@ -182,6 +182,12 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener search(final String txt, boolean ignoreCase, boolean regexp, CancellableWorker worker) { + List ignoredClasses = new ArrayList<>(); + List ignoredNss = new ArrayList<>(); + + if (Configuration._ignoreAdditionalFlexClasses.get()) { + abc.getSwf().getFlexMainClass(ignoredClasses, ignoredNss); + } if (txt != null && !txt.isEmpty()) { searchPanel.setOptions(ignoreCase, regexp); TagTreeModel ttm = (TagTreeModel) mainPanel.tagTree.getModel(); @@ -194,11 +200,24 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener ignoredClasses = new ArrayList<>(); + List ignoredNss = new ArrayList<>(); + if (Configuration._ignoreAdditionalFlexClasses.get()) { + getSwf().getFlexMainClass(ignoredClasses, ignoredNss); + } + filter = (filter == null || filter.isEmpty()) ? null : filter.toLowerCase(); + loop: for (ScriptPack item : list) { if (filter != null) { if (!item.getClassPath().toString().toLowerCase().contains(filter)) { @@ -84,6 +91,17 @@ public class ClassesListTreeModel extends AS3ClassTreeItem implements TreeModel if (!item.isSimple && Configuration.ignoreCLikePackages.get()) { continue; } + if (Configuration._ignoreAdditionalFlexClasses.get()) { + String fullName = item.getClassPath().packageStr.add(item.getClassPath().className).toRawString(); + if (ignoredClasses.contains(fullName)) { + continue; + } + for (String ns : ignoredNss) { + if (fullName.startsWith(ns + ".")) { + continue loop; + } + } + } DottedChain packageStr = item.getClassPath().packageStr; AS3Package pkg = ensurePackage(packageStr);