diff options
author | 2022-08-27 11:53:36 +0200 | |
---|---|---|
committer | 2022-08-27 11:53:36 +0200 | |
commit | 94fc3d993e3eb5f4646b3e6559e7b25a9f227460 (patch) | |
tree | a4caaf8bfca5666878de1d6ae9e83d027ae3b637 | |
parent | 4158a9a0cdde28eeed49c24769497ddd86b6cb9a (diff) | |
parent | ea2df181477a605b8bcb5a7219d1e46a60c07d50 (diff) | |
download | iced-94fc3d993e3eb5f4646b3e6559e7b25a9f227460.tar.gz iced-94fc3d993e3eb5f4646b3e6559e7b25a9f227460.tar.bz2 iced-94fc3d993e3eb5f4646b3e6559e7b25a9f227460.zip |
Merge pull request #1424 from mtkennerly/bugfix/pane-grid-undraggable-area-when-cramped
When pane grid title bar is cramped, still show content until hover and allow dragging where content would've been
-rw-r--r-- | native/src/widget/pane_grid/title_bar.rs | 24 |
1 files 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) } |