From 7592079c54dbf7fbf7643f47f5e84c4b8c07ded6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sat, 23 Jan 2016 20:08:47 +0100 Subject: [PATCH] Flex (Mxml) export stub --- .../decompiler/flash/gui/abc/ABCPanel.java | 19 +++++++++++++++++++ .../flash/gui/abc/ClassesListTreeModel.java | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) 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);