reorder things

This commit is contained in:
Erica Z 2024-11-13 18:49:08 +01:00
parent 72a985a9e4
commit 5f46cf2b77
5 changed files with 69 additions and 63 deletions

View file

@ -2,7 +2,37 @@ using Gtk 4.0;
using Adw 1; using Adw 1;
template $AudreyUiPlayQueue: Adw.Bin { template $AudreyUiPlayQueue: Adw.Bin {
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;
}
}
Adw.Bin {
name: "play-queue"; name: "play-queue";
hexpand: true;
halign: fill;
margin-top: 48;
margin-bottom: 48;
margin-start: 24;
margin-end: 24;
child: Stack { child: Stack {
visible-child-name: bind $visible_child_name(template.model as <$GListStore>.n-items) as <string>; visible-child-name: bind $visible_child_name(template.model as <$GListStore>.n-items) as <string>;
@ -41,3 +71,5 @@ template $AudreyUiPlayQueue: Adw.Bin {
} }
}; };
} }
};
}

View file

@ -6,7 +6,6 @@ template $AudreyUiPlayQueueSong: Box {
Box { Box {
margin-start: 6; margin-start: 6;
width-request: 36; width-request: 36;
focusable: false; focusable: false;
homogeneous: true; homogeneous: true;

View file

@ -8,6 +8,7 @@ template $AudreyUiPlaybar: Adw.Bin {
styles [ styles [
"osd" "osd"
] ]
visible: bind template.show-pulse-bar; visible: bind template.show-pulse-bar;
valign: start; valign: start;
} }

View file

@ -7,7 +7,6 @@ template $AudreyUiWindow: Adw.ApplicationWindow {
default-height: 600; default-height: 600;
Adw.ToolbarView { Adw.ToolbarView {
[top] [top]
Adw.HeaderBar { Adw.HeaderBar {
[start] [start]
@ -84,7 +83,10 @@ template $AudreyUiWindow: Adw.ApplicationWindow {
vexpand: true; vexpand: true;
GridView { GridView {
styles [ "albums" ] styles [
"albums"
]
single-click-activate: true; single-click-activate: true;
model: NoSelection { model: NoSelection {
@ -140,41 +142,11 @@ template $AudreyUiWindow: Adw.ApplicationWindow {
title: _("Play queue"); title: _("Play queue");
name: "play-queue"; name: "play-queue";
child: Box { child: $AudreyUiPlayQueue play_queue {
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;
}
}
$AudreyUiPlayQueue play_queue {
hexpand: true;
halign: fill;
margin-top: 48;
margin-bottom: 48;
margin-start: 24;
margin-end: 24;
model: bind template.playlist_model; model: bind template.playlist_model;
playlist-pos: bind template.playlist-pos; playlist-pos: bind template.playlist-pos;
// playbin: bind template.playbin; // playbin: bind template.playbin;
} playing-cover-art: bind template.playing-cover-art;
}; };
} }
}; };

View file

@ -2,9 +2,9 @@ pub mod song;
pub use song::Song; pub use song::Song;
mod imp { mod imp {
use adw::{gio, glib, prelude::*, subclass::prelude::*}; use adw::{gdk, gio, glib, prelude::*, subclass::prelude::*};
use glib::{subclass::InitializingObject, WeakRef}; use glib::{subclass::InitializingObject, WeakRef};
use std::cell::Cell; use std::cell::{Cell, RefCell};
use tracing::{event, Level}; use tracing::{event, Level};
#[derive(gtk::CompositeTemplate, glib::Properties, Default)] #[derive(gtk::CompositeTemplate, glib::Properties, Default)]
@ -15,6 +15,8 @@ mod imp {
pub(super) model: WeakRef<gio::ListModel>, pub(super) model: WeakRef<gio::ListModel>,
#[property(get, set)] #[property(get, set)]
_playlist_pos: Cell<i64>, _playlist_pos: Cell<i64>,
#[property(get, set)]
playing_cover_art: RefCell<Option<gdk::Paintable>>,
} }
#[glib::object_subclass] #[glib::object_subclass]