Added Flattened ActionScript packages (one row per package instead package tree), can be turned off in settings

Changes ActionScript packages are by default flattened
This commit is contained in:
Jindra Petřík
2022-11-19 22:53:19 +01:00
parent 5ce21673a4
commit 4f3bbe732b
14 changed files with 132 additions and 12 deletions

View File

@@ -33,6 +33,7 @@ import com.jpexs.decompiler.flash.abc.avm2.deobfuscation.DeobfuscationLevel;
import com.jpexs.decompiler.flash.abc.types.traits.Trait;
import com.jpexs.decompiler.flash.configuration.Configuration;
import com.jpexs.decompiler.flash.configuration.ConfigurationItem;
import com.jpexs.decompiler.flash.configuration.ConfigurationItemChangeListener;
import com.jpexs.decompiler.flash.configuration.CustomConfigurationKeys;
import com.jpexs.decompiler.flash.configuration.SwfSpecificCustomConfiguration;
import com.jpexs.decompiler.flash.dumpview.DumpInfo;
@@ -1191,6 +1192,14 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
calculateMissingNeededThread = new CalculateMissingNeededThread();
calculateMissingNeededThread.start();
pinsPanel.load();
Configuration.flattenASPackages.addListener(new ConfigurationItemChangeListener<Boolean>() {
@Override
public void configurationItemChanged(Boolean newValue) {
resetAllTimelines();
refreshTree();
}
});
}
public void closeTagTreeSearch() {
@@ -1201,6 +1210,20 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
searchPanel.setVisible(false);
}
public void resetAllTimelines() {
List<SWFList> swfsLists = new ArrayList<>(swfs);
List<SWF> allSwfs = new ArrayList<>();
for (SWFList swfList : swfsLists) {
allSwfs.addAll(swfList);
for (SWF swf : swfList) {
Main.populateSwfs(swf, allSwfs);
}
}
for (SWF swf : allSwfs) {
swf.resetTimeline();
}
}
public void loadSwfAtPos(SWFList newSwfs, int index) {
View.checkAccess();