feat: add window api

This commit is contained in:
mrxiaozhuox 2022-02-10 13:47:45 +08:00
parent 6eaad850ee
commit f28fb7165a
2 changed files with 30 additions and 5 deletions

View file

@ -58,11 +58,21 @@ impl DesktopContext {
let _ = self.proxy.send_event(UserWindowEvent::FocusWindow);
}
/// set resizable state
pub fn resizable(&self, resizable: bool) {
let _ = self.proxy.send_event(UserWindowEvent::Resizable(resizable));
}
/// set window title
pub fn title(&self, title: &str) {
pub fn set_title(&self, title: &str) {
let _ = self
.proxy
.send_event(UserWindowEvent::Title(String::from(title)));
.send_event(UserWindowEvent::SetTitle(String::from(title)));
}
/// hide the menu
pub fn hide_menu(&self) {
let _ = self.proxy.send_event(UserWindowEvent::HideMenu);
}
}

View file

@ -321,12 +321,25 @@ pub fn launch_with_props<P: 'static + Send>(
window.set_focus();
}
}
UserWindowEvent::Title(content) => {
UserWindowEvent::SetTitle(content) => {
for webview in desktop.webviews.values() {
let window = webview.window();
window.set_title(&content);
}
}
UserWindowEvent::Resizable(state) => {
for webview in desktop.webviews.values() {
let window = webview.window();
window.set_resizable(state);
}
}
UserWindowEvent::HideMenu => {
for webview in desktop.webviews.values() {
let window = webview.window();
window.hide_menu();
}
}
}
}
Event::MainEventsCleared => {}
@ -344,10 +357,12 @@ pub enum UserWindowEvent {
DragWindow,
CloseWindow,
FocusWindow,
Title(String),
Minimize(bool),
Maximize(bool),
Resizable(bool),
SetTitle(String),
HideMenu,
}
pub struct DesktopController {