diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/search/ActionScriptSearch.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/search/ActionScriptSearch.java index f613ba4fc..27ec8f8fa 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/search/ActionScriptSearch.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/search/ActionScriptSearch.java @@ -16,7 +16,6 @@ */ package com.jpexs.decompiler.flash.search; -import com.jpexs.decompiler.flash.AppResources; import com.jpexs.decompiler.flash.SWF; import com.jpexs.decompiler.flash.abc.ScriptPack; import com.jpexs.decompiler.flash.cache.ScriptDecompiledListener; @@ -50,8 +49,6 @@ public class ActionScriptSearch { int pos = 0; List> futures = new ArrayList<>(); - String workText = AppResources.translate("work.searching"); - String decAdd = ", " + AppResources.translate("work.decompiling"); try { for (Map.Entry item : asms.entrySet()) { pos++; @@ -71,14 +68,14 @@ public class ActionScriptSearch { @Override public void onStart() { if (listener != null) { - listener.onWork(workText + " \"" + txt + "\"" + decAdd + " - (" + fpos + "/" + asms.size() + ") " + item.getKey() + "... "); + listener.onDecompile(fpos, asms.size(), item.getKey()); } } @Override public void onComplete(HighlightedText result) { if (listener != null) { - listener.onWork(workText + " \"" + txt + "\"" + decAdd + " - (" + fpos + "/" + asms.size() + ") " + item.getKey() + "... "); + listener.onSearch(fpos, asms.size(), item.getKey()); } if (pat.matcher(result.text).find()) { @@ -121,8 +118,6 @@ public class ActionScriptSearch { int pos = 0; List> futures = new ArrayList<>(); - String workText = AppResources.translate("work.searching"); - String decAdd = ", " + AppResources.translate("work.decompiling"); try { loop: for (final ScriptPack pack : allpacks) { @@ -147,14 +142,14 @@ public class ActionScriptSearch { @Override public void onStart() { if (listener != null) { - listener.onWork(workText + " \"" + txt + "\"" + decAdd + " - (" + fpos + "/" + allpacks.size() + ") " + pack.getClassPath().toString() + "... "); + listener.onDecompile(fpos, allpacks.size(), pack.getClassPath().toString()); } } @Override public void onComplete(HighlightedText result) { if (listener != null) { - listener.onWork(workText + " \"" + txt + "\" - (" + fpos + "/" + allpacks.size() + ") " + pack.getClassPath().toString() + "... "); + listener.onSearch(fpos, allpacks.size(), pack.getClassPath().toString()); } if (pat.matcher(result.text).find()) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/search/ScriptSearchListener.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/search/ScriptSearchListener.java index 9122c2cd8..043bda019 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/search/ScriptSearchListener.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/search/ScriptSearchListener.java @@ -22,5 +22,7 @@ package com.jpexs.decompiler.flash.search; */ public interface ScriptSearchListener { - public void onWork(String message); + public void onDecompile(int pos, int total, String name); + + public void onSearch(int pos, int total, String name); } diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java index 59f6a1d63..6b1f32d12 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java @@ -192,10 +192,18 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener search(final SWF swf, final String txt, boolean ignoreCase, boolean regexp, boolean pcode, CancellableWorker worker) { if (txt != null && !txt.isEmpty()) { searchPanel.setOptions(ignoreCase, regexp); + + String workText = AppStrings.translate("work.searching"); + String decAdd = AppStrings.translate("work.decompiling"); return new ActionScriptSearch().searchAs3(swf, txt, ignoreCase, regexp, pcode, new ScriptSearchListener() { @Override - public void onWork(String message) { - Main.startWork(message, worker); + public void onDecompile(int pos, int total, String name) { + Main.startWork(workText + " \"" + txt + "\", " + decAdd + " - (" + pos + "/" + total + ") " + name + "... ", worker); + } + + @Override + public void onSearch(int pos, int total, String name) { + Main.startWork(workText + " \"" + txt + "\" - (" + pos + "/" + total + ") " + name + "... ", worker); } }); } diff --git a/src/com/jpexs/decompiler/flash/gui/action/ActionPanel.java b/src/com/jpexs/decompiler/flash/gui/action/ActionPanel.java index bb4b4e012..ad4807df2 100644 --- a/src/com/jpexs/decompiler/flash/gui/action/ActionPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/action/ActionPanel.java @@ -247,10 +247,18 @@ public class ActionPanel extends JPanel implements SearchListener search(SWF swf, final String txt, boolean ignoreCase, boolean regexp, boolean pcode, CancellableWorker worker) { if (txt != null && !txt.isEmpty()) { searchPanel.setOptions(ignoreCase, regexp); + + String workText = AppStrings.translate("work.searching"); + String decAdd = AppStrings.translate("work.decompiling"); return new ActionScriptSearch().searchAs2(swf, txt, ignoreCase, regexp, pcode, new ScriptSearchListener() { @Override - public void onWork(String message) { - Main.startWork(message, worker); + public void onDecompile(int pos, int total, String name) { + Main.startWork(workText + " \"" + txt + "\", " + decAdd + " - (" + pos + "/" + total + ") " + name + "... ", worker); + } + + @Override + public void onSearch(int pos, int total, String name) { + Main.startWork(workText + " \"" + txt + "\" - (" + pos + "/" + total + ") " + name + "... ", worker); } }); }