projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[Summary] Just adding comment for better code-maintaining.
[ardour.git]
/
gtk2_ardour
/
keyeditor.cc
diff --git
a/gtk2_ardour/keyeditor.cc
b/gtk2_ardour/keyeditor.cc
index d39abf5057fb32efacb565c86ce63556d40ace22..28cd8b8508f0edc2bbae6d82abdf6c5943927db4 100644
(file)
--- a/
gtk2_ardour/keyeditor.cc
+++ b/
gtk2_ardour/keyeditor.cc
@@
-55,8
+55,7
@@
KeyEditor::KeyEditor ()
, unbind_box (BUTTONBOX_END)
{
, unbind_box (BUTTONBOX_END)
{
- can_bind = false;
- last_state = 0;
+ last_keyval = 0;
model = TreeStore::create(columns);
model = TreeStore::create(columns);
@@
-182,15
+181,16
@@
KeyEditor::action_selected ()
bool
KeyEditor::on_key_press_event (GdkEventKey* ev)
{
bool
KeyEditor::on_key_press_event (GdkEventKey* ev)
{
- can_bind = true;
- last_state = ev->state;
- return false;
+ if (!ev->is_modifier) {
+ last_keyval = ev->keyval;
+ }
+ return ArdourWindow::on_key_press_event (ev);
}
bool
KeyEditor::on_key_release_event (GdkEventKey* ev)
{
}
bool
KeyEditor::on_key_release_event (GdkEventKey* ev)
{
- if (ARDOUR::Profile->get_sae() ||
!can_bind || ev->state != last_state
) {
+ if (ARDOUR::Profile->get_sae() ||
last_keyval == 0
) {
return false;
}
return false;
}
@@
-203,22
+203,25
@@
KeyEditor::on_key_release_event (GdkEventKey* ev)
goto out;
}
goto out;
}
-
Gtkmm2ext::possibly_translate_keyval_to_make_legal_accelerator (ev->keyval
);
+
GdkModifierType mod = (GdkModifierType)(Keyboard::RelevantModifierKeyMask & ev->state
);
+ Gtkmm2ext::possibly_translate_keyval_to_make_legal_accelerator (ev->keyval);
+ Gtkmm2ext::possibly_translate_mod_to_make_legal_accelerator (mod);
bool result = AccelMap::change_entry (path,
bool result = AccelMap::change_entry (path,
-
ev->
keyval,
-
ModifierType (Keyboard::RelevantModifierKeyMask & ev->state
),
+
last_
keyval,
+
Gdk::ModifierType(mod
),
true);
if (result) {
AccelKey key;
(*i)[columns.binding] = ActionManager::get_key_representation (path, key);
true);
if (result) {
AccelKey key;
(*i)[columns.binding] = ActionManager::get_key_representation (path, key);
+ unbind_button.set_sensitive (true);
}
}
out:
}
}
out:
-
can_bind = false
;
+
last_keyval = 0
;
return true;
}
return true;
}
@@
-310,4
+313,7
@@
void
KeyEditor::reset ()
{
Keyboard::the_keyboard().reset_bindings ();
KeyEditor::reset ()
{
Keyboard::the_keyboard().reset_bindings ();
+ populate ();
+ view.get_selection()->unselect_all ();
+ populate ();
}
}