diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index 4eeafdf6c..16c1c9fe8 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -1185,23 +1185,32 @@ public final class MainPanel extends JPanel implements ActionListener, TreeSelec } } for (TextTag textTag : textTags) { - List texts = textTag.getTexts(); - boolean found = false; - for (int i = 0; i < texts.size(); i++) { - String text = texts.get(i); + if (!replaceDialog.replaceInParametersCheckBox.isSelected()) { + List texts = textTag.getTexts(); + boolean found = false; + for (int i = 0; i < texts.size(); i++) { + String text = texts.get(i); + if (pat.matcher(text).find()) { + texts.set(i, text.replaceAll(txt, replacement)); + found = true; + findCount++; + } + } + if (found) { + String[] textArray = texts.toArray(new String[texts.size()]); + textTag.setFormattedText(getMissingCharacterHandler(), textTag.getFormattedText(), textArray); + } + } else { + String text = textTag.getFormattedText(); if (pat.matcher(text).find()) { - texts.set(i, text.replaceAll(txt, replacement)); - found = true; + textTag.setFormattedText(getMissingCharacterHandler(), text.replaceAll(txt, replacement), null); findCount++; } } - if (found) { - String[] textArray = texts.toArray(new String[texts.size()]); - textTag.setFormattedText(getMissingCharacterHandler(), textTag.getFormattedText(), textArray); - } } if (findCount > 0) { + swf.clearImageCache(); refreshTree(); } return null; diff --git a/src/com/jpexs/decompiler/flash/gui/SearchDialog.java b/src/com/jpexs/decompiler/flash/gui/SearchDialog.java index 9905cc38d..9dd078b1d 100644 --- a/src/com/jpexs/decompiler/flash/gui/SearchDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/SearchDialog.java @@ -51,6 +51,7 @@ public class SearchDialog extends AppDialog implements ActionListener { public JTextField replaceField = new MyTextField(); public JCheckBox ignoreCaseCheckBox = new JCheckBox(translate("checkbox.ignorecase")); public JCheckBox regexpCheckBox = new JCheckBox(translate("checkbox.regexp")); + public JCheckBox replaceInParametersCheckBox = new JCheckBox(translate("checkbox.replaceInParameters")); public JRadioButton searchInASRadioButton = new JRadioButton(translate("checkbox.searchAS")); public JRadioButton searchInTextsRadioButton = new JRadioButton(translate("checkbox.searchText")); public boolean result = false; @@ -89,6 +90,8 @@ public class SearchDialog extends AppDialog implements ActionListener { checkPanel.add(ignoreCaseCheckBox); if (!replace) { checkPanel.add(regexpCheckBox); + } else { + checkPanel.add(replaceInParametersCheckBox); } cnt.add(checkPanel); diff --git a/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog.properties b/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog.properties index fb24ab880..5811e3f7b 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog.properties @@ -27,3 +27,4 @@ error.invalidregexp = Invalid pattern checkbox.searchText = Search in texts checkbox.searchAS = Search in AS +checkbox.replaceInParameters = Replace in parameters diff --git a/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog_hu.properties b/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog_hu.properties index 5cdad0348..7ec9c9167 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog_hu.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog_hu.properties @@ -27,3 +27,4 @@ error.invalidregexp = \u00c9rv\u00e9nytelen minta checkbox.searchText = Keres\u00e9s a sz\u00f6vegek k\u00f6z\u00f6tt checkbox.searchAS = Keres\u00e9s az ActionScriptekben +checkbox.replaceInParameters = Param\u00e9retekben is cser\u00e9l