Fix panel interactive flag and reserved height

NavigationPanel: the taskStrip ListView checked contentWidth > width
to decide whether scrolling is enabled, which is wrong when the
panel is vertical. Check contentHeight > height in that case.

taskpanel: dockSpaceReserver used a hardcoded gridUnit * 3 for both
height and exclusionZone. Use navigationPanelHeight so the reserved
strip tracks the actual panel thickness.
This commit is contained in:
Marco Allegretti 2026-04-18 19:04:56 +02:00
parent 9b94c200ee
commit 667efec483
2 changed files with 3 additions and 3 deletions

View file

@ -148,7 +148,7 @@ Item {
orientation: root.isVertical ? ListView.Vertical : ListView.Horizontal
spacing: Kirigami.Units.smallSpacing
clip: true
interactive: contentWidth > width
interactive: root.isVertical ? contentHeight > height : contentWidth > width
model: root.taskModel
delegate: NavigationPanelButton {

View file

@ -158,13 +158,13 @@ ContainmentItem {
color: "transparent"
flags: Qt.FramelessWindowHint | Qt.WindowTransparentForInput
// height is set by layer-shell anchoring; provide a fallback.
height: Kirigami.Units.gridUnit * 3
height: root.navigationPanelHeight
width: 1 // layer-shell stretches it via AnchorLeft|AnchorRight
LayerShell.Window.scope: "dock-space"
LayerShell.Window.layer: LayerShell.Window.LayerBottom
LayerShell.Window.anchors: LayerShell.Window.AnchorBottom | LayerShell.Window.AnchorLeft | LayerShell.Window.AnchorRight
LayerShell.Window.exclusionZone: Kirigami.Units.gridUnit * 3
LayerShell.Window.exclusionZone: root.navigationPanelHeight
LayerShell.Window.keyboardInteractivity: LayerShell.Window.KeyboardInteractivityNone
}