Consolidate two more engine-checks
[ardour.git] / gtk2_ardour / lua_script_manager.cc
index 0e8785d5ce4eaf7fdac89e9fc6226e37be1ac3dc..caf2ad7065e1f9af454aa7e9f506f3bacffb105d 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
+#include <gtkmm/box.h>
+#include <gtkmm/frame.h>
+#include <gtkmm/messagedialog.h>
+
 #include "gtkmm2ext/gui_thread.h"
 #include "gtkmm2ext/utils.h"
 
@@ -23,7 +27,9 @@
 
 #include "LuaBridge/LuaBridge.h"
 
+#include "ardour_ui.h"
 #include "lua_script_manager.h"
+#include "luawindow.h"
 #include "script_selector.h"
 #include "pbd/i18n.h"
 
@@ -198,7 +204,7 @@ void
 LuaScriptManager::setup_actions ()
 {
        LuaInstance *li = LuaInstance::instance();
-       for (int i = 0; i < 9; ++i) {
+       for (int i = 0; i < MAX_LUA_ACTION_SCRIPTS; ++i) {
                std::string name;
                TreeModel::Row r = *_a_store->append ();
                r[_a_model.id] = i;
@@ -226,7 +232,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 +282,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