From 3d1d0f84ba2a407be1d1c8fbd4b9eef212602e70 Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Sat, 22 Feb 2025 23:07:46 -0600 Subject: [PATCH] basis for ensuring keybindings turn off when editing things --- src/main.rs | 26 +++++++++++--------------- src/ui/song_editor.rs | 12 ++++++++++++ 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/main.rs b/src/main.rs index 597d202..057bd60 100644 --- a/src/main.rs +++ b/src/main.rs @@ -264,14 +264,6 @@ impl cosmic::Application for App { nav = nav.max_width(280); } - // let dnd = DndDestination::new( - // nav, - // vec!["application/service-item".to_string().into()], - // ) - // .data_received_for(|item| { - // cosmic::app::Message::App(Message::DndDrop(item)) - // }); - let column = column![ text::heading("Service List").center().width(280), nav @@ -361,14 +353,14 @@ impl cosmic::Application for App { // debug!(?event); match event { iced::Event::Keyboard(event) => match event { - iced::keyboard::Event::KeyPressed { + iced::keyboard::Event::KeyReleased { key, modifiers, .. } => Some(Message::Key(key, modifiers)), _ => None, }, - iced::Event::Mouse(event) => None, + iced::Event::Mouse(_event) => None, iced::Event::Window(window_event) => { match window_event { window::Event::CloseRequested => { @@ -388,10 +380,10 @@ impl cosmic::Application for App { _ => None, } } - iced::Event::Touch(event) => None, - iced::Event::A11y(id, action_request) => None, - iced::Event::Dnd(dnd_event) => None, - iced::Event::PlatformSpecific(platform_specific) => { + iced::Event::Touch(_touch) => None, + iced::Event::A11y(_id, _action_request) => None, + iced::Event::Dnd(_dnd_event) => None, + iced::Event::PlatformSpecific(_platform_specific) => { None } } @@ -755,7 +747,11 @@ where presenter::Message::PrevSlide, )), (Key::Character(k), _) if k == *"q" => { - self.update(Message::Quit) + if !self.song_editor.editing() { + self.update(Message::Quit) + } else { + Task::none() + } } _ => Task::none(), } diff --git a/src/ui/song_editor.rs b/src/ui/song_editor.rs index 6546eb1..22b40a0 100644 --- a/src/ui/song_editor.rs +++ b/src/ui/song_editor.rs @@ -33,6 +33,7 @@ pub enum Message { ChangeTitle(String), ChangeVerseOrder(String), ChangeLyrics(text_editor::Action), + Edit(bool), } impl SongEditor { @@ -84,6 +85,7 @@ impl SongEditor { Task::none() } Message::ChangeTitle(title) => { + debug!(title); self.title = title; Task::none() } @@ -95,6 +97,11 @@ impl SongEditor { self.lyrics.perform(action); Task::none() } + Message::Edit(edit) => { + debug!(edit); + self.editing = edit; + Task::none() + } } } @@ -119,6 +126,7 @@ impl SongEditor { let title_input = text_input("song", &self.title) .on_input(Message::ChangeTitle) .label("Song Title"); + let verse_input = text_input( "Verse order", @@ -147,4 +155,8 @@ order", ]); column.into() } + + pub fn editing(&self) -> bool { + self.editing + } }