feat: add up/down arrow key bindings for playback speed control
This commit is contained in:
@@ -43,6 +43,8 @@ class Auditui(App):
|
||||
("right", "seek_forward", "+30s"),
|
||||
("ctrl+left", "previous_chapter", "Previous chapter"),
|
||||
("ctrl+right", "next_chapter", "Next chapter"),
|
||||
("up", "increase_speed", "Increase speed"),
|
||||
("down", "decrease_speed", "Decrease speed"),
|
||||
("d", "toggle_download", "Download/Delete"),
|
||||
("q", "quit", "Quit"),
|
||||
]
|
||||
@@ -124,6 +126,14 @@ class Auditui(App):
|
||||
event.prevent_default()
|
||||
self.action_seek_forward()
|
||||
return
|
||||
elif event.key == "up":
|
||||
event.prevent_default()
|
||||
self.action_increase_speed()
|
||||
return
|
||||
elif event.key == "down":
|
||||
event.prevent_default()
|
||||
self.action_decrease_speed()
|
||||
return
|
||||
|
||||
if isinstance(self.focused, DataTable):
|
||||
if event.key == "enter":
|
||||
@@ -290,6 +300,16 @@ class Auditui(App):
|
||||
if not self.playback.seek_to_previous_chapter():
|
||||
self._no_playback_message()
|
||||
|
||||
def action_increase_speed(self) -> None:
|
||||
"""Increase playback speed."""
|
||||
if not self.playback.increase_speed():
|
||||
self._no_playback_message()
|
||||
|
||||
def action_decrease_speed(self) -> None:
|
||||
"""Decrease playback speed."""
|
||||
if not self.playback.decrease_speed():
|
||||
self._no_playback_message()
|
||||
|
||||
def _no_playback_message(self) -> None:
|
||||
"""Show message when no playback is active."""
|
||||
self.update_status("No playback active. Press Enter to play a book.")
|
||||
|
||||
Reference in New Issue
Block a user