Add select artist dialog when multiple artists

This commit is contained in:
Qluxzz
2021-01-09 16:36:18 +01:00
committed by Henrik Friedrichsen
parent 68e51f263d
commit 2b20670743
6 changed files with 92 additions and 20 deletions

View File

@@ -617,10 +617,22 @@ impl<I: ListItem + Clone> ViewExt for ListView<I> {
}
}
GotoMode::Artist => {
if let Some(artist) = item.artist() {
let view =
ArtistView::new(queue, library, &artist).as_boxed_view_ext();
return Ok(CommandResult::View(view));
if let Some(artists) = item.artists() {
return match artists.len() {
0 => Ok(CommandResult::Consumed(None)),
1 => {
let view = ArtistView::new(queue, library, &artists[0]).as_boxed_view_ext();
Ok(CommandResult::View(view))
}
_ => {
let dialog = ContextMenu::select_artist_dialog(
library, queue, artists,
);
_s.add_layer(dialog);
Ok(CommandResult::Consumed(None))
}
};
}
}
}