using Gtk 4.0; using Adw 1; template $UiPlayQueue: Adw.Bin { name: "play-queue"; child: Stack { visible-child-name: bind $visible_child_name (template.playbin as <$Playbin>.play-queue-length) as ; 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 (); }; } }; } }; }