From 1c8a0bf45061e04c6113ef97d77d1821dfe41114 Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Sun, 15 Feb 2026 22:06:55 -0600 Subject: [PATCH] mor lint fixes --- src/core/songs.rs | 74 -------------------- src/ui/mod.rs | 2 +- src/ui/presenter.rs | 121 +++++++++++++++++++++------------ src/ui/service.rs | 11 +-- src/ui/slide_editor.rs | 1 + src/ui/song_editor.rs | 11 ++- src/ui/text_svg.rs | 2 +- src/ui/widgets/verse_editor.rs | 2 +- 8 files changed, 92 insertions(+), 132 deletions(-) diff --git a/src/core/songs.rs b/src/core/songs.rs index c0189d5..2663e6a 100644 --- a/src/core/songs.rs +++ b/src/core/songs.rs @@ -369,14 +369,6 @@ impl ServiceTrait for Song { } } -const VERSE_KEYWORDS: [&str; 24] = [ - "Verse 1", "Verse 2", "Verse 3", "Verse 4", "Verse 5", "Verse 6", - "Verse 7", "Verse 8", "Chorus 1", "Chorus 2", "Chorus 3", - "Chorus 4", "Bridge 1", "Bridge 2", "Bridge 3", "Bridge 4", - "Intro 1", "Intro 2", "Ending 1", "Ending 2", "Other 1", - "Other 2", "Other 3", "Other 4", -]; - impl FromRow<'_, SqliteRow> for Song { fn from_row(row: &SqliteRow) -> sqlx::Result { let lyrics: &str = row.try_get("lyrics")?; @@ -518,72 +510,6 @@ impl From for Song { } } -fn lyrics_to_verse( - lyrics: String, -) -> Result<(Vec, HashMap)> { - let mut verse_list = Vec::new(); - if lyrics.is_empty() { - return Err(miette!("There is no lyrics here")); - } - - let raw_lyrics = lyrics.as_str(); - - let mut lyric_map = HashMap::new(); - let mut verse_title = String::new(); - let mut lyric = String::new(); - for (i, line) in raw_lyrics.split('\n').enumerate() { - if VERSE_KEYWORDS.contains(&line) { - if i != 0 { - lyric_map.insert(verse_title, lyric); - lyric = String::new(); - verse_title = line.to_string(); - } else { - verse_title = line.to_string(); - } - } else { - lyric.push_str(line); - lyric.push('\n'); - } - } - lyric_map.insert(verse_title, lyric); - let mut verse_map = HashMap::new(); - for (verse_name, lyric) in lyric_map { - let mut verse_elements = verse_name.split_whitespace(); - let verse_keyword = verse_elements.next(); - let Some(keyword) = verse_keyword else { - return Err(miette!( - "Can't parse a proper verse keyword from lyrics" - )); - }; - let verse_index = verse_elements.next(); - let Some(index) = verse_index else { - return Err(miette!( - "Can't parse a proper verse index from lyrics" - )); - }; - let index = index.parse::().into_diagnostic()?; - let verse = match keyword { - "Verse" => VerseName::Verse { number: index }, - "Pre-Chorus" => VerseName::PreChorus { number: index }, - "Chorus" => VerseName::Chorus { number: index }, - "Post-Chorus" => VerseName::PostChorus { number: index }, - "Bridge" => VerseName::Bridge { number: index }, - "Intro" => VerseName::Intro { number: index }, - "Outro" => VerseName::Outro { number: index }, - "Instrumental" => { - VerseName::Instrumental { number: index } - } - "Other" => VerseName::Other { number: index }, - _ => VerseName::Other { number: 99 }, - }; - verse_list.push(verse); - let lyric = lyric.trim().to_string(); - verse_map.insert(verse, lyric); - } - - Ok((verse_list, verse_map)) -} - pub fn lisp_to_song(list: Vec) -> Song { const DEFAULT_SONG_ID: i32 = 0; // const DEFAULT_SONG_LOCATION: usize = 0; diff --git a/src/ui/mod.rs b/src/ui/mod.rs index 82b3935..d564aa2 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -1,6 +1,6 @@ use crate::core::model::LibraryKind; -pub mod double_ended_slider; +// pub mod double_ended_slider; pub mod image_editor; pub mod library; pub mod presentation_editor; diff --git a/src/ui/presenter.rs b/src/ui/presenter.rs index 5821c91..9ce9512 100644 --- a/src/ui/presenter.rs +++ b/src/ui/presenter.rs @@ -50,7 +50,6 @@ pub(crate) struct Presenter { pub current_slide: Slide, pub current_item: usize, pub current_slide_index: usize, - pub absolute_slide_index: usize, pub total_slides: usize, pub video: Option