Fixes for new libcosmic
This commit is contained in:
parent
2817e7e778
commit
be02779570
1 changed files with 10 additions and 6 deletions
16
src/main.rs
16
src/main.rs
|
|
@ -5,6 +5,7 @@ use cosmic::app::{Core, Settings, Task};
|
||||||
use cosmic::command::set_theme;
|
use cosmic::command::set_theme;
|
||||||
use cosmic::cosmic_config::{self, CosmicConfigEntry};
|
use cosmic::cosmic_config::{self, CosmicConfigEntry};
|
||||||
use cosmic::iced::event::{self, Event};
|
use cosmic::iced::event::{self, Event};
|
||||||
|
use cosmic::iced::keyboard::key::Physical;
|
||||||
use cosmic::iced::keyboard::{Event as KeyEvent, Key, Modifiers};
|
use cosmic::iced::keyboard::{Event as KeyEvent, Key, Modifiers};
|
||||||
use cosmic::iced::mouse::{Event as MouseEvent, ScrollDelta};
|
use cosmic::iced::mouse::{Event as MouseEvent, ScrollDelta};
|
||||||
use cosmic::iced::window::{self, set_mode};
|
use cosmic::iced::window::{self, set_mode};
|
||||||
|
|
@ -288,7 +289,7 @@ pub enum Message {
|
||||||
FolderOpenRecent(usize),
|
FolderOpenRecent(usize),
|
||||||
MultipleLoad(Vec<url::Url>),
|
MultipleLoad(Vec<url::Url>),
|
||||||
Fullscreen,
|
Fullscreen,
|
||||||
Key(Modifiers, Key),
|
Key(Modifiers, Physical, Key),
|
||||||
AudioCode(usize),
|
AudioCode(usize),
|
||||||
AudioToggle,
|
AudioToggle,
|
||||||
AudioVolume(f64),
|
AudioVolume(f64),
|
||||||
|
|
@ -1196,9 +1197,9 @@ impl Application for App {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Message::Key(modifiers, key) => {
|
Message::Key(modifiers, physical, key) => {
|
||||||
for (key_bind, action) in self.key_binds.iter() {
|
for (key_bind, action) in self.key_binds.iter() {
|
||||||
if key_bind.matches(modifiers, &key) {
|
if key_bind.matches(modifiers, &key, Some(&physical)) {
|
||||||
return self.update(action.message());
|
return self.update(action.message());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2010,9 +2011,12 @@ impl Application for App {
|
||||||
|
|
||||||
let mut subscriptions = vec![
|
let mut subscriptions = vec![
|
||||||
event::listen_with(|event, _status, _window_id| match event {
|
event::listen_with(|event, _status, _window_id| match event {
|
||||||
Event::Keyboard(KeyEvent::KeyPressed { key, modifiers, .. }) => {
|
Event::Keyboard(KeyEvent::KeyPressed {
|
||||||
Some(Message::Key(modifiers, key))
|
modifiers,
|
||||||
}
|
physical_key,
|
||||||
|
key,
|
||||||
|
..
|
||||||
|
}) => Some(Message::Key(modifiers, physical_key, key)),
|
||||||
Event::Mouse(MouseEvent::CursorMoved { .. }) => Some(Message::ShowControls),
|
Event::Mouse(MouseEvent::CursorMoved { .. }) => Some(Message::ShowControls),
|
||||||
Event::Mouse(MouseEvent::WheelScrolled { delta }) => Some(Message::Scrolled(delta)),
|
Event::Mouse(MouseEvent::WheelScrolled { delta }) => Some(Message::Scrolled(delta)),
|
||||||
_ => None,
|
_ => None,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue