audrey/resources/window.blp
2024-12-01 01:09:57 +01:00

100 lines
2.5 KiB
Text

using Gtk 4.0;
using Adw 1;
template $AudreyUiWindow: Adw.ApplicationWindow {
title: _("audrey");
default-width: 800;
default-height: 600;
Adw.ToolbarView {
name: "main";
[top]
Adw.HeaderBar {
[start]
Button {
icon-name: "media-playlist-shuffle";
sensitive: bind template.can_click_shuffle_all;
clicked => $shuffle_all() swapped;
}
title-widget: Adw.ViewSwitcher {
stack: stack;
policy: wide;
};
[end]
Button {
icon-name: "applications-system";
clicked => $show_setup_dialog() swapped;
}
}
content: Adw.ViewStack stack {
vexpand: true;
Adw.ViewStackPage {
icon-name: "folder-music-symbolic";
title: _("Browse");
child: ScrolledWindow {
child: Box {
orientation: vertical;
$AudreyUiAlbumCarousel {
title: _("Explore from your library");
type: random;
client: bind template.client;
}
$AudreyUiAlbumCarousel {
title: _("Newly added releases");
type: newest;
client: bind template.client;
}
$AudreyUiAlbumCarousel {
title: _("Recently played");
type: recent;
client: bind template.client;
}
$AudreyUiAlbumCarousel {
title: _("Most played");
type: frequent;
client: bind template.client;
}
};
};
}
Adw.ViewStackPage {
icon-name: "media-playback-start";
title: _("Play queue");
name: "play-queue";
child: $AudreyUiPlayQueue play_queue {
model: bind template.playlist_model;
playlist-pos: bind template.playlist-pos;
// playbin: bind template.playbin;
playing-cover-art: bind template.playing-cover-art;
};
}
};
[bottom]
$AudreyUiPlaybar playbar {
song: bind template.song;
playing-cover-art: bind template.playing-cover-art;
show-cover-art: bind $show_playbar_cover_art(stack.visible-child-name) as <bool>;
volume: bind template.volume bidirectional;
mute: bind template.mute bidirectional;
pause: bind template.pause bidirectional;
position: bind template.time-pos;
duration: bind template.duration;
idle-active: bind template.idle-active;
playlist-count: bind template.playlist-count;
client: bind template.client;
}
}
}