diff options
| author | 2023-09-07 02:45:15 +0200 | |
|---|---|---|
| committer | 2023-09-07 02:45:15 +0200 | |
| commit | 08a031cbe5913c249efa7fc82556d5d95f981c4c (patch) | |
| tree | 8b8db2279c04393a8b8e39ed0a74b922c91c8dea /examples/todos/src | |
| parent | a56b25b9096d47ada3c4349f5b91110dfaa92bf6 (diff) | |
| download | iced-08a031cbe5913c249efa7fc82556d5d95f981c4c.tar.gz iced-08a031cbe5913c249efa7fc82556d5d95f981c4c.tar.bz2 iced-08a031cbe5913c249efa7fc82556d5d95f981c4c.zip | |
Introduce `keyboard::on_key_press` and `on_key_release`
Also rename `subscription::events*` to `event::listen*`.
Diffstat (limited to '')
| -rw-r--r-- | examples/todos/src/main.rs | 40 | 
1 files changed, 12 insertions, 28 deletions
| diff --git a/examples/todos/src/main.rs b/examples/todos/src/main.rs index 6ad7b4fb..62c17926 100644 --- a/examples/todos/src/main.rs +++ b/examples/todos/src/main.rs @@ -1,8 +1,6 @@  use iced::alignment::{self, Alignment}; -use iced::event::{self, Event};  use iced::font::{self, Font}; -use iced::keyboard::{self, KeyCode, Modifiers}; -use iced::subscription; +use iced::keyboard;  use iced::theme::{self, Theme};  use iced::widget::{      self, button, checkbox, column, container, row, scrollable, text, @@ -52,7 +50,7 @@ enum Message {      FilterChanged(Filter),      TaskMessage(usize, TaskMessage),      TabPressed { shift: bool }, -    ToggleFullscreen(window::Mode), +    ChangeWindowMode(window::Mode),  }  impl Application for Todos { @@ -163,7 +161,7 @@ impl Application for Todos {                              widget::focus_next()                          }                      } -                    Message::ToggleFullscreen(mode) => { +                    Message::ChangeWindowMode(mode) => {                          window::change_mode(mode)                      }                      _ => Command::none(), @@ -262,33 +260,19 @@ impl Application for Todos {      }      fn subscription(&self) -> Subscription<Message> { -        subscription::events_with(|event, status| match (event, status) { -            ( -                Event::Keyboard(keyboard::Event::KeyPressed { -                    key_code: keyboard::KeyCode::Tab, -                    modifiers, -                    .. +        keyboard::on_key_press(|key_code, modifiers| { +            match (key_code, modifiers) { +                (keyboard::KeyCode::Tab, _) => Some(Message::TabPressed { +                    shift: modifiers.shift(),                  }), -                event::Status::Ignored, -            ) => Some(Message::TabPressed { -                shift: modifiers.shift(), -            }), -            ( -                Event::Keyboard(keyboard::Event::KeyPressed { -                    key_code, -                    modifiers: Modifiers::SHIFT, -                }), -                event::Status::Ignored, -            ) => match key_code { -                KeyCode::Up => { -                    Some(Message::ToggleFullscreen(window::Mode::Fullscreen)) +                (keyboard::KeyCode::Up, keyboard::Modifiers::SHIFT) => { +                    Some(Message::ChangeWindowMode(window::Mode::Fullscreen))                  } -                KeyCode::Down => { -                    Some(Message::ToggleFullscreen(window::Mode::Windowed)) +                (keyboard::KeyCode::Down, keyboard::Modifiers::SHIFT) => { +                    Some(Message::ChangeWindowMode(window::Mode::Windowed))                  }                  _ => None, -            }, -            _ => None, +            }          })      }  } | 
