Add zed::ToggleFullScreen bound to ctrl-cmd-f

This commit is contained in:
Antonio Scandurra 2022-08-15 11:53:37 +02:00
parent 61684e693f
commit b94366ab90
6 changed files with 31 additions and 0 deletions

View file

@ -1319,6 +1319,11 @@ impl MutableAppContext {
window.zoom();
}
pub fn toggle_window_full_screen(&self, window_id: usize) {
let (_, window) = &self.presenters_and_platform_windows[&window_id];
window.toggle_full_screen();
}
fn prompt(
&self,
window_id: usize,
@ -3683,6 +3688,10 @@ impl<'a, T: View> ViewContext<'a, T> {
self.app.zoom_window(self.window_id)
}
pub fn toggle_full_screen(&self) {
self.app.toggle_window_full_screen(self.window_id)
}
pub fn prompt(
&self,
level: PromptLevel,

View file

@ -123,6 +123,7 @@ pub trait Window: WindowContext {
fn show_character_palette(&self);
fn minimize(&self);
fn zoom(&self);
fn toggle_full_screen(&self);
}
pub trait WindowContext {

View file

@ -601,6 +601,18 @@ impl platform::Window for Window {
})
.detach();
}
fn toggle_full_screen(&self) {
let this = self.0.borrow();
let window = this.native_window;
this.executor
.spawn(async move {
unsafe {
window.toggleFullScreen_(nil);
}
})
.detach();
}
}
impl platform::WindowContext for Window {

View file

@ -294,6 +294,8 @@ impl super::Window for Window {
fn minimize(&self) {}
fn zoom(&self) {}
fn toggle_full_screen(&self) {}
}
pub fn platform() -> Platform {