diff options
author | Nick Mainsbridge <beatroute@iprimus.com.au> | 2006-04-26 16:04:04 +0000 |
---|---|---|
committer | Nick Mainsbridge <beatroute@iprimus.com.au> | 2006-04-26 16:04:04 +0000 |
commit | 1855ed57fd65f3338b8aa94d2c10d0d2d406d549 (patch) | |
tree | 569c1c5023548b675abffa846e342445023f5d69 /gtk2_ardour/tempo_dialog.cc | |
parent | 56f0a56805054c9e96f52b2b173996987aa73c02 (diff) |
Plugin selector useability changes, fix mouse grab bug in plugin barcontroller, prevent alpah key entry in tempo/meter dialogs
git-svn-id: svn://localhost/trunk/ardour2@483 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/tempo_dialog.cc')
-rw-r--r-- | gtk2_ardour/tempo_dialog.cc | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/gtk2_ardour/tempo_dialog.cc b/gtk2_ardour/tempo_dialog.cc index 43c9ece5ba..fc37550172 100644 --- a/gtk2_ardour/tempo_dialog.cc +++ b/gtk2_ardour/tempo_dialog.cc @@ -102,11 +102,60 @@ TempoDialog::init (const BBT_Time& when, double bpm, bool movable) bpm_entry.show(); set_name ("MetricDialog"); + bpm_entry.signal_key_press_event().connect (mem_fun (*this, &TempoDialog::bpm_key_press), false); bpm_entry.signal_activate().connect (bind (mem_fun (*this, &TempoDialog::response), RESPONSE_ACCEPT)); bpm_entry.signal_key_release_event().connect (mem_fun (*this, &TempoDialog::bpm_key_release)); } bool +TempoDialog::bpm_key_press (GdkEventKey* ev) +{ + +switch (ev->keyval) { + + case GDK_0: + case GDK_1: + case GDK_2: + case GDK_3: + case GDK_4: + case GDK_5: + case GDK_6: + case GDK_7: + case GDK_8: + case GDK_9: + case GDK_KP_0: + case GDK_KP_1: + case GDK_KP_2: + case GDK_KP_3: + case GDK_KP_4: + case GDK_KP_5: + case GDK_KP_6: + case GDK_KP_7: + case GDK_KP_8: + case GDK_KP_9: + case GDK_period: + case GDK_comma: + case GDK_KP_Delete: + case GDK_KP_Enter: + case GDK_Delete: + case GDK_BackSpace: + case GDK_Escape: + case GDK_Return: + case GDK_Home: + case GDK_End: + case GDK_Left: + case GDK_Right: + case GDK_Num_Lock: + case GDK_Tab: + return FALSE; + default: + break; + } + + return TRUE; +} + +bool TempoDialog::bpm_key_release (GdkEventKey* ev) { if (bpm_entry.get_text() != "") { @@ -280,6 +329,54 @@ MeterDialog::init (const BBT_Time& when, double bpb, double note_type, bool mova } bool +MeterDialog::bpb_key_press (GdkEventKey* ev) +{ + +switch (ev->keyval) { + + case GDK_0: + case GDK_1: + case GDK_2: + case GDK_3: + case GDK_4: + case GDK_5: + case GDK_6: + case GDK_7: + case GDK_8: + case GDK_9: + case GDK_KP_0: + case GDK_KP_1: + case GDK_KP_2: + case GDK_KP_3: + case GDK_KP_4: + case GDK_KP_5: + case GDK_KP_6: + case GDK_KP_7: + case GDK_KP_8: + case GDK_KP_9: + case GDK_period: + case GDK_comma: + case GDK_KP_Delete: + case GDK_KP_Enter: + case GDK_Delete: + case GDK_BackSpace: + case GDK_Escape: + case GDK_Return: + case GDK_Home: + case GDK_End: + case GDK_Left: + case GDK_Right: + case GDK_Num_Lock: + case GDK_Tab: + return FALSE; + default: + break; + } + + return TRUE; +} + +bool MeterDialog::bpb_key_release (GdkEventKey* ev) { if (bpb_entry.get_text() != "") { |