mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-08 17:23:51 +00:00
Added #2005 Export files to directories by bundle names on multiple bundle (zips, etc.) selection
This commit is contained in:
@@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file.
|
||||
opening dialogs on same screen as the main window,
|
||||
do not restore window size to larger value that actual screen size
|
||||
- [#1717] AS1/2/3 Option to hide P-code panel
|
||||
- [#2005] Export files to directories by bundle names on multiple bundle (zips, etc.) selection
|
||||
|
||||
### Fixed
|
||||
- [#1306], [#1768] Maximizing window on other than main monitor
|
||||
@@ -3195,6 +3196,7 @@ Major version of SWF to XML export changed to 2.
|
||||
[#1130]: https://www.free-decompiler.com/flash/issues/1130
|
||||
[#1220]: https://www.free-decompiler.com/flash/issues/1220
|
||||
[#1717]: https://www.free-decompiler.com/flash/issues/1717
|
||||
[#2005]: https://www.free-decompiler.com/flash/issues/2005
|
||||
[#1306]: https://www.free-decompiler.com/flash/issues/1306
|
||||
[#1768]: https://www.free-decompiler.com/flash/issues/1768
|
||||
[#2013]: https://www.free-decompiler.com/flash/issues/2013
|
||||
|
||||
@@ -45,7 +45,7 @@ public class OpenableList implements List<Openable>, SWFContainerItem {
|
||||
|
||||
@Override
|
||||
public Openable getOpenable() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1899,11 +1899,18 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
List<TreeItem> sel = getSelection(null, selection);
|
||||
|
||||
Set<Openable> usedOpenables = new HashSet<>();
|
||||
Set<OpenableList> usedOpenableLists = new HashSet<>();
|
||||
|
||||
Map<OpenableList, Map<String, Integer>> usedSwfIdsInBundles = new HashMap<>();
|
||||
|
||||
for (TreeItem d : sel) {
|
||||
Openable selectedNodeOpenable = d.getOpenable();
|
||||
if (!usedOpenables.contains(selectedNodeOpenable)) {
|
||||
usedOpenables.add(selectedNodeOpenable);
|
||||
}
|
||||
usedOpenables.add(selectedNodeOpenable);
|
||||
|
||||
OpenableList list = selectedNodeOpenable.getOpenableList();
|
||||
if (list != null) {
|
||||
usedOpenableLists.add(list);
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, Integer> usedSwfsIds = new HashMap<>();
|
||||
@@ -2026,8 +2033,15 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
}
|
||||
|
||||
String selFile2;
|
||||
if (usedOpenables.size() > 1) {
|
||||
selFile2 = selFile + File.separator + Helper.getNextId(openable.getTitleOrShortFileName(), usedSwfsIds);
|
||||
if (usedOpenables.size() > 1) {
|
||||
if (usedOpenableLists.size() > 1 && openable.getOpenableList() != null && openable.getOpenableList().isBundle()) {
|
||||
if (!usedSwfIdsInBundles.containsKey(openable.getOpenableList())) {
|
||||
usedSwfIdsInBundles.put(openable.getOpenableList(), new HashMap<>());
|
||||
}
|
||||
selFile2 = selFile + File.separator + openable.getOpenableList().name + File.separator + Helper.getNextId(openable.getTitleOrShortFileName(), usedSwfIdsInBundles.get(openable.getOpenableList()));
|
||||
} else {
|
||||
selFile2 = selFile + File.separator + Helper.getNextId(openable.getTitleOrShortFileName(), usedSwfsIds);
|
||||
}
|
||||
} else {
|
||||
selFile2 = selFile;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user