fixup! Port UI to GTK 4
This commit is contained in:
parent
15f8f67de9
commit
26beefa7f3
|
@ -30,6 +30,10 @@
|
|||
font-weight:bold;
|
||||
}
|
||||
|
||||
window.fullscreen #cover_box {
|
||||
background: black;
|
||||
}
|
||||
|
||||
#cover_info_revealer {
|
||||
background-color:alpha(@theme_bg_color, 0.8);
|
||||
box-shadow:0 0 10px @theme_bg_color;
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
<property name="valign">fill</property>
|
||||
<child>
|
||||
<object class="GtkViewport" id="cover_box">
|
||||
<property name="name">cover_box</property>
|
||||
<property name="hexpand">true</property>
|
||||
<property name="halign">fill</property>
|
||||
<property name="vexpand">true</property>
|
||||
|
@ -53,9 +54,6 @@
|
|||
<property name="valign">fill</property>
|
||||
<property name="icon-name">image-x-generic-symbolic</property>
|
||||
<property name="icon-size">large</property>
|
||||
<!--
|
||||
<signal name="button-press-event" handler="on_cover_box_pressed" swapped="no"/>
|
||||
-->
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
@ -81,9 +79,6 @@
|
|||
<property name="transition-type">slide-right</property>
|
||||
<property name="name">cover_info_revealer</property>
|
||||
<style>
|
||||
<!--
|
||||
<class name="sidebar"/>
|
||||
-->
|
||||
<class name="background"/>
|
||||
</style>
|
||||
<child>
|
||||
|
|
|
@ -63,6 +63,11 @@ class CoverPanel(Gtk.Overlay):
|
|||
# Initial actions
|
||||
GObject.idle_add(self._enable_tracklist)
|
||||
|
||||
# Click handler for image
|
||||
clickController = Gtk.GestureClick()
|
||||
clickController.connect('pressed', self.on_cover_box_pressed)
|
||||
self.cover_box.add_controller(clickController)
|
||||
|
||||
|
||||
def get_toolbar(self):
|
||||
return self.toolbar
|
||||
|
@ -72,11 +77,9 @@ class CoverPanel(Gtk.Overlay):
|
|||
pass
|
||||
|
||||
|
||||
# FIXME on_cover_box_pressed()
|
||||
#@Gtk.Template.Callback()
|
||||
#def on_cover_box_pressed(self, widget, event):
|
||||
# if self._current_album and event.type == Gdk.EventType._2BUTTON_PRESS:
|
||||
# self.emit('toggle-fullscreen')
|
||||
def on_cover_box_pressed(self, widget, npress, x, y):
|
||||
if self._current_album and npress == 2:
|
||||
self.emit('toggle-fullscreen')
|
||||
|
||||
|
||||
def set_width(self, width):
|
||||
|
@ -150,13 +153,12 @@ class CoverPanel(Gtk.Overlay):
|
|||
def set_fullscreen(self, active):
|
||||
if active:
|
||||
self.info_revealer.set_reveal_child(False)
|
||||
self.cover_box.override_background_color(Gtk.StateFlags.NORMAL, Gdk.RGBA(0, 0, 0, 1))
|
||||
GObject.idle_add(self._resize_image)
|
||||
self._fullscreened = True
|
||||
else:
|
||||
self._fullscreened = False
|
||||
self.info_revealer.set_reveal_child(True)
|
||||
self.cover_box.override_background_color(Gtk.StateFlags.NORMAL, Gdk.RGBA(0, 0, 0, 0))
|
||||
if self._current_album:
|
||||
self.info_revealer.set_reveal_child(True)
|
||||
GObject.idle_add(self._resize_image)
|
||||
|
||||
|
||||
|
@ -171,7 +173,6 @@ class CoverPanel(Gtk.Overlay):
|
|||
self._cover_pixbuf = None
|
||||
else:
|
||||
# Reset image
|
||||
self._cover_pixbuf = self._get_default_image()
|
||||
self._cover_pixbuf = None
|
||||
self._current_size = None
|
||||
self._current_cover_album = album
|
||||
|
@ -205,7 +206,8 @@ class CoverPanel(Gtk.Overlay):
|
|||
def _enable_tracklist(self):
|
||||
if self._current_album:
|
||||
# enable
|
||||
self.info_revealer.set_reveal_child(True)
|
||||
if not self._fullscreened:
|
||||
self.info_revealer.set_reveal_child(True)
|
||||
else:
|
||||
# disable
|
||||
self.info_revealer.set_reveal_child(False)
|
||||
|
|
|
@ -230,7 +230,7 @@ class Window(Adw.ApplicationWindow):
|
|||
|
||||
|
||||
def on_menu_toggle_fullscreen(self, action, value):
|
||||
self.panel_stack.set_visible_child(self.cover_panel_page)
|
||||
self.panel_stack.set_visible_child(self._cover_panel)
|
||||
if not self._state.get_property(WindowState.IS_FULLSCREENED):
|
||||
self.fullscreen()
|
||||
else:
|
||||
|
@ -259,7 +259,7 @@ class Window(Adw.ApplicationWindow):
|
|||
|
||||
|
||||
def on_fullscreened(self, widget, fullscreened):
|
||||
self._fullscreen(fullscreened is True)
|
||||
self._fullscreen(self.is_fullscreen())
|
||||
|
||||
|
||||
# HeaderBar callbacks
|
||||
|
@ -544,17 +544,11 @@ class Window(Adw.ApplicationWindow):
|
|||
if self._state.get_property(WindowState.IS_FULLSCREENED):
|
||||
self.headerbar.hide()
|
||||
self._cover_panel.set_fullscreen(True)
|
||||
# Hide cursor
|
||||
self.get_window().set_cursor(
|
||||
Gdk.Cursor.new_from_name(Gdk.Display.get_default(), "none")
|
||||
)
|
||||
self.set_cursor(Gdk.Cursor.new_from_name("none", None))
|
||||
else:
|
||||
self.headerbar.show()
|
||||
self._cover_panel.set_fullscreen(False)
|
||||
# Reset cursor
|
||||
self.get_window().set_cursor(
|
||||
Gdk.Cursor.new_from_name(Gdk.Display.get_default(), "default")
|
||||
)
|
||||
self.set_cursor(Gdk.Cursor.new_from_name("default", None))
|
||||
|
||||
|
||||
def _save_visible_panel(self):
|
||||
|
|
Loading…
Reference in a new issue