mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-15 19:16:40 +01:00
fixup keybinding editor binding action; restore some menu items lost in the trunk merge; no search in processor (redirect) boxes
git-svn-id: svn://localhost/ardour2/trunk@2548 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
7dcc66a7e5
commit
df5cf878ce
4 changed files with 36 additions and 1 deletions
|
|
@ -20,6 +20,9 @@ using namespace Gdk;
|
|||
KeyEditor::KeyEditor ()
|
||||
: ArdourDialog (_("Keybinding Editor"), false)
|
||||
{
|
||||
can_bind = false;
|
||||
last_state = 0;
|
||||
|
||||
model = TreeStore::create(columns);
|
||||
|
||||
view.set_model (model);
|
||||
|
|
@ -37,7 +40,9 @@ KeyEditor::KeyEditor ()
|
|||
|
||||
scroller.add (view);
|
||||
scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
|
||||
|
||||
get_vbox()->pack_start (scroller);
|
||||
get_vbox()->set_border_width (12);
|
||||
|
||||
scroller.show ();
|
||||
view.show ();
|
||||
|
|
@ -62,14 +67,29 @@ KeyEditor::action_selected ()
|
|||
{
|
||||
}
|
||||
|
||||
bool
|
||||
KeyEditor::on_key_press_event (GdkEventKey* ev)
|
||||
{
|
||||
can_bind = true;
|
||||
last_state = ev->state;
|
||||
}
|
||||
|
||||
bool
|
||||
KeyEditor::on_key_release_event (GdkEventKey* ev)
|
||||
{
|
||||
if (!can_bind || ev->state != last_state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
TreeModel::iterator i = view.get_selection()->get_selected();
|
||||
|
||||
if (i != model->children().end()) {
|
||||
string path = (*i)[columns.path];
|
||||
|
||||
if (!(*i)[columns.bindable]) {
|
||||
goto out;
|
||||
}
|
||||
|
||||
bool result = AccelMap::change_entry (path,
|
||||
ev->keyval,
|
||||
(ModifierType) ev->state,
|
||||
|
|
@ -91,6 +111,8 @@ KeyEditor::on_key_release_event (GdkEventKey* ev)
|
|||
|
||||
}
|
||||
|
||||
out:
|
||||
can_bind = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -136,6 +158,7 @@ KeyEditor::populate ()
|
|||
nodes[parts[1]] = rowp;
|
||||
parent = *(rowp);
|
||||
parent[columns.action] = parts[1];
|
||||
parent[columns.bindable] = false;
|
||||
|
||||
row = *(model->append (parent.children()));
|
||||
|
||||
|
|
@ -149,6 +172,7 @@ KeyEditor::populate ()
|
|||
|
||||
row[columns.action] = (*l);
|
||||
row[columns.path] = (*p);
|
||||
row[columns.bindable] = true;
|
||||
|
||||
if (*k == ActionManager::unbound_string) {
|
||||
row[columns.binding] = string();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue