diff --git a/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java b/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java index 5ebda73c8..12e9fd983 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java +++ b/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java @@ -793,6 +793,20 @@ public abstract class MainFrameMenu implements MenuBuilder { titleBuilder.append(swf.getFileTitle()); } mainFrame.setTitle(titleBuilder.toString()); + + if (mainPanel != null) { + switch(mainPanel.getCurrentView()){ + case MainPanel.VIEW_RESOURCES: + setGroupSelection("view", "/file/view/viewResources"); + break; + case MainPanel.VIEW_TAGLIST: + setGroupSelection("view", "/file/view/viewTagList"); + break; + case MainPanel.VIEW_DUMP: + setGroupSelection("view", "/file/view/viewHex"); + break; + } + } } private void registerHotKeys() { @@ -876,19 +890,7 @@ public abstract class MainFrameMenu implements MenuBuilder { addMenuItem("/file/exit", translate("menu.file.exit"), "exit32", this::exitActionPerformed, PRIORITY_TOP, null, true, null, false); } - finishMenu("/file"); - - switch(Configuration.lastView.get()){ - case MainPanel.VIEW_RESOURCES: - setGroupSelection("view", "/file/view/viewResources"); - break; - case MainPanel.VIEW_TAGLIST: - setGroupSelection("view", "/file/view/viewTagList"); - break; - case MainPanel.VIEW_DUMP: - setGroupSelection("view", "/file/view/viewHex"); - break; - } + finishMenu("/file"); /* menu.file.start = Start diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index cfa69bcef..b86ed265d 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -3710,12 +3710,12 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se reload(true); return true; - case VIEW_TIMELINE: + case VIEW_TIMELINE: currentView = view; Configuration.lastView.set(currentView); final SWF swf = getCurrentSwf(); if (swf != null) { - TreeItem item = getCurrentTree().getCurrentTreeItem(); + TreeItem item = tagTree.getCurrentTreeItem(); if (item instanceof TagScript) { item = ((TagScript) item).getTag(); } @@ -3728,6 +3728,8 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se } showContentPanelCard(TIMELINE_PANEL); return true; + } else { + showView(VIEW_RESOURCES); } return false; case VIEW_TAGLIST: diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties index a509eaf13..eabc49080 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame.properties @@ -863,4 +863,6 @@ contextmenu.cloneTag = Clone tag contextmenu.setTagPosition = Set tag position -menu.file.view.tagList = Tag list \ No newline at end of file +menu.file.view.tagList = Tag list + +contextmenu.showInTagList = Show in Tag list \ No newline at end of file diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_cs.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_cs.properties index 08113fc87..d9db75778 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_cs.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_cs.properties @@ -833,10 +833,12 @@ work.deobfuscating_pcode = Deobfuskov\u00e1n\u00ed p-k\u00f3du work.injecting_debuginfo = Injektuji lad\u00edc\u00ed informace work.generating_swd = Generaruji SWD soubor -button.replaceRefs = Nahradit reference za jin\u00fdm ID charakteru +button.replaceRefs = Nahradit reference za jin\u00e9 ID charakteru contextmenu.cloneTag = Klonovat tag contextmenu.setTagPosition = Nastavit pozici tagu -menu.file.view.tagList = Seznam tag\u016f \ No newline at end of file +menu.file.view.tagList = Seznam tag\u016f + +contextmenu.showInTagList = Zobrazit v Seznamu tag\u016f \ No newline at end of file diff --git a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java index 336fa8619..61e8a2cfa 100644 --- a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java +++ b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java @@ -169,6 +169,11 @@ public class TagTreeContextMenu extends JPopupMenu { private JMenuItem setTagPositionMenuItem; + private JMenuItem showInResourcesViewTagMenuItem; + + private JMenuItem showInTagListViewTagMenuItem; + + public TagTreeContextMenu(final List trees, MainPanel mainPanel) { this.mainPanel = mainPanel; @@ -240,6 +245,14 @@ public class TagTreeContextMenu extends JPopupMenu { setTagPositionMenuItem.addActionListener(this::setTagPositionActionPerformed); add(setTagPositionMenuItem); + showInResourcesViewTagMenuItem = new JMenuItem(mainPanel.translate("contextmenu.showInResources")); + showInResourcesViewTagMenuItem.addActionListener(this::showInResourcesViewActionPerformed); + add(showInResourcesViewTagMenuItem); + + showInTagListViewTagMenuItem = new JMenuItem(mainPanel.translate("contextmenu.showInTagList")); + showInTagListViewTagMenuItem.addActionListener(this::showInTagListViewActionPerformed); + add(showInTagListViewTagMenuItem); + addTagMenu = new JMenu(mainPanel.translate("contextmenu.addTag")); add(addTagMenu); @@ -511,6 +524,8 @@ public class TagTreeContextMenu extends JPopupMenu { addAs3ClassMenuItem.setVisible(false); textSearchMenuItem.setVisible(hasScripts || hasTexts); setTagPositionMenuItem.setVisible(items.size() == 1 && (items.get(0) instanceof Tag)); + showInResourcesViewTagMenuItem.setVisible(items.size() == 1 && mainPanel.getCurrentView() == MainPanel.VIEW_TAGLIST && (!(items.get(0) instanceof ShowFrameTag))); + showInTagListViewTagMenuItem.setVisible(items.size() == 1 && mainPanel.getCurrentView() == MainPanel.VIEW_RESOURCES); if (allSelectedIsTag) { boolean canUndo = false; @@ -1859,6 +1874,20 @@ public class TagTreeContextMenu extends JPopupMenu { } } + private void showInResourcesViewActionPerformed(ActionEvent evt) { + TreeItem item = getTree().getCurrentTreeItem(); + mainPanel.showView(MainPanel.VIEW_RESOURCES); + mainPanel.setTagTreeSelectedNode(mainPanel.tagTree, item); + mainPanel.updateMenu(); + } + + private void showInTagListViewActionPerformed(ActionEvent evt) { + TreeItem item = getTree().getCurrentTreeItem(); + mainPanel.showView(MainPanel.VIEW_TAGLIST); + mainPanel.setTagTreeSelectedNode(mainPanel.tagListTree, item); + mainPanel.updateMenu(); + } + private void setTagPositionActionPerformed(ActionEvent evt) { List items = getTree().getSelected(); Tag t = (Tag)items.get(0);