added keybinding (ctrl + l) to show lyrics

This commit is contained in:
Martin Wagner 2020-06-22 16:37:54 +02:00
parent f13884d059
commit 03bc243f14

View File

@ -1864,6 +1864,10 @@ class CoverLyricsOSD(Gtk.Overlay):
self.client.emitter.connect("disconnected", self.on_disconnected) self.client.emitter.connect("disconnected", self.on_disconnected)
self.client.emitter.connect("reconnected", self.on_reconnected) self.client.emitter.connect("reconnected", self.on_reconnected)
def show_lyrics(self, *args):
if self.lyrics_button.get_sensitive():
self.lyrics_button.emit("clicked")
def on_reconnected(self, *args): def on_reconnected(self, *args):
self.lyrics_button.set_sensitive(True) self.lyrics_button.set_sensitive(True)
@ -1977,6 +1981,9 @@ class Browser(Gtk.Box):
def search_started(self): def search_started(self):
return self.search.started() return self.search.started()
def show_lyrics(self, *args):
self.cover.show_lyrics()
def back_to_album(self, *args): def back_to_album(self, *args):
try: #since this can still be running when the connection is lost, various exceptions can occur try: #since this can still be running when the connection is lost, various exceptions can occur
song=ClientHelper.song_to_first_str_dict(self.client.currentsong()) song=ClientHelper.song_to_first_str_dict(self.client.currentsong())
@ -3346,40 +3353,45 @@ class MainWindow(Gtk.ApplicationWindow):
self.play_opts.set_sensitive(False) self.play_opts.set_sensitive(False)
def on_key_press_event(self, widget, event): def on_key_press_event(self, widget, event):
if event.keyval == 32: #space ctrl = (event.state & Gdk.ModifierType.CONTROL_MASK)
if not self.browser.search_started(): if ctrl:
if event.keyval == 108: #ctrl + l
self.browser.show_lyrics()
else:
if event.keyval == 32: #space
if not self.browser.search_started():
self.control.play_button.grab_focus()
elif event.keyval == 269025044: #AudioPlay
self.control.play_button.grab_focus() self.control.play_button.grab_focus()
elif event.keyval == 269025044: #AudioPlay self.control.play_button.emit("clicked")
self.control.play_button.grab_focus() elif event.keyval == 269025047: #AudioNext
self.control.play_button.emit("clicked")
elif event.keyval == 269025047: #AudioNext
self.control.next_button.grab_focus()
self.control.next_button.emit("clicked")
elif event.keyval == 43 or event.keyval == 65451: #+
if not self.browser.search_started():
self.control.next_button.grab_focus() self.control.next_button.grab_focus()
self.control.next_button.emit("clicked") self.control.next_button.emit("clicked")
elif event.keyval == 269025046: #AudioPrev elif event.keyval == 43 or event.keyval == 65451: #+
self.control.prev_button.grab_focus() if not self.browser.search_started():
self.control.prev_button.emit("clicked") self.control.next_button.grab_focus()
elif event.keyval == 45 or event.keyval == 65453: #- self.control.next_button.emit("clicked")
if not self.browser.search_started(): elif event.keyval == 269025046: #AudioPrev
self.control.prev_button.grab_focus() self.control.prev_button.grab_focus()
self.control.prev_button.emit("clicked") self.control.prev_button.emit("clicked")
elif event.keyval == 65307: #esc elif event.keyval == 45 or event.keyval == 65453: #-
self.browser.back_to_album() if not self.browser.search_started():
elif event.keyval == 65450: #* self.control.prev_button.grab_focus()
if not self.browser.search_started(): self.control.prev_button.emit("clicked")
self.progress.scale.grab_focus() elif event.keyval == 65307: #esc
self.progress.seek_forward() self.browser.back_to_album()
elif event.keyval == 65455: #/ elif event.keyval == 65450: #*
if not self.browser.search_started(): if not self.browser.search_started():
self.progress.scale.grab_focus() self.progress.scale.grab_focus()
self.progress.seek_backward() self.progress.seek_forward()
elif event.keyval == 65474: #F5 elif event.keyval == 65455: #/
self.update_action.emit("activate", None) if not self.browser.search_started():
elif event.keyval == 65470: #F1 self.progress.scale.grab_focus()
self.help_action.emit("activate", None) self.progress.seek_backward()
elif event.keyval == 65474: #F5
self.update_action.emit("activate", None)
elif event.keyval == 65470: #F1
self.help_action.emit("activate", None)
def on_save(self, action, param): def on_save(self, action, param):
size=self.get_size() size=self.get_size()