summaryrefslogtreecommitdiff
path: root/gtk2_ardour/keyeditor.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-24 22:20:44 +0200
committerRobin Gareus <robin@gareus.org>2016-04-24 22:20:44 +0200
commit55fb20f4912e74d71c3e6c171d916d09fbe8eeda (patch)
tree946516c0d1216feb45d67fc4f674dfac526017ee /gtk2_ardour/keyeditor.cc
parentfde99e68f7381847a126772ef929eff63e20f827 (diff)
update keyeditor when action label changes
Diffstat (limited to 'gtk2_ardour/keyeditor.cc')
-rw-r--r--gtk2_ardour/keyeditor.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/gtk2_ardour/keyeditor.cc b/gtk2_ardour/keyeditor.cc
index 56044c1c9a..ce066efd70 100644
--- a/gtk2_ardour/keyeditor.cc
+++ b/gtk2_ardour/keyeditor.cc
@@ -53,6 +53,8 @@ using namespace PBD;
using Gtkmm2ext::Keyboard;
using Gtkmm2ext::Bindings;
+sigc::signal<void> KeyEditor::UpdateBindings;
+
void bindings_collision_dialog (Gtk::Window& parent)
{
ArdourDialog dialog (parent, _("Colliding keybindings"), true);
@@ -108,6 +110,7 @@ KeyEditor::KeyEditor ()
add (vpacker);
unbind_button.set_sensitive (false);
+ UpdateBindings.connect (sigc::mem_fun (*this, &KeyEditor::refresh));
}
void
@@ -121,6 +124,7 @@ KeyEditor::add_tab (string const & name, Bindings& bindings)
return;
}
+ tabs.push_back (t);
t->show_all ();
notebook.append_page (*t, name);
}
@@ -479,7 +483,12 @@ void
KeyEditor::reset ()
{
Keyboard::the_keyboard().reset_bindings ();
+ refresh ();
+}
+void
+KeyEditor::refresh ()
+{
for (Tabs::iterator t = tabs.begin(); t != tabs.end(); ++t) {
(*t)->view.get_selection()->unselect_all ();
(*t)->populate ();