summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2022-08-27 11:53:36 +0200
committerLibravatar GitHub <noreply@github.com>2022-08-27 11:53:36 +0200
commit94fc3d993e3eb5f4646b3e6559e7b25a9f227460 (patch)
treea4caaf8bfca5666878de1d6ae9e83d027ae3b637
parent4158a9a0cdde28eeed49c24769497ddd86b6cb9a (diff)
parentea2df181477a605b8bcb5a7219d1e46a60c07d50 (diff)
downloadiced-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.rs24
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)
}