Desktop: Fix window maximize and minimize (#3200)

Fix window maximize and minimize state
This commit is contained in:
Timon
2025-09-20 23:48:47 +00:00
committed by GitHub
parent f4a0f272dd
commit 46d5928724
9 changed files with 44 additions and 40 deletions
@@ -5,8 +5,6 @@ use graphite_proc_macros::{ExtractField, message_handler_data};
#[derive(Debug, Clone, Default, ExtractField)]
pub struct AppWindowMessageHandler {
platform: AppWindowPlatform,
maximized: bool,
minimized: bool,
}
#[message_handler_data]
@@ -14,18 +12,10 @@ impl MessageHandler<AppWindowMessage, ()> for AppWindowMessageHandler {
fn process_message(&mut self, message: AppWindowMessage, responses: &mut std::collections::VecDeque<Message>, _: ()) {
match message {
AppWindowMessage::AppWindowMaximize => {
self.maximized = !self.maximized;
responses.add(FrontendMessage::UpdateWindowState {
maximized: self.maximized,
minimized: self.minimized,
});
responses.add(FrontendMessage::TriggerMaximizeWindow);
}
AppWindowMessage::AppWindowMinimize => {
self.minimized = !self.minimized;
responses.add(FrontendMessage::UpdateWindowState {
maximized: self.maximized,
minimized: self.minimized,
});
responses.add(FrontendMessage::TriggerMinimizeWindow);
}
AppWindowMessage::AppWindowUpdatePlatform { platform } => {
self.platform = platform;
@@ -120,6 +120,8 @@ pub enum FrontendMessage {
TriggerVisitLink {
url: String,
},
TriggerMinimizeWindow,
TriggerMaximizeWindow,
// Update prefix: give the frontend a new value or state for it to use
UpdateActiveDocument {
@@ -339,9 +341,8 @@ pub enum FrontendMessage {
UpdatePlatform {
platform: AppWindowPlatform,
},
UpdateWindowState {
UpdateMaximized {
maximized: bool,
minimized: bool,
},
DragWindow,
CloseWindow,