Persist sorting orders for playlists

Closes #436
This commit is contained in:
Henrik Friedrichsen
2021-03-05 21:38:57 +01:00
parent b1c0ed6fae
commit ca8f1a8545
2 changed files with 21 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ use std::{fs, process};
use cursive::theme::Theme;
use platform_dirs::AppDirs;
use crate::command::{SortDirection, SortKey};
use crate::playable::Playable;
use crate::queue;
@@ -53,12 +54,19 @@ pub struct ConfigTheme {
pub search_match: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct SortingOrder {
pub key: SortKey,
pub direction: SortDirection,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct UserState {
pub volume: u16,
pub shuffle: bool,
pub repeat: queue::RepeatSetting,
pub queue: Vec<Playable>,
pub playlist_orders: HashMap<String, SortingOrder>,
}
impl Default for UserState {
@@ -68,6 +76,7 @@ impl Default for UserState {
shuffle: false,
repeat: queue::RepeatSetting::None,
queue: Vec::new(),
playlist_orders: HashMap::new(),
}
}
}