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