Tag list view - Show in tag list action, Show in resources action

This commit is contained in:
Jindra Petřík
2022-10-30 12:36:18 +01:00
parent 027e77cb4d
commit 71b58fb0a6
5 changed files with 55 additions and 18 deletions

View File

@@ -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

View File

@@ -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:

View File

@@ -863,4 +863,6 @@ contextmenu.cloneTag = Clone tag
contextmenu.setTagPosition = Set tag position
menu.file.view.tagList = Tag list
menu.file.view.tagList = Tag list
contextmenu.showInTagList = Show in Tag list

View File

@@ -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
menu.file.view.tagList = Seznam tag\u016f
contextmenu.showInTagList = Zobrazit v Seznamu tag\u016f

View File

@@ -169,6 +169,11 @@ public class TagTreeContextMenu extends JPopupMenu {
private JMenuItem setTagPositionMenuItem;
private JMenuItem showInResourcesViewTagMenuItem;
private JMenuItem showInTagListViewTagMenuItem;
public TagTreeContextMenu(final List<AbstractTagTree> 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<TreeItem> items = getTree().getSelected();
Tag t = (Tag)items.get(0);