From 12d13ce989eceea1cb46cfa6dff918a6dc6d9c41 Mon Sep 17 00:00:00 2001 From: luboslenco Date: Mon, 14 Oct 2019 10:57:12 +0200 Subject: [PATCH] Auto-reload plugin --- Bundled/plugins/autosave.js | 2 +- Sources/arm/Plugin.hx | 1 + Sources/arm/ui/TabPlugins.hx | 29 ++++++++++------------------- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/Bundled/plugins/autosave.js b/Bundled/plugins/autosave.js index ad08f4ab..8b4d9b41 100644 --- a/Bundled/plugins/autosave.js +++ b/Bundled/plugins/autosave.js @@ -2,7 +2,7 @@ let plugin = new arm.Plugin(); let h1 = new zui.Handle(); -let h2 = new zui.Handle({value:1}); +let h2 = new zui.Handle({value: 5}); let timer = 0.0; plugin.drawUI = function(ui) { diff --git a/Sources/arm/Plugin.hx b/Sources/arm/Plugin.hx index cba4c727..b99a0fa7 100644 --- a/Sources/arm/Plugin.hx +++ b/Sources/arm/Plugin.hx @@ -26,6 +26,7 @@ class Plugin { #if js untyped __js__("(1, eval)({0})", blob.toString()); #end + iron.data.Data.deleteBlob("plugins/" + plugin); }); } catch(e:Dynamic) { trace("Failed to load plugin '" + plugin + "'"); trace(e); } diff --git a/Sources/arm/ui/TabPlugins.hx b/Sources/arm/ui/TabPlugins.hx index d810e97b..12ce2b79 100644 --- a/Sources/arm/ui/TabPlugins.hx +++ b/Sources/arm/ui/TabPlugins.hx @@ -78,9 +78,18 @@ class TabPlugins{ } if (ui.isHovered && ui.inputReleasedR) { UIMenu.draw(function(ui:Zui) { - ui.fill(0, 0, ui._w / ui.SCALE, ui.t.ELEMENT_H * 4, ui.t.SEPARATOR_COL); + ui.fill(0, 0, ui._w / ui.SCALE, ui.t.ELEMENT_H * 3, ui.t.SEPARATOR_COL); ui.text(f, Right); var path = Krom.getFilesLocation() + sep + dataPath + sep + "plugins" + sep + f; + if (ui.button("Edit", Left)) { + #if krom_windows + Krom.sysCommand('"' + path + '"'); + #elseif krom_linux + Krom.sysCommand('xdg-open "' + path + '"'); + #else + Krom.sysCommand('open "' + path + '"'); + #end + } if (ui.button("Delete", Left)) { if (Config.raw.plugins.indexOf(f) >= 0) { Config.raw.plugins.remove(f); @@ -94,24 +103,6 @@ class TabPlugins{ #end Krom.sysCommand(cmd + '"' + path + '"'); } - if (ui.button("Edit", Left)) { - #if krom_windows - Krom.sysCommand('"' + path + '"'); - #elseif krom_linux - Krom.sysCommand('xdg-open "' + path + '"'); - #else - Krom.sysCommand('open "' + path + '"'); - #end - } - if (ui.button("Reload", Left)) { - if (Config.raw.plugins.indexOf(f) >= 0) { - Plugin.stop(f); - } - iron.data.Data.deleteBlob("plugins/" + f); - if (Config.raw.plugins.indexOf(f) >= 0) { - Plugin.start(f); - } - } }); } }