Flash
This commit is contained in:
26
src/app.rs
26
src/app.rs
@@ -5,6 +5,7 @@ use std::path::PathBuf;
|
||||
use std::sync::{Arc, Mutex};
|
||||
|
||||
use crossbeam_channel::Sender;
|
||||
use ratatui::style::Color;
|
||||
|
||||
use crate::commands::AppCommand;
|
||||
use crate::engine::{
|
||||
@@ -319,7 +320,7 @@ impl App {
|
||||
Some(cmds.join("\n"))
|
||||
};
|
||||
}
|
||||
self.ui.flash("Script compiled", 150);
|
||||
self.ui.flash("Script compiled", 150, Color::White);
|
||||
}
|
||||
Err(e) => {
|
||||
if let Some(step) = self
|
||||
@@ -330,7 +331,7 @@ impl App {
|
||||
{
|
||||
step.command = None;
|
||||
}
|
||||
self.ui.set_status(format!("Script error: {e}"));
|
||||
self.ui.flash(&format!("Script error: {e}"), 300, Color::Red);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -539,7 +540,7 @@ impl App {
|
||||
{
|
||||
self.load_step_to_editor();
|
||||
}
|
||||
self.ui.flash("Step deleted", 150);
|
||||
self.ui.flash("Step deleted", 150, Color::Green);
|
||||
}
|
||||
|
||||
pub fn reset_pattern(&mut self, bank: usize, pattern: usize) {
|
||||
@@ -548,7 +549,7 @@ impl App {
|
||||
if self.editor_ctx.bank == bank && self.editor_ctx.pattern == pattern {
|
||||
self.load_step_to_editor();
|
||||
}
|
||||
self.ui.flash("Pattern reset", 150);
|
||||
self.ui.flash("Pattern reset", 150, Color::Green);
|
||||
}
|
||||
|
||||
pub fn reset_bank(&mut self, bank: usize) {
|
||||
@@ -559,13 +560,13 @@ impl App {
|
||||
if self.editor_ctx.bank == bank {
|
||||
self.load_step_to_editor();
|
||||
}
|
||||
self.ui.flash("Bank reset", 150);
|
||||
self.ui.flash("Bank reset", 150, Color::Green);
|
||||
}
|
||||
|
||||
pub fn copy_pattern(&mut self, bank: usize, pattern: usize) {
|
||||
let pat = self.project_state.project.banks[bank].patterns[pattern].clone();
|
||||
self.copied_pattern = Some(pat);
|
||||
self.ui.flash("Pattern copied", 150);
|
||||
self.ui.flash("Pattern copied", 150, Color::Green);
|
||||
}
|
||||
|
||||
pub fn paste_pattern(&mut self, bank: usize, pattern: usize) {
|
||||
@@ -581,14 +582,14 @@ impl App {
|
||||
if self.editor_ctx.bank == bank && self.editor_ctx.pattern == pattern {
|
||||
self.load_step_to_editor();
|
||||
}
|
||||
self.ui.flash("Pattern pasted", 150);
|
||||
self.ui.flash("Pattern pasted", 150, Color::Green);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn copy_bank(&mut self, bank: usize) {
|
||||
let b = self.project_state.project.banks[bank].clone();
|
||||
self.copied_bank = Some(b);
|
||||
self.ui.flash("Bank copied", 150);
|
||||
self.ui.flash("Bank copied", 150, Color::Green);
|
||||
}
|
||||
|
||||
pub fn paste_bank(&mut self, bank: usize) {
|
||||
@@ -606,7 +607,7 @@ impl App {
|
||||
if self.editor_ctx.bank == bank {
|
||||
self.load_step_to_editor();
|
||||
}
|
||||
self.ui.flash("Bank pasted", 150);
|
||||
self.ui.flash("Bank pasted", 150, Color::Green);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -675,7 +676,7 @@ impl App {
|
||||
self.project_state.mark_dirty(bank, pattern);
|
||||
self.load_step_to_editor();
|
||||
self.ui
|
||||
.flash(&format!("Linked to step {:02}", copied.step + 1), 150);
|
||||
.flash(&format!("Linked to step {:02}", copied.step + 1), 150, Color::Green);
|
||||
}
|
||||
|
||||
pub fn harden_step(&mut self) {
|
||||
@@ -708,7 +709,7 @@ impl App {
|
||||
}
|
||||
self.project_state.mark_dirty(bank, pattern);
|
||||
self.load_step_to_editor();
|
||||
self.ui.flash("Step hardened", 150);
|
||||
self.ui.flash("Step hardened", 150, Color::Green);
|
||||
}
|
||||
|
||||
pub fn open_pattern_modal(&mut self, field: PatternField) {
|
||||
@@ -841,7 +842,8 @@ impl App {
|
||||
AppCommand::Flash {
|
||||
message,
|
||||
duration_ms,
|
||||
} => self.ui.flash(&message, duration_ms),
|
||||
color,
|
||||
} => self.ui.flash(&message, duration_ms, color),
|
||||
AppCommand::OpenModal(modal) => {
|
||||
if matches!(modal, Modal::Editor) {
|
||||
// If current step is a shallow copy, navigate to source step
|
||||
|
||||
Reference in New Issue
Block a user