fix volume panel closing: remove collapse timer, close on device select

This commit is contained in:
Damocles 2026-04-13 22:29:07 +02:00
parent 26de0d6c4f
commit 6f907fd027
2 changed files with 7 additions and 25 deletions

View file

@ -111,10 +111,7 @@ PanelWindow {
} }
HoverHandler { HoverHandler {
onHoveredChanged: { onHoveredChanged: root.panelHovered = hovered
console.log("[hoverpanel:" + root.panelNamespace + "] hovered →", hovered);
root.panelHovered = hovered;
}
} }
M.PopupBackground { M.PopupBackground {

View file

@ -43,20 +43,8 @@ M.BarSection {
readonly property bool _anyHover: root._hovered || hoverPanel.panelHovered readonly property bool _anyHover: root._hovered || hoverPanel.panelHovered
readonly property bool _showPanel: _anyHover || _expanded || _osdActive readonly property bool _showPanel: _anyHover || _expanded || _osdActive
on_ShowPanelChanged: { on_ShowPanelChanged: if (!_showPanel)
console.log("[vol] showPanel:", _showPanel, "| anyHover:", _anyHover, "| expanded:", _expanded, "| osd:", _osdActive); _expanded = false
if (!_showPanel)
_expanded = false;
}
on_ExpandedChanged: console.log("[vol] expanded →", _expanded)
on_AnyHoverChanged: {
console.log("[vol] anyHover →", _anyHover, "| barHover:", root._hovered, "| panelHover:", hoverPanel.panelHovered);
if (_anyHover)
_collapseTimer.stop();
else if (_expanded)
_collapseTimer.start();
}
onVolumeChanged: _flashPanel() onVolumeChanged: _flashPanel()
onMutedChanged: _flashPanel() onMutedChanged: _flashPanel()
@ -72,12 +60,6 @@ M.BarSection {
onTriggered: root._osdActive = false onTriggered: root._osdActive = false
} }
Timer {
id: _collapseTimer
interval: 1500
onTriggered: root._expanded = false
}
M.BarIcon { M.BarIcon {
icon: root._volumeIcon icon: root._volumeIcon
minIcon: "\uF028" minIcon: "\uF028"
@ -313,7 +295,10 @@ M.BarSection {
} }
TapHandler { TapHandler {
onTapped: Pipewire.preferredDefaultAudioSink = modelData onTapped: {
Pipewire.preferredDefaultAudioSink = modelData;
root._expanded = false;
}
} }
} }
} }