From 18af792012eb5eb186f4b9d08c1733db5dd1a51e Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Sat, 7 Mar 2015 22:55:09 +0100 Subject: [PATCH] #825 hot keys (and maybe new buttons on new panel) to switch to next or previous DefineText --- .../flash/exporters/TextExporter.java | 4 +- .../helpers/hilight/HighlightSpecialType.java | 12 ++- .../flash/importers/TextImporter.java | 4 +- .../flash/tags/DefineEditTextTag.java | 88 ++++++++++++++---- .../decompiler/flash/tags/DefineText2Tag.java | 75 ++++++++------- .../decompiler/flash/tags/DefineTextTag.java | 77 ++++++++------- .../decompiler/flash/tags/base/TextTag.java | 3 +- libsrc/ffdec_lib/testdata/zipped.zip | Bin 265622 -> 123914 bytes .../jpexs/decompiler/flash/gui/FontPanel.java | 2 +- .../decompiler/flash/gui/MainFrameMenu.java | 17 +++- .../jpexs/decompiler/flash/gui/MainPanel.java | 34 ++++++- .../decompiler/flash/gui/PreviewPanel.java | 4 + .../jpexs/decompiler/flash/gui/TextPanel.java | 26 +++++- .../flash/gui/graphics/arrowdown16.png | Bin 0 -> 381 bytes .../flash/gui/graphics/arrowup16.png | Bin 0 -> 391 bytes .../flash/gui/locales/MainFrame.properties | 2 + .../flash/gui/locales/ModeFrame_hu.properties | 2 + 17 files changed, 245 insertions(+), 105 deletions(-) create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/arrowdown16.png create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/arrowup16.png diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/TextExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/TextExporter.java index 9034ec462..cb04b35d0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/TextExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/TextExporter.java @@ -121,7 +121,7 @@ public class TextExporter { public void run() throws IOException { fos.write(Utf8Helper.getBytes("ID: " + textTag.getCharacterId() + Helper.newLine)); if (settings.mode == TextExportMode.FORMATTED) { - fos.write(Utf8Helper.getBytes(textTag.getFormattedText())); + fos.write(Utf8Helper.getBytes(textTag.getFormattedText().text)); } else { String separator = Configuration.textExportSingleFileRecordSeparator.get(); separator = Helper.newLine + separator + Helper.newLine; @@ -149,7 +149,7 @@ public class TextExporter { public void run() throws IOException { try (FileOutputStream fos = new FileOutputStream(file)) { if (settings.mode == TextExportMode.FORMATTED) { - fos.write(Utf8Helper.getBytes(textTag.getFormattedText())); + fos.write(Utf8Helper.getBytes(textTag.getFormattedText().text)); } else { String separator = Configuration.textExportSingleFileRecordSeparator.get(); separator = Helper.newLine + separator + Helper.newLine; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightSpecialType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightSpecialType.java index 64d553c8e..4f611464b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightSpecialType.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightSpecialType.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, All rights reserved. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3.0 of the License, or (at your option) any later version. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers.hilight; /** @@ -27,5 +28,6 @@ public enum HighlightSpecialType { SLOT_ID, DISP_ID, FLAG_NEED_REST, FLAG_EXPLICIT, FLAG_HAS_OPTIONAL, FLAG_HAS_PARAM_NAMES, FLAG_IGNORE_REST, FLAG_NEED_ACTIVATION, FLAG_NEED_ARGUMENTS, FLAG_SET_DXNS, - TRY_TYPE, TRY_NAME + TRY_TYPE, TRY_NAME, + TEXT } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java index d618ad91c..bc888a41f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java @@ -77,7 +77,7 @@ public class TextImporter { TextTag textTag = (TextTag) tag; if (textTag.getCharacterId() == characterId) { String[] currentRecords = records.get(characterId); - String text = textTag.getFormattedText(); + String text = textTag.getFormattedText().text; if (!saveText(textTag, text, currentRecords)) { return; } @@ -138,7 +138,7 @@ public class TextImporter { if (tag instanceof TextTag) { TextTag textTag = (TextTag) tag; if (textTag.getCharacterId() == characterId) { - String text = textTag.getFormattedText(); + String text = textTag.getFormattedText().text; if (!saveText(textTag, text, records)) { return; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java index 4e417837f..a7050631c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java @@ -19,9 +19,13 @@ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; import com.jpexs.decompiler.flash.SWFInputStream; import com.jpexs.decompiler.flash.SWFOutputStream; +import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.exporters.commonshape.ExportRectangle; import com.jpexs.decompiler.flash.exporters.commonshape.Matrix; import com.jpexs.decompiler.flash.exporters.commonshape.SVGExporter; +import com.jpexs.decompiler.flash.helpers.HighlightedText; +import com.jpexs.decompiler.flash.helpers.HighlightedTextWriter; +import com.jpexs.decompiler.flash.helpers.hilight.HighlightSpecialType; import com.jpexs.decompiler.flash.tags.base.BoundedTag; import com.jpexs.decompiler.flash.tags.base.FontTag; import com.jpexs.decompiler.flash.tags.base.MissingCharacterHandler; @@ -357,9 +361,9 @@ public class DefineEditTextTag extends TextTag { } @Override - public String getFormattedText() { - String ret = ""; - ret += "["; + public HighlightedText getFormattedText() { + HighlightedTextWriter writer = new HighlightedTextWriter(Configuration.getCodeFormatting(), true); + writer.append("["); String[] alignNames = {"left", "right", "center", "justify"}; String alignment; if (align < alignNames.length) { @@ -367,22 +371,70 @@ public class DefineEditTextTag extends TextTag { } else { alignment = "unknown"; } - ret += "\r\nxmin " + bounds.Xmin + "\r\nymin " + bounds.Ymin + "\r\nxmax " + bounds.Xmax + "\r\nymax " + bounds.Ymax + "\r\n"; - ret += (wordWrap ? "wordwrap 1\r\n" : "") + (multiline ? "multiline 1\r\n" : "") - + (password ? "password 1\r\n" : "") + (readOnly ? "readonly 1\r\n" : "") - + (autoSize ? "autosize 1\r\n" : "") + (noSelect ? "noselect 1\r\n" : "") - + (border ? "border 1\r\n" : "") + (wasStatic ? "wasstatic 1\r\n" : "") - + (html ? "html 1\r\n" : "") + (useOutlines ? "useoutlines 1\r\n" : "") - + (hasFont ? "font " + fontId + "\r\n" + "height " + fontHeight + "\r\n" : "") + (hasTextColor ? "color " + textColor.toHexARGB() + "\r\n" : "") - + (hasFontClass ? "fontclass " + fontClass + "\r\n" : "") + (hasMaxLength ? "maxlength " + maxLength + "\r\n" : "") - + "align " + alignment + "\r\n" - + (hasLayout ? "leftmargin " + leftMargin + "\r\nrightmargin " + rightMargin + "\r\nindent " + indent + "\r\nleading " + leading + "\r\n" : "") - + (!variableName.isEmpty() ? "variablename " + variableName + "\r\n" : ""); - ret += "]"; - if (hasText) { - ret += initialText.replace("\\", "\\\\").replace("[", "\\[").replace("]", "\\]"); + writer.newLine(); + writer.append("xmin " + bounds.Xmin).newLine(); + writer.append("ymin " + bounds.Ymin).newLine(); + writer.append("xmax " + bounds.Xmax).newLine(); + writer.append("ymax " + bounds.Ymax).newLine(); + if (wordWrap) { + writer.append("wordwrap 1").newLine(); } - return ret; + if (multiline) { + writer.append("multiline 1").newLine(); + } + if (password) { + writer.append("password 1").newLine(); + } + if (readOnly) { + writer.append("readonly 1").newLine(); + } + if (autoSize) { + writer.append("autosize 1").newLine(); + } + if (noSelect) { + writer.append("noselect 1").newLine(); + } + if (border) { + writer.append("border 1").newLine(); + } + if (wasStatic) { + writer.append("wasstatic 1").newLine(); + } + if (html) { + writer.append("html 1").newLine(); + } + if (useOutlines) { + writer.append("useoutlines 1").newLine(); + } + if (hasFont) { + writer.append("font " + fontId).newLine(); + writer.append("height " + fontHeight).newLine(); + } + if (hasTextColor) { + writer.append("color " + textColor.toHexARGB()).newLine(); + } + if (hasFontClass) { + writer.append("fontclass " + fontClass).newLine(); + } + if (hasMaxLength) { + writer.append("maxlength " + maxLength).newLine(); + } + writer.append("align " + alignment).newLine(); + if (hasLayout) { + writer.append("leftmargin " + leftMargin).newLine(); + writer.append("rightmargin " + rightMargin).newLine(); + writer.append("indent " + indent).newLine(); + writer.append("leading " + leading).newLine(); + } + if (!variableName.isEmpty()) { + writer.append("variablename " + variableName).newLine(); + } + writer.append("]"); + if (hasText) { + String text = initialText.replace("\\", "\\\\").replace("[", "\\[").replace("]", "\\]"); + writer.hilightSpecial(text, HighlightSpecialType.TEXT); + } + return new HighlightedText(writer); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java index 4b7f1f694..e1b4f799d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java @@ -23,6 +23,9 @@ import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.exporters.commonshape.ExportRectangle; import com.jpexs.decompiler.flash.exporters.commonshape.Matrix; import com.jpexs.decompiler.flash.exporters.commonshape.SVGExporter; +import com.jpexs.decompiler.flash.helpers.HighlightedText; +import com.jpexs.decompiler.flash.helpers.HighlightedTextWriter; +import com.jpexs.decompiler.flash.helpers.hilight.HighlightSpecialType; import com.jpexs.decompiler.flash.tags.base.BoundedTag; import com.jpexs.decompiler.flash.tags.base.FontTag; import com.jpexs.decompiler.flash.tags.base.MissingCharacterHandler; @@ -127,56 +130,58 @@ public class DefineText2Tag extends TextTag { } @Override - public String getFormattedText() { + public HighlightedText getFormattedText() { FontTag fnt = null; - StringBuilder ret = new StringBuilder(); - ret.append("[\r\nxmin ").append(textBounds.Xmin). - append("\r\nymin ").append(textBounds.Ymin). - append("\r\nxmax ").append(textBounds.Xmax). - append("\r\nymax ").append(textBounds.Ymax); + HighlightedTextWriter writer = new HighlightedTextWriter(Configuration.getCodeFormatting(), true); + writer.append("[").newLine(); + writer.append("xmin " + textBounds.Xmin).newLine(); + writer.append("ymin " + textBounds.Ymin).newLine(); + writer.append("xmax " + textBounds.Xmax).newLine(); + writer.append("ymax " + textBounds.Ymax).newLine(); if (textMatrix.translateX != 0) { - ret.append("\r\ntranslatex ").append(textMatrix.translateX); + writer.append("translatex " + textMatrix.translateX).newLine(); } if (textMatrix.translateY != 0) { - ret.append("\r\ntranslatey ").append(textMatrix.translateY); + writer.append("translatey " + textMatrix.translateY).newLine(); } if (textMatrix.hasScale) { - ret.append("\r\nscalex ").append(textMatrix.scaleX); - ret.append("\r\nscaley ").append(textMatrix.scaleY); + writer.append("scalex " + textMatrix.scaleX).newLine(); + writer.append("scaley " + textMatrix.scaleY).newLine(); } if (textMatrix.hasRotate) { - ret.append("\r\nrotateskew0 ").append(textMatrix.rotateSkew0); - ret.append("\r\nrotateskew1 ").append(textMatrix.rotateSkew1); + writer.append("rotateskew0 " + textMatrix.rotateSkew0).newLine(); + writer.append("rotateskew1 " + textMatrix.rotateSkew1).newLine(); } - ret.append("\r\n]"); + writer.append("]"); for (TEXTRECORD rec : textRecords) { - String params = ""; - if (rec.styleFlagsHasFont) { - for (Tag t : swf.tags) { - if (t instanceof FontTag) { - if (((FontTag) t).getFontId() == rec.fontId) { - fnt = ((FontTag) t); - break; + if (rec.styleFlagsHasFont || rec.styleFlagsHasColor || rec.styleFlagsHasXOffset || rec.styleFlagsHasYOffset) { + writer.append("[").newLine(); + if (rec.styleFlagsHasFont) { + for (Tag t : swf.tags) { + if (t instanceof FontTag) { + if (((FontTag) t).getFontId() == rec.fontId) { + fnt = ((FontTag) t); + break; + } } } + writer.append("font " + rec.fontId).newLine(); + writer.append("height " + rec.textHeight).newLine(); } - params += "\r\nfont " + rec.fontId + "\r\nheight " + rec.textHeight; + if (rec.styleFlagsHasColor) { + writer.append("color " + rec.textColorA.toHexARGB()).newLine(); + } + if (rec.styleFlagsHasXOffset) { + writer.append("x " + rec.xOffset).newLine(); + } + if (rec.styleFlagsHasYOffset) { + writer.append("y " + rec.yOffset).newLine(); + } + writer.append("]"); } - if (rec.styleFlagsHasColor) { - params += "\r\ncolor " + rec.textColorA.toHexARGB(); - } - if (rec.styleFlagsHasXOffset) { - params += "\r\nx " + rec.xOffset; - } - if (rec.styleFlagsHasYOffset) { - params += "\r\ny " + rec.yOffset; - } - if (params.length() > 0) { - ret.append("[").append(params).append("\r\n]"); - } - ret.append(Helper.escapeString(rec.getText(fnt)).replace("[", "\\[").replace("]", "\\]")); + writer.hilightSpecial(Helper.escapeString(rec.getText(fnt)).replace("[", "\\[").replace("]", "\\]"), HighlightSpecialType.TEXT); } - return ret.toString(); + return new HighlightedText(writer); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java index fd25f7e44..de71fb362 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java @@ -24,6 +24,9 @@ import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.exporters.commonshape.ExportRectangle; import com.jpexs.decompiler.flash.exporters.commonshape.Matrix; import com.jpexs.decompiler.flash.exporters.commonshape.SVGExporter; +import com.jpexs.decompiler.flash.helpers.HighlightedText; +import com.jpexs.decompiler.flash.helpers.HighlightedTextWriter; +import com.jpexs.decompiler.flash.helpers.hilight.HighlightSpecialType; import com.jpexs.decompiler.flash.tags.base.BoundedTag; import com.jpexs.decompiler.flash.tags.base.FontTag; import com.jpexs.decompiler.flash.tags.base.MissingCharacterHandler; @@ -128,61 +131,63 @@ public class DefineTextTag extends TextTag { } @Override - public String getFormattedText() { + public HighlightedText getFormattedText() { FontTag fnt = null; - StringBuilder ret = new StringBuilder(); - ret.append("[\r\nxmin ").append(textBounds.Xmin). - append("\r\nymin ").append(textBounds.Ymin). - append("\r\nxmax ").append(textBounds.Xmax). - append("\r\nymax ").append(textBounds.Ymax); + HighlightedTextWriter writer = new HighlightedTextWriter(Configuration.getCodeFormatting(), true); + writer.append("[").newLine(); + writer.append("xmin " + textBounds.Xmin).newLine(); + writer.append("ymin " + textBounds.Ymin).newLine(); + writer.append("xmax " + textBounds.Xmax).newLine(); + writer.append("ymax " + textBounds.Ymax).newLine(); if (textMatrix.translateX != 0) { - ret.append("\r\ntranslatex ").append(textMatrix.translateX); + writer.append("translatex " + textMatrix.translateX).newLine(); } if (textMatrix.translateY != 0) { - ret.append("\r\ntranslatey ").append(textMatrix.translateY); + writer.append("translatey " + textMatrix.translateY).newLine(); } if (textMatrix.hasScale) { - ret.append("\r\nscalex ").append(textMatrix.scaleX); - ret.append("\r\nscaley ").append(textMatrix.scaleY); + writer.append("scalex " + textMatrix.scaleX).newLine(); + writer.append("scaley " + textMatrix.scaleY).newLine(); } if (textMatrix.hasRotate) { - ret.append("\r\nrotateskew0 ").append(textMatrix.rotateSkew0); - ret.append("\r\nrotateskew1 ").append(textMatrix.rotateSkew1); + writer.append("rotateskew0 " + textMatrix.rotateSkew0).newLine(); + writer.append("rotateskew1 " + textMatrix.rotateSkew1).newLine(); } - ret.append("\r\n]"); + writer.append("]"); for (TEXTRECORD rec : textRecords) { - String params = ""; - if (rec.styleFlagsHasFont) { - for (Tag t : swf.tags) { - if (t instanceof FontTag) { - if (((FontTag) t).getFontId() == rec.fontId) { - fnt = ((FontTag) t); - break; + if (rec.styleFlagsHasFont || rec.styleFlagsHasColor || rec.styleFlagsHasXOffset || rec.styleFlagsHasYOffset) { + writer.append("[").newLine(); + if (rec.styleFlagsHasFont) { + for (Tag t : swf.tags) { + if (t instanceof FontTag) { + if (((FontTag) t).getFontId() == rec.fontId) { + fnt = ((FontTag) t); + break; + } } } + writer.append("font " + rec.fontId).newLine(); + writer.append("height " + rec.textHeight).newLine(); } - params += "\r\nfont " + rec.fontId + "\r\nheight " + rec.textHeight; - } - if (rec.styleFlagsHasColor) { - params += "\r\ncolor " + rec.textColor.toHexRGB(); - } - if (rec.styleFlagsHasXOffset) { - params += "\r\nx " + rec.xOffset; - } - if (rec.styleFlagsHasYOffset) { - params += "\r\ny " + rec.yOffset; - } - if (params.length() > 0) { - ret.append("[").append(params).append("\r\n]"); + if (rec.styleFlagsHasColor) { + writer.append("color " + rec.textColor.toHexRGB()).newLine(); + } + if (rec.styleFlagsHasXOffset) { + writer.append("x " + rec.xOffset).newLine(); + } + if (rec.styleFlagsHasYOffset) { + writer.append("y " + rec.yOffset).newLine(); + } + writer.append("]"); } if (fnt == null) { - ret.append(AppResources.translate("fontNotFound").replace("%fontId%", Integer.toString(rec.fontId))); + writer.append(AppResources.translate("fontNotFound").replace("%fontId%", Integer.toString(rec.fontId))); } else { - ret.append(Helper.escapeString(rec.getText(fnt)).replace("[", "\\[").replace("]", "\\]")); + writer.hilightSpecial(Helper.escapeString(rec.getText(fnt)).replace("[", "\\[").replace("]", "\\]"), HighlightSpecialType.TEXT); } } - return ret.toString(); + return new HighlightedText(writer); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextTag.java index 6461b5345..1ad898740 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextTag.java @@ -26,6 +26,7 @@ import com.jpexs.decompiler.flash.exporters.modes.FontExportMode; import com.jpexs.decompiler.flash.exporters.shape.BitmapExporter; import com.jpexs.decompiler.flash.exporters.shape.CanvasShapeExporter; import com.jpexs.decompiler.flash.exporters.shape.SVGShapeExporter; +import com.jpexs.decompiler.flash.helpers.HighlightedText; import com.jpexs.decompiler.flash.importers.TextImportResizeTextBoundsMode; import com.jpexs.decompiler.flash.tags.text.JustifyAlignGlyphEntry; import com.jpexs.decompiler.flash.tags.text.TextAlign; @@ -81,7 +82,7 @@ public abstract class TextTag extends CharacterTag implements DrawableTag { public abstract List getFontIds(); - public abstract String getFormattedText(); + public abstract HighlightedText getFormattedText(); // use the texts from the "texts" argument when it is not null public abstract boolean setFormattedText(MissingCharacterHandler missingCharHandler, String formattedText, String[] texts) throws TextParseException; diff --git a/libsrc/ffdec_lib/testdata/zipped.zip b/libsrc/ffdec_lib/testdata/zipped.zip index 6ed391c34d6a4531769e42cc599f2d01e8eb9113..77b986589c4ae1080f6b60802d0179377ad8eb2a 100644 GIT binary patch delta 19407 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 delta 56926 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�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 0) { + int row = tagTree.getSelectionRows()[0]; + if (row > 0) { + tagTree.setSelectionRow(row - 1); + previewPanel.focusTextPanel(); + } + } + return true; + } + return false; + } + + public boolean nextTag() { + if (getCurrentView() == VIEW_RESOURCES) { + if (tagTree.getSelectionRows().length > 0) { + int row = tagTree.getSelectionRows()[0]; + if (row < tagTree.getRowCount() - 1) { + tagTree.setSelectionRow(row + 1); + previewPanel.focusTextPanel(); + } + } + return true; + } + return false; + } + @Override public void actionPerformed(ActionEvent e) { switch (e.getActionCommand()) { diff --git a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java index 2f821f4c0..572b8e762 100644 --- a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java @@ -458,6 +458,10 @@ public class PreviewPanel extends JSplitPane implements ActionListener { textPanel.setText(textTag); } + public void focusTextPanel() { + textPanel.focusTextValue(); + } + public void clear() { imagePanel.clearAll(); if (media != null) { diff --git a/src/com/jpexs/decompiler/flash/gui/TextPanel.java b/src/com/jpexs/decompiler/flash/gui/TextPanel.java index 1a19b6d1b..4c6d6b089 100644 --- a/src/com/jpexs/decompiler/flash/gui/TextPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/TextPanel.java @@ -20,6 +20,9 @@ import com.jpexs.decompiler.flash.SWF; import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.gui.abc.LineMarkedEditorPane; import com.jpexs.decompiler.flash.gui.controls.JRepeatButton; +import com.jpexs.decompiler.flash.helpers.HighlightedText; +import com.jpexs.decompiler.flash.helpers.hilight.HighlightSpecialType; +import com.jpexs.decompiler.flash.helpers.hilight.Highlighting; import com.jpexs.decompiler.flash.tags.DefineEditTextTag; import com.jpexs.decompiler.flash.tags.base.FontTag; import com.jpexs.decompiler.flash.tags.base.MissingCharacterHandler; @@ -61,6 +64,10 @@ public class TextPanel extends JPanel { private final JButton textCancelButton; + private final JButton selectPrevousTagButton; + + private final JButton selectNextTagButton; + private final JButton textAlignLeftButton; private final JButton textAlignCenterButton; @@ -114,6 +121,8 @@ public class TextPanel extends JPanel { JPanel textButtonsPanel = new JPanel(); textButtonsPanel.setLayout(new FlowLayout(SwingConstants.WEST)); + selectPrevousTagButton = createButton(null, "arrowup16", "selectPreviousTag", e -> mainPanel.previousTag()); + selectNextTagButton = createButton(null, "arrowdown16", "selectNextTag", e -> mainPanel.nextTag()); textAlignLeftButton = createButton(null, "textalignleft16", "text.align.left", e -> textAlign(TextAlign.LEFT)); textAlignCenterButton = createButton(null, "textaligncenter16", "text.align.center", e -> textAlign(TextAlign.CENTER)); textAlignRightButton = createButton(null, "textalignright16", "text.align.right", e -> textAlign(TextAlign.RIGHT)); @@ -122,6 +131,8 @@ public class TextPanel extends JPanel { increaseTranslateXButton = createButton(null, "textindent16", "text.align.translatex.increase", e -> translateX((int) SWF.unitDivisor, ((JRepeatButton) e.getSource()).getRepeatCount()), true); undoChangesButton = createButton(null, "reload16", "text.undo", e -> undoChanges()); + textButtonsPanel.add(selectPrevousTagButton); + textButtonsPanel.add(selectNextTagButton); textButtonsPanel.add(textAlignLeftButton); textButtonsPanel.add(textAlignCenterButton); textButtonsPanel.add(textAlignRightButton); @@ -167,12 +178,25 @@ public class TextPanel extends JPanel { public void setText(TextTag textTag) { this.textTag = textTag; - textValue.setText(textTag.getFormattedText()); + textValue.setText(textTag.getFormattedText().text); textValue.setCaretPosition(0); modified = false; setEditText(false); } + public void focusTextValue() { + textValue.requestFocusInWindow(); + if (!modified) { + HighlightedText text = textTag.getFormattedText(); + for (Highlighting highlight : text.specialHilights) { + if (highlight.getProperties().subtype == HighlightSpecialType.TEXT) { + textValue.select(highlight.startPos, highlight.startPos + highlight.len); + break; + } + } + } + } + public void closeTag() { if (modified && Configuration.autoSaveTagModifications.get()) { saveText(false); diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/arrowdown16.png b/src/com/jpexs/decompiler/flash/gui/graphics/arrowdown16.png new file mode 100644 index 0000000000000000000000000000000000000000..691f6e0c7c86f88608e3a712044d0bf2b15d854a GIT binary patch literal 381 zcmV-@0fPRCP)EKoEw%ZLQCtk5Hm0 z@!kq57WxpPS1&$7QF_<6Q1GA+(1K`g9))_*g9kC-!K7rz*)&S9Zj^fPhhhHA%>Mkd zVU37ThA}43n|)5l8QYFG>YSbL({cRkd|oKW2U>^7Sgn?c~51DT;)X%j_2UZC8I$c`LE}~tl;rOoBTyJXCZ{9-C?s2oS z42uhs+UOpxuHo{4C7q9c5^yP4SCOzVI~>4;9#$It`Y}0?jU&W`^@RCwBA{Qv(y12SM_WQ4QbyBNTd zJIfg0g6QhO0>~H!oZ1=wUw$wPj6rOi>aiK%(!ucm^zFX?b9XX;F^CNk!)5>r0~+w^ zVffz=(8O@{X%WLeR*2ZuXGIKcAK zMkXMe2`qjVi&_RI1{?t7(Vzc6G5lvi^E9yrfWV*spBWgK8SnzUF8IapiGdMhz<+XF z0MzuG5$FOIid;Z}7eFTbV){hT1vsTa(a6a9gMk&wCfR_$-x>BUUd-SOW8-uvp6sjy l#DY-vdmz4tEjt4Q7yvrXvHb(I`EvjO002ovPDHLkV1jrmr