Feat: entretien de la codebase
This commit is contained in:
@@ -2,56 +2,61 @@ use crate::model::{LaunchQuantization, PatternSpeed, SyncMode};
|
||||
use crate::state::editor::{EuclideanField, PatternField, PatternPropsField};
|
||||
use crate::state::file_browser::FileBrowserState;
|
||||
|
||||
#[derive(Clone, PartialEq, Eq)]
|
||||
pub enum ConfirmAction {
|
||||
Quit,
|
||||
DeleteStep { bank: usize, pattern: usize, step: usize },
|
||||
DeleteSteps { bank: usize, pattern: usize, steps: Vec<usize> },
|
||||
ResetPattern { bank: usize, pattern: usize },
|
||||
ResetBank { bank: usize },
|
||||
ResetPatterns { bank: usize, patterns: Vec<usize> },
|
||||
ResetBanks { banks: Vec<usize> },
|
||||
}
|
||||
|
||||
impl ConfirmAction {
|
||||
pub fn message(&self) -> String {
|
||||
match self {
|
||||
Self::Quit => "Quit?".into(),
|
||||
Self::DeleteStep { step, .. } => format!("Delete step {}?", step + 1),
|
||||
Self::DeleteSteps { steps, .. } => {
|
||||
let nums: Vec<String> = steps.iter().map(|s| format!("{:02}", s + 1)).collect();
|
||||
format!("Delete steps {}?", nums.join(", "))
|
||||
}
|
||||
Self::ResetPattern { pattern, .. } => format!("Reset pattern {}?", pattern + 1),
|
||||
Self::ResetBank { bank } => format!("Reset bank {}?", bank + 1),
|
||||
Self::ResetPatterns { patterns, .. } => format!("Reset {} patterns?", patterns.len()),
|
||||
Self::ResetBanks { banks } => format!("Reset {} banks?", banks.len()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Eq)]
|
||||
pub enum RenameTarget {
|
||||
Bank { bank: usize },
|
||||
Pattern { bank: usize, pattern: usize },
|
||||
Step { bank: usize, pattern: usize, step: usize },
|
||||
}
|
||||
|
||||
impl RenameTarget {
|
||||
pub fn title(&self) -> String {
|
||||
match self {
|
||||
Self::Bank { bank } => format!("Rename Bank {:02}", bank + 1),
|
||||
Self::Pattern { bank, pattern } => format!("Rename B{:02}:P{:02}", bank + 1, pattern + 1),
|
||||
Self::Step { step, .. } => format!("Name Step {:02}", step + 1),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Eq)]
|
||||
pub enum Modal {
|
||||
None,
|
||||
ConfirmQuit {
|
||||
selected: bool,
|
||||
},
|
||||
ConfirmDeleteStep {
|
||||
bank: usize,
|
||||
pattern: usize,
|
||||
step: usize,
|
||||
selected: bool,
|
||||
},
|
||||
ConfirmDeleteSteps {
|
||||
bank: usize,
|
||||
pattern: usize,
|
||||
steps: Vec<usize>,
|
||||
selected: bool,
|
||||
},
|
||||
ConfirmResetPattern {
|
||||
bank: usize,
|
||||
pattern: usize,
|
||||
selected: bool,
|
||||
},
|
||||
ConfirmResetBank {
|
||||
bank: usize,
|
||||
selected: bool,
|
||||
},
|
||||
ConfirmResetPatterns {
|
||||
bank: usize,
|
||||
patterns: Vec<usize>,
|
||||
selected: bool,
|
||||
},
|
||||
ConfirmResetBanks {
|
||||
banks: Vec<usize>,
|
||||
Confirm {
|
||||
action: ConfirmAction,
|
||||
selected: bool,
|
||||
},
|
||||
FileBrowser(Box<FileBrowserState>),
|
||||
RenameBank {
|
||||
bank: usize,
|
||||
name: String,
|
||||
},
|
||||
RenamePattern {
|
||||
bank: usize,
|
||||
pattern: usize,
|
||||
name: String,
|
||||
},
|
||||
RenameStep {
|
||||
bank: usize,
|
||||
pattern: usize,
|
||||
step: usize,
|
||||
Rename {
|
||||
target: RenameTarget,
|
||||
name: String,
|
||||
},
|
||||
SetPattern {
|
||||
|
||||
Reference in New Issue
Block a user