summaryrefslogtreecommitdiff
path: root/gtk2_ardour/tempo_dialog.cc
diff options
context:
space:
mode:
authorNick Mainsbridge <beatroute@iprimus.com.au>2006-04-26 16:04:04 +0000
committerNick Mainsbridge <beatroute@iprimus.com.au>2006-04-26 16:04:04 +0000
commit1855ed57fd65f3338b8aa94d2c10d0d2d406d549 (patch)
tree569c1c5023548b675abffa846e342445023f5d69 /gtk2_ardour/tempo_dialog.cc
parent56f0a56805054c9e96f52b2b173996987aa73c02 (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.cc97
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() != "") {