Fix shortcut to exit fullscreen mode (close #71)

Fix the shortcut for fullscreen mode to also exit it. Additionally fix
the shortcuts window to show the correct shortcut for fullscreen mode.
This commit is contained in:
coderkun 2020-07-25 11:07:57 +02:00
commit ddf8368bfd
8 changed files with 115 additions and 96 deletions

View file

@ -230,6 +230,10 @@ class Window():
self._panel_action.set_enabled(False)
self._panel_action.connect('change-state', self.on_menu_panel)
self._appwindow.add_action(self._panel_action)
self._toggle_fullscreen_action = Gio.SimpleAction.new("toggle-fullscreen", None)
self._toggle_fullscreen_action.set_enabled(True)
self._toggle_fullscreen_action.connect('activate', self.on_menu_toggle_fullscreen)
self._appwindow.add_action(self._toggle_fullscreen_action)
def get(self):
@ -269,6 +273,14 @@ class Window():
self._stack.set_visible_child(self._panels[int(value.get_string())].get())
def on_menu_toggle_fullscreen(self, action, value):
self._stack.set_visible_child(self._panels[Window._PANEL_INDEX_COVER].get())
if not self._state.get_property(WindowState.IS_FULLSCREENED):
self._appwindow.fullscreen()
else:
self._appwindow.unfullscreen()
# HeaderBar callbacks
def on_header_bar_stack_switched(self, widget):
@ -1029,7 +1041,6 @@ class CoverPanel(GObject.GObject):
def get_signal_handlers(self):
return {
'on_cover-toolbar-fullscreen_clicked': self.on_fullscreen_clicked,
'on_cover-box_button_press_event': self.on_cover_box_pressed,
'on_cover-scroll_size_allocate': self.on_cover_size_allocate,
'on_cover-songs_button_press_event': self.on_songs_start_change,
@ -1037,10 +1048,6 @@ class CoverPanel(GObject.GObject):
}
def on_fullscreen_clicked(self, widget):
self.emit('toggle-fullscreen')
def on_cover_box_pressed(self, widget, event):
if self._current_album and event.type == Gdk.EventType._2BUTTON_PRESS:
self.emit('toggle-fullscreen')