From ea2df181477a605b8bcb5a7219d1e46a60c07d50 Mon Sep 17 00:00:00 2001 From: Matthew Kennerly Date: Sat, 27 Aug 2022 06:19:44 +0800 Subject: When pane grid title bar is cramped, still show content until hover and allow dragging where content would've been --- native/src/widget/pane_grid/title_bar.rs | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/native/src/widget/pane_grid/title_bar.rs b/native/src/widget/pane_grid/title_bar.rs index f9050e3e..eb85f924 100644 --- a/native/src/widget/pane_grid/title_bar.rs +++ b/native/src/widget/pane_grid/title_bar.rs @@ -144,14 +144,14 @@ where let mut show_title = true; if let Some(controls) = &self.controls { - let controls_layout = children.next().unwrap(); - if title_layout.bounds().width + controls_layout.bounds().width - > padded.bounds().width - { - show_title = false; - } - if show_controls || self.always_show_controls { + let controls_layout = children.next().unwrap(); + if title_layout.bounds().width + controls_layout.bounds().width + > padded.bounds().width + { + show_title = false; + } + controls.as_widget().draw( &tree.children[1], renderer, @@ -195,8 +195,14 @@ where if self.controls.is_some() { let controls_layout = children.next().unwrap(); - !controls_layout.bounds().contains(cursor_position) - && !title_layout.bounds().contains(cursor_position) + if title_layout.bounds().width + controls_layout.bounds().width + > padded.bounds().width + { + !controls_layout.bounds().contains(cursor_position) + } else { + !controls_layout.bounds().contains(cursor_position) + && !title_layout.bounds().contains(cursor_position) + } } else { !title_layout.bounds().contains(cursor_position) } -- cgit