diff options
author | Robin Gareus <robin@gareus.org> | 2017-02-19 01:27:16 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-02-19 01:29:08 +0100 |
commit | 05149f9bc54d0cfb8b162ba7cfac975b5eb79971 (patch) | |
tree | 823a1e75ae0fed1e51a76ea2e12a952d0806cc95 | |
parent | ceb78843808563d57dcd30f92a92ed7361967869 (diff) |
Connect Script Manager "Edit" -> Lua Scripting Window
-rw-r--r-- | gtk2_ardour/lua_script_manager.cc | 18 | ||||
-rw-r--r-- | gtk2_ardour/luawindow.cc | 11 | ||||
-rw-r--r-- | gtk2_ardour/luawindow.h | 1 |
3 files changed, 15 insertions, 15 deletions
diff --git a/gtk2_ardour/lua_script_manager.cc b/gtk2_ardour/lua_script_manager.cc index 0e8785d5ce..e7911e6575 100644 --- a/gtk2_ardour/lua_script_manager.cc +++ b/gtk2_ardour/lua_script_manager.cc @@ -24,6 +24,7 @@ #include "LuaBridge/LuaBridge.h" #include "lua_script_manager.h" +#include "luawindow.h" #include "script_selector.h" #include "pbd/i18n.h" @@ -226,7 +227,7 @@ LuaScriptManager::action_selection_changed () if (row && row[_a_model.enabled]) { _a_del_button.set_sensitive (true); - _a_edit_button.set_sensitive (false); // TODO + _a_edit_button.set_sensitive (true); _a_call_button.set_sensitive (true); } else { _a_del_button.set_sensitive (false); @@ -276,20 +277,7 @@ LuaScriptManager::edit_action_btn_clicked () if (!li->lua_action (id, name, script, args)) { return; } - - // TODO text-editor window, update script directly - - if (!LuaScripting::try_compile (script, args)) { - // compilation failed, keep editing - return; - } - - if (li->set_lua_action (id, name, script, args)) { - // OK - } else { - // load failed, keep editing.. - } - action_selection_changed (); + LuaWindow::instance()->edit_script (name, script); } void diff --git a/gtk2_ardour/luawindow.cc b/gtk2_ardour/luawindow.cc index 04e2e8c240..c5df8599b1 100644 --- a/gtk2_ardour/luawindow.cc +++ b/gtk2_ardour/luawindow.cc @@ -323,6 +323,17 @@ LuaWindow::clear_output () } void +LuaWindow::edit_script (const std::string& name, const std::string& script) +{ + ScriptBuffer* sb = new LuaWindow::ScriptBuffer (name); + sb->script = script; + script_buffers.push_back (ScriptBufferPtr (sb)); + script_selection_changed (script_buffers.back ()); + refresh_scriptlist (); + show_window (); +} + +void LuaWindow::new_script () { char buf[32]; diff --git a/gtk2_ardour/luawindow.h b/gtk2_ardour/luawindow.h index 38f688d4ad..33d7fd1517 100644 --- a/gtk2_ardour/luawindow.h +++ b/gtk2_ardour/luawindow.h @@ -53,6 +53,7 @@ class LuaWindow : void show_window (); bool hide_window (GdkEventAny *ev); + void edit_script (const std::string&, const std::string&); void set_session (ARDOUR::Session* s); |