This commit is contained in:
Erica Z 2024-10-20 18:25:40 +02:00
parent 48795a4d2f
commit fdd719f4f8
2 changed files with 112 additions and 105 deletions

View file

@ -10,11 +10,18 @@ template $UiPlaybar: Box {
[start] [start]
Box { Box {
Picture { AspectFrame {
visible: bind template.show_cover_art; visible: false; // FIXME annoying annoying annoying annoying
valign: center; //visible: bind template.show_cover_art;
halign: center;
paintable: bind template.playing_cover_art; vexpand: true;
ratio: 1.0;
obey-child: false;
child: Picture {
content-fit: scale_down;
paintable: bind template.playing_cover_art;
};
} }
Box { Box {
@ -49,8 +56,7 @@ template $UiPlaybar: Box {
[center] [center]
Box { Box {
orientation: vertical; orientation: vertical;
halign: center; valign: center;
hexpand: true;
CenterBox { CenterBox {
[start] [start]

View file

@ -6,114 +6,115 @@ template $UiWindow: Adw.ApplicationWindow {
default-width: 800; default-width: 800;
default-height: 600; default-height: 600;
content: Adw.BottomSheet bottom_sheet { Adw.ToolbarView {
can-open: false; // broken in libadwaita top-bar-style: raised;
bottom-bar-style: raised;
[content] [top]
Adw.ToolbarView { Adw.HeaderBar {
margin-bottom: bind bottom_sheet.bottom-bar-height; [start]
Button {
[top] icon-name: "media-playlist-shuffle";
Adw.HeaderBar { sensitive: bind template.can_click_shuffle_all;
[start] clicked => $shuffle_all ();
Button {
icon-name: "media-playlist-shuffle";
sensitive: bind template.can_click_shuffle_all;
clicked => $shuffle_all ();
}
title-widget: Adw.ViewSwitcher {
stack: stack;
policy: wide;
};
[end]
Button {
icon-name: "applications-system";
clicked => $show_setup_dialog ();
}
} }
content: Adw.ViewStack stack { title-widget: Adw.ViewSwitcher {
Adw.ViewStackPage { stack: stack;
icon-name: "media-optical-cd"; policy: wide;
title: _("Albums");
child: Adw.NavigationView {
Adw.NavigationPage {
title: _("Albums");
child: Adw.ToolbarView {
[top]
CenterBox {
styles [ "toolbar" ]
[center]
SearchEntry {
placeholder-text: _("Search...");
}
[end]
Box {
Button {
icon-name: "view-refresh";
}
}
}
GridView {}
};
}
};
}
Adw.ViewStackPage {
icon-name: "media-playback-start";
title: _("Play queue");
name: "play-queue";
child: Box {
name: "play-queue-page";
homogeneous: true;
Adw.Clamp {
halign: center;
margin-top: 24;
margin-bottom: 24;
margin-start: 24;
margin-end: 24;
Picture {
valign: center;
styles [ "frame" ]
halign: center;
paintable: bind template.playing_cover_art;
}
}
$UiPlayQueue play_queue {
hexpand: true;
halign: fill;
margin-top: 48;
margin-bottom: 48;
margin-start: 24;
margin-end: 24;
styles [ "frame" ]
playbin: bind template.playbin;
}
};
}
}; };
[end]
Button {
icon-name: "applications-system";
clicked => $show_setup_dialog ();
}
} }
[bottom-bar] content: Adw.ViewStack stack {
vexpand: true;
Adw.ViewStackPage {
icon-name: "media-optical-cd";
title: _("Albums");
child: Adw.NavigationView {
Adw.NavigationPage {
title: _("Albums");
vexpand: true;
child: Adw.ToolbarView {
[top]
CenterBox {
styles [ "toolbar" ]
[center]
SearchEntry {
placeholder-text: _("Search...");
}
[end]
Box {
Button {
icon-name: "view-refresh";
}
}
}
ScrolledWindow {
vexpand: true;
GridView {}
}
};
}
};
}
Adw.ViewStackPage {
icon-name: "media-playback-start";
title: _("Play queue");
name: "play-queue";
child: Box {
name: "play-queue-page";
homogeneous: true;
Adw.Clamp {
halign: center;
margin-top: 24;
margin-bottom: 24;
margin-start: 24;
margin-end: 24;
Picture {
valign: center;
styles [ "frame" ]
halign: center;
paintable: bind template.playing_cover_art;
}
}
$UiPlayQueue play_queue {
hexpand: true;
halign: fill;
margin-top: 48;
margin-bottom: 48;
margin-start: 24;
margin-end: 24;
styles [ "frame" ]
playbin: bind template.playbin;
}
};
}
};
[bottom]
$UiPlaybar playbar { $UiPlaybar playbar {
song: bind template.song; song: bind template.song;
playbin: bind template.playbin; playbin: bind template.playbin;
playing_cover_art: bind template.playing_cover_art; playing_cover_art: bind template.playing_cover_art;
show_cover_art: bind $show_playbar_cover_art (stack.visible-child-name) as <bool>; show_cover_art: bind $show_playbar_cover_art (stack.visible-child-name) as <bool>;
} }
}; }
} }