Compare commits

...

2 commits

5 changed files with 59 additions and 21 deletions

View file

@ -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")
}

View file

@ -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 {

View file

@ -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; }

View file

@ -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>;
}
};
}

View file

@ -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";
}
}