add "revert" button to lua script window
This commit is contained in:
parent
3f71e669ae
commit
56a41b9347
|
@ -96,6 +96,7 @@ LuaWindow::LuaWindow ()
|
||||||
, _btn_open (_("Import"))
|
, _btn_open (_("Import"))
|
||||||
, _btn_save (_("Save"))
|
, _btn_save (_("Save"))
|
||||||
, _btn_delete (_("Delete"))
|
, _btn_delete (_("Delete"))
|
||||||
|
, _btn_revert (_("Revert"))
|
||||||
, _current_buffer ()
|
, _current_buffer ()
|
||||||
{
|
{
|
||||||
set_name ("Lua");
|
set_name ("Lua");
|
||||||
|
@ -120,10 +121,12 @@ LuaWindow::LuaWindow ()
|
||||||
_btn_open.signal_clicked.connect (sigc::mem_fun(*this, &LuaWindow::import_script));
|
_btn_open.signal_clicked.connect (sigc::mem_fun(*this, &LuaWindow::import_script));
|
||||||
_btn_save.signal_clicked.connect (sigc::mem_fun(*this, &LuaWindow::save_script));
|
_btn_save.signal_clicked.connect (sigc::mem_fun(*this, &LuaWindow::save_script));
|
||||||
_btn_delete.signal_clicked.connect (sigc::mem_fun(*this, &LuaWindow::delete_script));
|
_btn_delete.signal_clicked.connect (sigc::mem_fun(*this, &LuaWindow::delete_script));
|
||||||
|
_btn_revert.signal_clicked.connect (sigc::mem_fun(*this, &LuaWindow::revert_script));
|
||||||
|
|
||||||
_btn_open.set_sensitive (false); // TODO
|
_btn_open.set_sensitive (false); // TODO
|
||||||
_btn_save.set_sensitive (false);
|
_btn_save.set_sensitive (false);
|
||||||
_btn_delete.set_sensitive (false);
|
_btn_delete.set_sensitive (false);
|
||||||
|
_btn_revert.set_sensitive (false);
|
||||||
|
|
||||||
// layout
|
// layout
|
||||||
|
|
||||||
|
@ -143,6 +146,7 @@ LuaWindow::LuaWindow ()
|
||||||
hbox->pack_start (_btn_open, false, false, 2);
|
hbox->pack_start (_btn_open, false, false, 2);
|
||||||
hbox->pack_start (_btn_save, false, false, 2);
|
hbox->pack_start (_btn_save, false, false, 2);
|
||||||
hbox->pack_start (_btn_delete, false, false, 2);
|
hbox->pack_start (_btn_delete, false, false, 2);
|
||||||
|
hbox->pack_start (_btn_revert, false, false, 2);
|
||||||
hbox->pack_start (script_select, false, false, 2);
|
hbox->pack_start (script_select, false, false, 2);
|
||||||
|
|
||||||
Gtk::VBox *vbox = manage (new VBox());
|
Gtk::VBox *vbox = manage (new VBox());
|
||||||
|
@ -343,6 +347,13 @@ LuaWindow::delete_script ()
|
||||||
new_script ();
|
new_script ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
LuaWindow::revert_script ()
|
||||||
|
{
|
||||||
|
_current_buffer->flags &= BufferFlags(~Buffer_Valid);
|
||||||
|
script_selection_changed (_current_buffer, true);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
LuaWindow::import_script ()
|
LuaWindow::import_script ()
|
||||||
{
|
{
|
||||||
|
@ -537,7 +548,7 @@ LuaWindow::rebuild_menu ()
|
||||||
|
|
||||||
for (ScriptBufferList::const_iterator i = script_buffers.begin (); i != script_buffers.end (); ++i) {
|
for (ScriptBufferList::const_iterator i = script_buffers.begin (); i != script_buffers.end (); ++i) {
|
||||||
Menu_Helpers::MenuElem elem = Gtk::Menu_Helpers::MenuElem((*i)->name,
|
Menu_Helpers::MenuElem elem = Gtk::Menu_Helpers::MenuElem((*i)->name,
|
||||||
sigc::bind(sigc::mem_fun(*this, &LuaWindow::script_selection_changed), (*i)));
|
sigc::bind(sigc::mem_fun(*this, &LuaWindow::script_selection_changed), (*i), false));
|
||||||
|
|
||||||
if ((*i)->flags & Buffer_Scratch) {
|
if ((*i)->flags & Buffer_Scratch) {
|
||||||
items_scratch.push_back(elem);
|
items_scratch.push_back(elem);
|
||||||
|
@ -557,14 +568,17 @@ LuaWindow::rebuild_menu ()
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
LuaWindow::script_selection_changed (ScriptBufferPtr n)
|
LuaWindow::script_selection_changed (ScriptBufferPtr n, bool force)
|
||||||
{
|
{
|
||||||
if (n == _current_buffer) {
|
if (n == _current_buffer && !force) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Glib::RefPtr<Gtk::TextBuffer> tb (entry.get_buffer());
|
Glib::RefPtr<Gtk::TextBuffer> tb (entry.get_buffer());
|
||||||
|
|
||||||
|
if ((n->flags & Buffer_Valid)) {
|
||||||
_current_buffer->script = tb->get_text();
|
_current_buffer->script = tb->get_text();
|
||||||
|
}
|
||||||
|
|
||||||
if (!(n->flags & Buffer_Valid)) {
|
if (!(n->flags & Buffer_Valid)) {
|
||||||
if (!n->load()) {
|
if (!n->load()) {
|
||||||
|
@ -606,6 +620,7 @@ LuaWindow::update_gui_state ()
|
||||||
|
|
||||||
_btn_save.set_sensitive (sb.flags & Buffer_Dirty);
|
_btn_save.set_sensitive (sb.flags & Buffer_Dirty);
|
||||||
_btn_delete.set_sensitive (sb.flags & Buffer_Scratch); // TODO allow to remove user-scripts
|
_btn_delete.set_sensitive (sb.flags & Buffer_Scratch); // TODO allow to remove user-scripts
|
||||||
|
_btn_revert.set_sensitive ((sb.flags & Buffer_Dirty) && (sb.flags & Buffer_HasFile));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -103,6 +103,7 @@ class LuaWindow :
|
||||||
ArdourButton _btn_open;
|
ArdourButton _btn_open;
|
||||||
ArdourButton _btn_save;
|
ArdourButton _btn_save;
|
||||||
ArdourButton _btn_delete;
|
ArdourButton _btn_delete;
|
||||||
|
ArdourButton _btn_revert;
|
||||||
|
|
||||||
ArdourDropdown script_select;
|
ArdourDropdown script_select;
|
||||||
|
|
||||||
|
@ -122,7 +123,7 @@ class LuaWindow :
|
||||||
uint32_t count_scratch_buffers () const;
|
uint32_t count_scratch_buffers () const;
|
||||||
|
|
||||||
void script_changed ();
|
void script_changed ();
|
||||||
void script_selection_changed (ScriptBufferPtr n);
|
void script_selection_changed (ScriptBufferPtr n, bool force = false);
|
||||||
void update_gui_state ();
|
void update_gui_state ();
|
||||||
|
|
||||||
void append_text (std::string s);
|
void append_text (std::string s);
|
||||||
|
@ -133,6 +134,7 @@ class LuaWindow :
|
||||||
|
|
||||||
void new_script ();
|
void new_script ();
|
||||||
void delete_script ();
|
void delete_script ();
|
||||||
|
void revert_script ();
|
||||||
void import_script ();
|
void import_script ();
|
||||||
void save_script ();
|
void save_script ();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user