diff --git a/README b/README index bc0de12b966c7569610f97979c2145126cd8b392..1d72c00dc2f56b0d39a2db68fb350da7dd6c8c45 100644 --- a/README +++ b/README @@ -46,6 +46,7 @@ DONE click action = perform action DONE add thread for slu DONE remove section changer UI DONE change xml view to reflect already performed actions, already recognized text +DONE add global keybindings (1-9 for sections, y/n)... events = click action or words to resynchronize ? click line = synchronize to that line @@ -55,4 +56,3 @@ add logger move slu to asr make selector a proper window allow sequence advance in slu, add UI for that -add global keybindings (1-9 for sections, y/n)... diff --git a/asr.py b/asr.py index 5ec2c608bee1facaddff3c1d15c18072ef1e4904..54166c0d1079a7321bf12a2eedc96996aa0976c3 100644 --- a/asr.py +++ b/asr.py @@ -167,12 +167,12 @@ class ASR(Gtk.HBox): def button_clicked(self, button): """Handle button presses.""" - if button.get_label() == "Record": - button.set_label("Stop") + if self.button.get_label() == "Record": + self.button.set_label("Stop") self.asr.set_property("silent", False) self.hyp = [] self.buffer.set_text('...') else: - button.set_label("Record") + self.button.set_label("Record") self.asr.set_property("silent", True) diff --git a/main.py b/main.py index f95a2fdc4b6aefebaa89f70bb7b56351824e42e7..bee5ccb36e82c7cc654f029ca479bdc0331ddb5d 100644 --- a/main.py +++ b/main.py @@ -78,6 +78,38 @@ class ScriptedASR(Gtk.Window): self.kept_history = '' self.kept_actions = [] + self.connect('key-press-event', self.global_keybindings) + + def global_keybindings(self, widget, event): + if event.keyval == Gdk.KEY_1: + self.set_section(0) + elif event.keyval == Gdk.KEY_2: + self.set_section(1) + elif event.keyval == Gdk.KEY_3: + self.set_section(2) + elif event.keyval == Gdk.KEY_4: + self.set_section(3) + elif event.keyval == Gdk.KEY_5: + self.set_section(4) + elif event.keyval == Gdk.KEY_6: + self.set_section(5) + elif event.keyval == Gdk.KEY_7: + self.set_section(6) + elif event.keyval == Gdk.KEY_8: + self.set_section(7) + elif event.keyval == Gdk.KEY_9: + self.set_section(8) + elif event.keyval == Gdk.KEY_y: + self.confirmer.click_yes() + elif event.keyval == Gdk.KEY_n: + self.confirmer.click_no() + elif event.keyval == Gdk.KEY_space: + if not self.asr.button.has_focus(): + self.asr.button_clicked(None) + else: + return True + return False + def set_section(self, section_id): self.xmlview.set_section(section_id)