Compare commits
2 commits
2f96d2216d
...
af4da894fc
Author | SHA1 | Date | |
---|---|---|---|
af4da894fc | |||
fa9d3b873f |
5 changed files with 59 additions and 21 deletions
|
@ -144,5 +144,9 @@ SizeGroup {
|
|||
}
|
||||
|
||||
menu song-menu {
|
||||
item ("View song", "song.view")
|
||||
item ("View artist", "song.view-artist")
|
||||
item ("View album", "song.view-album")
|
||||
item ("Share", "song.share")
|
||||
item ("Remove", "song.remove")
|
||||
}
|
||||
|
|
|
@ -10,6 +10,15 @@ template $UiPlaybar: Box {
|
|||
|
||||
[start]
|
||||
Box {
|
||||
Picture {
|
||||
visible: bind template.show_cover_art;
|
||||
valign: center;
|
||||
halign: center;
|
||||
paintable: bind template.playing_cover_art;
|
||||
}
|
||||
|
||||
Box {
|
||||
margin-start: 6;
|
||||
orientation: vertical;
|
||||
valign: center;
|
||||
|
||||
|
@ -35,6 +44,7 @@ template $UiPlaybar: Box {
|
|||
ellipsize: end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[center]
|
||||
Box {
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
[GtkTemplate (ui = "/eu/callcc/audrey/ui/playbar.ui")]
|
||||
class Ui.Playbar : Gtk.Box {
|
||||
public Subsonic.Song? song { get; set; }
|
||||
public Gdk.Paintable? playing_cover_art { get; set; }
|
||||
public Playbin playbin { get; set; }
|
||||
public bool show_cover_art { get; set; default = true; }
|
||||
|
||||
public int volume {
|
||||
get { return playbin == null ? 100 : playbin.volume; }
|
||||
set { playbin.volume = value; }
|
||||
|
|
|
@ -36,8 +36,23 @@ template $UiWindow: Adw.ApplicationWindow {
|
|||
|
||||
content: Adw.ViewStack stack {
|
||||
Adw.ViewStackPage {
|
||||
title: _("Play queue");
|
||||
icon-name: "audio-input-microphone";
|
||||
title: _("Artists");
|
||||
|
||||
child: Box {};
|
||||
}
|
||||
|
||||
Adw.ViewStackPage {
|
||||
icon-name: "media-optical-cd";
|
||||
title: _("Albums");
|
||||
|
||||
child: Box {};
|
||||
}
|
||||
|
||||
Adw.ViewStackPage {
|
||||
icon-name: "media-playback-start";
|
||||
title: _("Play queue");
|
||||
name: "play-queue";
|
||||
|
||||
child: Box {
|
||||
name: "play-queue-page";
|
||||
|
@ -79,6 +94,8 @@ template $UiWindow: Adw.ApplicationWindow {
|
|||
$UiPlaybar playbar {
|
||||
song: bind template.song;
|
||||
playbin: bind template.playbin;
|
||||
playing_cover_art: bind template.playing_cover_art;
|
||||
show_cover_art: bind $show_playbar_cover_art (stack.visible-child-name) as <bool>;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -111,4 +111,8 @@ class Ui.Window : Adw.ApplicationWindow {
|
|||
this.playbin.select_track (0);
|
||||
});
|
||||
}
|
||||
|
||||
[GtkCallback] private bool show_playbar_cover_art (string? stack_child) {
|
||||
return stack_child != "play-queue";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue