feat(headerbar): double click to maximize

This commit is contained in:
leb-kuchen 2024-07-23 11:58:55 +02:00 committed by GitHub
parent 3d22fb8fe2
commit 8e67f3ce1c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 12 additions and 3 deletions

View file

@ -23,6 +23,7 @@ pub fn header_bar<'a, Message>() -> HeaderBar<'a, Message> {
end: Vec::new(),
density: None,
focused: false,
on_double_click: None,
}
}
@ -48,6 +49,11 @@ pub struct HeaderBar<'a, Message> {
#[setters(strip_option)]
on_minimize: Option<Message>,
/// A message emitted when the header is double clicked,
/// usually used to maximize the window.
#[setters(strip_option)]
on_double_click: Option<Message>,
/// A message emitted when the header is right clicked.
#[setters(strip_option)]
on_right_click: Option<Message>,
@ -327,7 +333,9 @@ impl<'a, Message: Clone + 'static> HeaderBar<'a, Message> {
if let Some(message) = self.on_maximize.clone() {
widget = widget.on_release(message);
}
if let Some(message) = self.on_double_click.clone() {
widget = widget.on_double_press(message);
}
if let Some(message) = self.on_right_click.clone() {
widget = widget.on_right_press(message);
}