47 lines
1 KiB
Text
47 lines
1 KiB
Text
using Gtk 4.0;
|
|
using Adw 1;
|
|
using Gio 2.0;
|
|
|
|
template $UiPlayQueue: Adw.Bin {
|
|
name: "play-queue";
|
|
|
|
child: Stack {
|
|
visible-child-name: bind $visible_child_name (template.playbin as <$Playbin>.play_queue as <Gio.ListStore>.n-items) as <string>;
|
|
|
|
StackPage {
|
|
name: "empty";
|
|
|
|
child: Adw.StatusPage {
|
|
icon-name: "list-remove-all";
|
|
title: "No songs queued";
|
|
};
|
|
}
|
|
|
|
StackPage {
|
|
name: "not-empty";
|
|
|
|
child: ScrolledWindow {
|
|
hexpand: true;
|
|
vscrollbar-policy: always;
|
|
hscrollbar-policy: never;
|
|
|
|
ListView view {
|
|
show-separators: true;
|
|
single-click-activate: true;
|
|
|
|
activate => $on_row_activated ();
|
|
|
|
model: NoSelection {
|
|
model: bind template.playbin as <$Playbin>.play_queue;
|
|
};
|
|
|
|
factory: SignalListItemFactory {
|
|
setup => $on_song_list_setup ();
|
|
bind => $on_song_list_bind ();
|
|
unbind => $on_song_list_unbind ();
|
|
};
|
|
}
|
|
};
|
|
}
|
|
};
|
|
}
|