diff --git a/CHANGELOG.md b/CHANGELOG.md index 43fc786a9..8560b0d69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ All notable changes to this project will be documented in this file. - Show in Resource command from Hex dump not working for tags inside DefineSprite - File did not appear modified when only header was modified - Copy / Move to tag tree refreshing +- Preview of PlaceObject and ShowFrame in the Dump view ### Changed - [#1455] All tag types are now allowed inside DefineSprite diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index aec3d694b..c09ab5374 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -3528,13 +3528,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se DumpInfo di = (DumpInfo) treeItem; t = di.getTag(); } - if ((t instanceof ShowFrameTag)||(t instanceof PlaceObjectTypeTag)) { - //FIXME - previewPanel.clear(); - previewPanel.showEmpty(); - return; - } - showPreview(t, dumpPreviewPanel, getFrameForTreeItem(t), getTimelinedForTreeItem(treeItem)); + showPreview(t, dumpPreviewPanel, getFrameForTreeItem(t), getTimelinedForTreeItem(t)); } } @@ -3548,7 +3542,24 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se if (treeItem == null) { return -1; } - if ((currentView == VIEW_DUMP)||(currentView == VIEW_TIMELINE)) { + if (currentView == VIEW_DUMP){ + if (treeItem instanceof Tag) { + Tag t = (Tag) treeItem; + ReadOnlyTagList tags = t.getTimelined().getTags(); + int frame = 0; + for (int i = 0; i < tags.size(); i++) { + if (tags.get(i) == t) { + return frame; + } + if (tags.get(i) instanceof ShowFrameTag) { + frame++; + } + } + } + return -1; + } + + if(currentView == VIEW_TIMELINE) { return -1; } TreePath path = getCurrentTree().getModel().getTreePath(treeItem); @@ -3569,9 +3580,16 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se return null; } - if ((currentView == VIEW_DUMP)||(currentView == VIEW_TIMELINE)) { - return null; + if (currentView == VIEW_DUMP) { + if (treeItem instanceof Tag) { + Tag t = (Tag) treeItem; + return t.getTimelined(); + } + return null; } + if (currentView == VIEW_TIMELINE) { + return null; + } TreePath path = getCurrentTree().getModel().getTreePath(treeItem); if (path == null) {