Added example of toggling fullscreen to TODOs.
This commit is contained in:
parent
b2a9a1e73c
commit
a9ca89ca55
1 changed files with 28 additions and 2 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
use iced::alignment::{self, Alignment};
|
use iced::alignment::{self, Alignment};
|
||||||
use iced::event::{self, Event};
|
use iced::event::{self, Event};
|
||||||
use iced::keyboard;
|
use iced::keyboard::{self, KeyCode, Modifiers};
|
||||||
use iced::subscription;
|
use iced::subscription;
|
||||||
use iced::theme::{self, Theme};
|
use iced::theme::{self, Theme};
|
||||||
use iced::widget::{
|
use iced::widget::{
|
||||||
|
|
@ -8,6 +8,8 @@ use iced::widget::{
|
||||||
text_input, Text,
|
text_input, Text,
|
||||||
};
|
};
|
||||||
use iced::window;
|
use iced::window;
|
||||||
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
|
use iced::window::Mode;
|
||||||
use iced::{Application, Element};
|
use iced::{Application, Element};
|
||||||
use iced::{Color, Command, Font, Length, Settings, Subscription};
|
use iced::{Color, Command, Font, Length, Settings, Subscription};
|
||||||
|
|
||||||
|
|
@ -49,7 +51,11 @@ enum Message {
|
||||||
CreateTask,
|
CreateTask,
|
||||||
FilterChanged(Filter),
|
FilterChanged(Filter),
|
||||||
TaskMessage(usize, TaskMessage),
|
TaskMessage(usize, TaskMessage),
|
||||||
TabPressed { shift: bool },
|
TabPressed {
|
||||||
|
shift: bool,
|
||||||
|
},
|
||||||
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
|
ToggleFullscreen(Mode),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Application for Todos {
|
impl Application for Todos {
|
||||||
|
|
@ -156,6 +162,10 @@ impl Application for Todos {
|
||||||
widget::focus_next()
|
widget::focus_next()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
|
Message::ToggleFullscreen(mode) => {
|
||||||
|
window::change_mode(mode)
|
||||||
|
}
|
||||||
_ => Command::none(),
|
_ => Command::none(),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -266,6 +276,22 @@ impl Application for Todos {
|
||||||
) => Some(Message::TabPressed {
|
) => Some(Message::TabPressed {
|
||||||
shift: modifiers.shift(),
|
shift: modifiers.shift(),
|
||||||
}),
|
}),
|
||||||
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
|
(
|
||||||
|
Event::Keyboard(keyboard::Event::KeyPressed {
|
||||||
|
key_code,
|
||||||
|
modifiers: Modifiers::SHIFT,
|
||||||
|
}),
|
||||||
|
event::Status::Ignored,
|
||||||
|
) => match key_code {
|
||||||
|
KeyCode::Up => {
|
||||||
|
Some(Message::ToggleFullscreen(Mode::Fullscreen))
|
||||||
|
}
|
||||||
|
KeyCode::Down => {
|
||||||
|
Some(Message::ToggleFullscreen(Mode::Windowed))
|
||||||
|
}
|
||||||
|
_ => None,
|
||||||
|
},
|
||||||
_ => None,
|
_ => None,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue