mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-24 09:35:34 +00:00
Added Remembering script+folder scroll/caret position when switching between items, saving for pinned items
This commit is contained in:
@@ -182,6 +182,8 @@ public class ActionPanel extends JPanel implements SearchListener<ScriptSearchRe
|
||||
private CancellableWorker setSourceWorker;
|
||||
|
||||
private List<Runnable> scriptListeners = new ArrayList<>();
|
||||
|
||||
private boolean scriptLoaded = true;
|
||||
|
||||
public void addScriptListener(Runnable listener) {
|
||||
scriptListeners.add(listener);
|
||||
@@ -190,6 +192,20 @@ public class ActionPanel extends JPanel implements SearchListener<ScriptSearchRe
|
||||
public void removeScriptListener(Runnable listener) {
|
||||
scriptListeners.remove(listener);
|
||||
}
|
||||
|
||||
public void runWhenLoaded(Runnable l) {
|
||||
if (scriptLoaded) {
|
||||
l.run();
|
||||
} else {
|
||||
addScriptListener(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
l.run();
|
||||
removeScriptListener(this);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void fireScript() {
|
||||
List<Runnable> list = new ArrayList<>(scriptListeners);
|
||||
@@ -462,6 +478,8 @@ public class ActionPanel extends JPanel implements SearchListener<ScriptSearchRe
|
||||
|
||||
public void setSource(final ASMSource src, final boolean useCache) {
|
||||
View.checkAccess();
|
||||
|
||||
scriptLoaded = false;
|
||||
|
||||
if (setSourceWorker != null) {
|
||||
setSourceWorker.cancel(true);
|
||||
@@ -570,6 +588,7 @@ public class ActionPanel extends JPanel implements SearchListener<ScriptSearchRe
|
||||
|
||||
setHex(getExportMode(), asm.getScriptName(), actions);
|
||||
setDecompiledText(asm.getScriptName(), decompiledText.text);
|
||||
scriptLoaded = true;
|
||||
fireScript();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user