mirror of
https://github.com/johrpan/musicus.git
synced 2025-10-26 11:47:25 +01:00
Add player details screen
This commit is contained in:
parent
8e952fb6e2
commit
eb77c97f9b
24 changed files with 792 additions and 43 deletions
|
|
@ -20,6 +20,7 @@ pub struct Window {
|
|||
poe_list: Rc<PoeList>,
|
||||
navigator: Rc<Navigator>,
|
||||
player_bar: PlayerBar,
|
||||
player_screen: PlayerScreen,
|
||||
}
|
||||
|
||||
impl Window {
|
||||
|
|
@ -38,6 +39,9 @@ impl Window {
|
|||
let backend = Rc::new(Backend::new());
|
||||
backend.clone().init();
|
||||
|
||||
let player_screen = PlayerScreen::new();
|
||||
stack.add_named(&player_screen.widget, "player_screen");
|
||||
|
||||
let poe_list = PoeList::new(backend.clone());
|
||||
let navigator = Navigator::new(&empty_screen);
|
||||
navigator.set_back_cb(clone!(@strong leaflet, @strong sidebar_box => move || {
|
||||
|
|
@ -56,6 +60,7 @@ impl Window {
|
|||
poe_list,
|
||||
navigator,
|
||||
player_bar,
|
||||
player_screen,
|
||||
});
|
||||
|
||||
result.window.set_application(Some(app));
|
||||
|
|
@ -85,6 +90,18 @@ impl Window {
|
|||
})).show();
|
||||
}));
|
||||
|
||||
result
|
||||
.player_bar
|
||||
.set_playlist_cb(clone!(@strong result => move || {
|
||||
result.stack.set_visible_child_name("player_screen");
|
||||
}));
|
||||
|
||||
result
|
||||
.player_screen
|
||||
.set_back_cb(clone!(@strong result => move || {
|
||||
result.stack.set_visible_child_name("content");
|
||||
}));
|
||||
|
||||
action!(
|
||||
result.window,
|
||||
"preferences",
|
||||
|
|
@ -298,7 +315,8 @@ impl Window {
|
|||
clone.poe_list.clone().reload();
|
||||
|
||||
let player = clone.backend.get_player().unwrap();
|
||||
clone.player_bar.set_player(Some(player));
|
||||
clone.player_bar.set_player(Some(player.clone()));
|
||||
clone.player_screen.set_player(Some(player));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue