Added: Show in Simple editor context menu item for timelined items (sprites, buttons, swfs)

This commit is contained in:
Jindra Petřík
2025-05-09 11:21:34 +02:00
parent 892ddf4706
commit beb3bd5d14
7 changed files with 47 additions and 29 deletions

View File

@@ -20,6 +20,7 @@ All notable changes to this project will be documented in this file.
- [#2370] Dialogs for editing grid, guides and snapping
- [#2453] SVG export/import - use image-rendering attribute for image smoothing
- Option to enter custom zoom level by clicking on zoom percentage label
- Show in Simple editor context menu item for timelined items (sprites, buttons, swfs)
### Fixed
- [#2424] DefineEditText handling of letterSpacing, font size on incorrect values

View File

@@ -19,6 +19,7 @@ package com.jpexs.decompiler.flash.easygui;
import com.jpexs.decompiler.flash.SWF;
import com.jpexs.decompiler.flash.gui.MainPanel;
import com.jpexs.decompiler.flash.gui.View;
import com.jpexs.decompiler.flash.timeline.Timelined;
import java.awt.BorderLayout;
import java.util.ArrayList;
import java.util.List;
@@ -29,13 +30,7 @@ import javax.swing.JPanel;
* @author JPEXS
*/
public class EasyPanel extends JPanel {
/**
* TODO: switch to true when Easy mode is released. I think it's not
* production ready yet.
*/
public static final boolean EASY_AVAILABLE = true;
private TabSwitcher<SWF> tabSwitcher;
private EasySwfPanel easySwfPanel;
@@ -71,6 +66,11 @@ public class EasyPanel extends JPanel {
public SWF getSwf() {
return tabSwitcher.getSelectedValue();
}
public void setTimelined(Timelined tim) {
setSwf(tim.getSwf());
easySwfPanel.setTimelined(tim);
}
public void dispose() {
setSwfs(new ArrayList<>());

View File

@@ -1193,9 +1193,8 @@ public abstract class MainFrameMenu implements MenuBuilder {
setGroupSelection("view", "/file/view/viewHex");
break;
case MainPanel.VIEW_EASY:
if (EasyPanel.EASY_AVAILABLE) {
setMenuChecked("/file/view/easy", true);
}
setGroupSelection("view", null);
setMenuChecked("/file/view/easy", true);
break;
}
}
@@ -1289,9 +1288,8 @@ public abstract class MainFrameMenu implements MenuBuilder {
addToggleMenuItem("/file/view/viewResources", translate("menu.file.view.resources"), "view", "viewresources16", this::viewResourcesActionPerformed, PRIORITY_MEDIUM, null);
addToggleMenuItem("/file/view/viewTagList", translate("menu.file.view.tagList"), "view", "taglist16", this::viewTagListActionPerformed, PRIORITY_MEDIUM, null);
addToggleMenuItem("/file/view/viewHex", translate("menu.file.view.hex"), "view", "viewhex16", this::viewHexActionPerformed, PRIORITY_MEDIUM, null);
if (EasyPanel.EASY_AVAILABLE) {
addToggleMenuItem("/file/view/easy", translate("menu.file.view.easy"), null, "easy32", this::easyActionPerformed, PRIORITY_TOP, null);
}
addToggleMenuItem("/file/view/easy", translate("menu.file.view.easy"), null, "easy32", this::easyActionPerformed, PRIORITY_TOP, null);
finishMenu("/file/view");
addSeparator("/file");
@@ -1559,9 +1557,7 @@ public abstract class MainFrameMenu implements MenuBuilder {
Configuration.dumpView.set(false);
mainFrame.getPanel().showView(MainPanel.VIEW_RESOURCES);
setGroupSelection("view", "/file/view/viewResources");
if (EasyPanel.EASY_AVAILABLE) {
setMenuChecked("/file/view/easy", false);
}
setMenuChecked("/file/view/easy", false);
}
private void viewHexActionPerformed(ActionEvent evt) {
@@ -1577,9 +1573,7 @@ public abstract class MainFrameMenu implements MenuBuilder {
mainPanel.showView(MainPanel.VIEW_DUMP);
setGroupSelection("view", "/file/view/viewHex");
if (EasyPanel.EASY_AVAILABLE) {
setMenuChecked("/file/view/easy", false);
}
setMenuChecked("/file/view/easy", false);
}
private void viewTagListActionPerformed(ActionEvent evt) {
@@ -1591,9 +1585,7 @@ public abstract class MainFrameMenu implements MenuBuilder {
MainPanel mainPanel = mainFrame.getPanel();
mainPanel.showView(MainPanel.VIEW_TAGLIST);
setGroupSelection("view", "/file/view/viewTagList");
if (EasyPanel.EASY_AVAILABLE) {
setMenuChecked("/file/view/easy", false);
}
setMenuChecked("/file/view/easy", false);
}
private void debuggerSwitchActionPerformed(ActionEvent evt) {

View File

@@ -301,7 +301,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
private final JPanel welcomePanel;
private final EasyPanel easyPanel;
public final EasyPanel easyPanel;
private final MainFrameStatusPanel statusPanel;
@@ -5623,10 +5623,6 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
public boolean showView(int view) {
View.checkAccess();
if (view == VIEW_EASY && !EasyPanel.EASY_AVAILABLE) {
view = VIEW_RESOURCES;
}
setTreeModel(view);
switch (view) {
case VIEW_DUMP:

View File

@@ -1049,3 +1049,5 @@ move_guide.position = Position:
zoom = Zoom
zoom.hint = Zoom level. Click to change.
zoom.enter = Enter zoom percentage value:
contextmenu.showInEasy = Show in Simple editor

View File

@@ -1030,4 +1030,6 @@ move_guide.position = Pozice:
zoom = P\u0159ibl\u00ed\u017een\u00ed
zoom.hint = \u00darove\u0148 p\u0159ibl\u00ed\u017een\u00ed. Klikn\u011bte pro zm\u011bnu.
zoom.enter = Zadejte hodnotu p\u0159ibl\u00ed\u017een\u00ed v procentech:
zoom.enter = Zadejte hodnotu p\u0159ibl\u00ed\u017een\u00ed v procentech:
contextmenu.showInEasy = Zobrazit v Jednoduch\u00e9m editoru

View File

@@ -316,6 +316,8 @@ public class TagTreeContextMenu extends JPopupMenu {
private JMenuItem showInTagListViewTagMenuItem;
private JMenuItem showInHexDumpViewTagMenuItem;
private JMenuItem showInEasyViewTagMenuItem;
private JMenuItem showInFramesFolderMenuItem;
@@ -430,6 +432,11 @@ public class TagTreeContextMenu extends JPopupMenu {
showInHexDumpViewTagMenuItem.addActionListener(this::showInHexDumpViewActionPerformed);
showInHexDumpViewTagMenuItem.setIcon(View.getIcon("viewhex16"));
add(showInHexDumpViewTagMenuItem);
showInEasyViewTagMenuItem = new JMenuItem(mainPanel.translate("contextmenu.showInEasy"));
showInEasyViewTagMenuItem.addActionListener(this::showInEasyViewActionPerformed);
showInEasyViewTagMenuItem.setIcon(View.getIcon("easy16"));
add(showInEasyViewTagMenuItem);
textSearchMenuItem = new JMenuItem(mainPanel.translate("menu.tools.search"));
textSearchMenuItem.addActionListener(this::textSearchActionPerformed);
@@ -1317,6 +1324,7 @@ public class TagTreeContextMenu extends JPopupMenu {
showInResourcesViewTagMenuItem.setVisible(false);
showInTagListViewTagMenuItem.setVisible(false);
showInHexDumpViewTagMenuItem.setVisible(false);
showInEasyViewTagMenuItem.setVisible(false);
showInFramesFolderMenuItem.setVisible(false);
addFramesMenuItem.setVisible(false);
addFramesBeforeMenuItem.setVisible(false);
@@ -1610,6 +1618,10 @@ public class TagTreeContextMenu extends JPopupMenu {
showInTagListViewTagMenuItem.setVisible(true);
}
if (firstItem instanceof Timelined) {
showInEasyViewTagMenuItem.setVisible(true);
}
if ((firstItem instanceof Tag)
|| (firstItem instanceof CLIPACTIONRECORD)
|| (firstItem instanceof BUTTONRECORD)
@@ -4401,7 +4413,7 @@ public class TagTreeContextMenu extends JPopupMenu {
}
mainPanel.setTagTreeSelectedNode(mainPanel.tagListTree, item);
mainPanel.updateMenu();
}
}
private void showInHexDumpViewActionPerformed(ActionEvent evt) {
if (mainPanel.isModified()) {
@@ -4415,6 +4427,19 @@ public class TagTreeContextMenu extends JPopupMenu {
mainPanel.dumpTree.setSelectedItem(item);
mainPanel.updateMenu();
}
private void showInEasyViewActionPerformed(ActionEvent evt) {
TreeItem item = getCurrentItem();
if (item instanceof TagScript) {
item = ((TagScript) item).getTag();
}
if (!(item instanceof Timelined)) {
return;
}
mainPanel.showView(MainPanel.VIEW_EASY);
mainPanel.easyPanel.setTimelined((Timelined) item);
mainPanel.updateMenu();
}
private void moveTagActionPerformed(ActionEvent evt) {
Tag t = (Tag) getCurrentItem();