Add statusbar_format configuration option

Fixes #877
This commit is contained in:
Henrik Friedrichsen
2022-07-31 11:24:22 +02:00
parent 555a09abd3
commit 249a4ef5a7
5 changed files with 52 additions and 34 deletions

View File

@@ -19,7 +19,7 @@ pub enum Playable {
}
impl Playable {
pub fn format(playable: Playable, formatting: String, library: Arc<Library>) -> String {
pub fn format(playable: &Playable, formatting: &str, library: Arc<Library>) -> String {
formatting
.replace(
"%artists",

View File

@@ -192,7 +192,7 @@ impl ListItem for Track {
let default = config::TrackFormat::default().left.unwrap();
let left = formatting.left.unwrap_or_else(|| default.clone());
if left != default {
Playable::format(Playable::Track(self.clone()), left, library)
Playable::format(&Playable::Track(self.clone()), &left, library)
} else {
format!("{}", self)
}
@@ -208,7 +208,7 @@ impl ListItem for Track {
let default = config::TrackFormat::default().center.unwrap();
let center = formatting.center.unwrap_or_else(|| default.clone());
if center != default {
Playable::format(Playable::Track(self.clone()), center, library)
Playable::format(&Playable::Track(self.clone()), &center, library)
} else {
self.album.clone().unwrap_or_default()
}
@@ -224,7 +224,7 @@ impl ListItem for Track {
let default = config::TrackFormat::default().right.unwrap();
let right = formatting.right.unwrap_or_else(|| default.clone());
if right != default {
Playable::format(Playable::Track(self.clone()), right, library)
Playable::format(&Playable::Track(self.clone()), &right, library)
} else {
let saved = if library.is_saved_track(&Playable::Track(self.clone())) {
if library.cfg.values().use_nerdfont.unwrap_or(false) {