A few small fixes
This commit is contained in:
parent
a36bc33123
commit
a15677aadf
8 changed files with 35 additions and 20 deletions
|
|
@ -9,19 +9,21 @@ Item {
|
|||
property var shell
|
||||
property int volume: 0
|
||||
|
||||
// The total width will match the pill's width
|
||||
width: pillIndicator.width
|
||||
height: pillIndicator.height
|
||||
|
||||
PillIndicator {
|
||||
id: pillIndicator
|
||||
icon: shell && shell.defaultAudioSink && shell.defaultAudioSink.audio && shell.defaultAudioSink.audio.muted ? "volume_off" : (volume === 0 ? "volume_off" : (volume < 30 ? "volume_down" : "volume_up"))
|
||||
icon: shell && shell.defaultAudioSink && shell.defaultAudioSink.audio && shell.defaultAudioSink.audio.muted
|
||||
? "volume_off"
|
||||
: (volume === 0 ? "volume_off" : (volume < 30 ? "volume_down" : "volume_up"))
|
||||
text: volume + "%"
|
||||
|
||||
pillColor: Theme.surfaceVariant
|
||||
iconCircleColor: Theme.accentPrimary
|
||||
iconTextColor: Theme.backgroundPrimary
|
||||
textColor: Theme.textPrimary
|
||||
|
||||
StyledTooltip {
|
||||
id: volumeTooltip
|
||||
text: "Volume: " + volume + "%\nScroll up/down to change volume.\nLeft click to open the input/output selection."
|
||||
|
|
@ -47,31 +49,36 @@ Item {
|
|||
Connections {
|
||||
target: shell ?? null
|
||||
function onVolumeChanged() {
|
||||
if (shell && shell.volume !== volume) {
|
||||
volume = shell.volume
|
||||
pillIndicator.text = volume + "%"
|
||||
pillIndicator.icon = shell && shell.defaultAudioSink && shell.defaultAudioSink.audio && shell.defaultAudioSink.audio.muted ? "volume_off" : (volume === 0 ? "volume_off" : (volume < 30 ? "volume_down" : "volume_up"))
|
||||
pillIndicator.show()
|
||||
if (shell) {
|
||||
const clampedVolume = Math.max(0, Math.min(100, shell.volume));
|
||||
if (clampedVolume !== volume) {
|
||||
volume = clampedVolume;
|
||||
pillIndicator.text = volume + "%";
|
||||
pillIndicator.icon = shell.defaultAudioSink && shell.defaultAudioSink.audio && shell.defaultAudioSink.audio.muted
|
||||
? "volume_off"
|
||||
: (volume === 0 ? "volume_off" : (volume < 30 ? "volume_down" : "volume_up"));
|
||||
pillIndicator.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
if (shell && shell.volume !== undefined) {
|
||||
volume = shell.volume
|
||||
pillIndicator.show()
|
||||
volume = Math.max(0, Math.min(100, shell.volume));
|
||||
pillIndicator.show();
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
acceptedButtons: Qt.NoButton // Accept wheel events only
|
||||
acceptedButtons: Qt.NoButton
|
||||
propagateComposedEvents: true
|
||||
onEntered: volumeDisplay.containsMouse = true
|
||||
onExited: volumeDisplay.containsMouse = false
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onWheel:(wheel) => {
|
||||
onWheel: (wheel) => {
|
||||
if (!shell) return;
|
||||
let step = 5;
|
||||
if (wheel.angleDelta.y > 0) {
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@ WlSessionLock {
|
|||
position: "bottomleft"
|
||||
size: 1.3
|
||||
fillColor: (Theme.backgroundPrimary !== undefined && Theme.backgroundPrimary !== null) ? Theme.backgroundPrimary : "#222"
|
||||
offsetX: screen.width / 2 + 31
|
||||
offsetX: screen.width / 2 + 30
|
||||
offsetY: 0
|
||||
anchors.top: parent.top
|
||||
//anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
|
@ -335,7 +335,7 @@ WlSessionLock {
|
|||
position: "bottomright"
|
||||
size: 1.3
|
||||
fillColor: (Theme.backgroundPrimary !== undefined && Theme.backgroundPrimary !== null) ? Theme.backgroundPrimary : "#222"
|
||||
offsetX: - Screen.width / 2 - 31
|
||||
offsetX: - Screen.width / 2 - 30
|
||||
offsetY: 0
|
||||
anchors.top: parent.top
|
||||
//anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import qs.Components
|
|||
PanelWindow {
|
||||
id: settingsModal
|
||||
implicitWidth: 480
|
||||
implicitHeight: 800
|
||||
implicitHeight: 780
|
||||
visible: false
|
||||
color: "transparent"
|
||||
anchors.top: true
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ Item {
|
|||
PanelWindow {
|
||||
id: bluetoothPanelModal
|
||||
implicitWidth: 480
|
||||
implicitHeight: 800
|
||||
implicitHeight: 780
|
||||
visible: false
|
||||
color: "transparent"
|
||||
anchors.top: true
|
||||
|
|
|
|||
|
|
@ -373,6 +373,7 @@ PanelWithOverlay {
|
|||
anchors.top: mainRectangle.top
|
||||
offsetX: -447 + sidebarPopupRect.slideOffset
|
||||
offsetY: 0
|
||||
visible: Settings.settings.showCorners
|
||||
|
||||
Behavior on offsetX {
|
||||
enabled: !sidebarPopupRect.isAnimating
|
||||
|
|
@ -390,6 +391,7 @@ PanelWithOverlay {
|
|||
fillColor: Theme.backgroundPrimary
|
||||
offsetX: 33 + sidebarPopupRect.slideOffset
|
||||
offsetY: 46
|
||||
visible: Settings.settings.showCorners
|
||||
|
||||
Behavior on offsetX {
|
||||
enabled: !sidebarPopupRect.isAnimating
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import qs.Services
|
|||
PanelWindow {
|
||||
id: wallpaperPanelModal
|
||||
implicitWidth: 480
|
||||
implicitHeight: 800
|
||||
implicitHeight: 780
|
||||
visible: false
|
||||
color: "transparent"
|
||||
anchors.top: true
|
||||
|
|
|
|||
|
|
@ -354,7 +354,7 @@ Item {
|
|||
PanelWindow {
|
||||
id: wifiPanelModal
|
||||
implicitWidth: 480
|
||||
implicitHeight: 800
|
||||
implicitHeight: 780
|
||||
visible: false
|
||||
color: "transparent"
|
||||
anchors.top: true
|
||||
|
|
|
|||
12
shell.qml
12
shell.qml
|
|
@ -21,10 +21,17 @@ Scope {
|
|||
property var notificationHistoryWin: notificationHistoryWin
|
||||
property bool pendingReload: false
|
||||
|
||||
// Helper function to round value to nearest step
|
||||
function roundToStep(value, step) {
|
||||
return Math.round(value / step) * step;
|
||||
}
|
||||
|
||||
function updateVolume(vol) {
|
||||
volume = vol;
|
||||
var clamped = Math.max(0, Math.min(100, vol));
|
||||
var stepped = roundToStep(clamped, 5);
|
||||
volume = stepped;
|
||||
if (defaultAudioSink && defaultAudioSink.audio) {
|
||||
defaultAudioSink.audio.volume = vol / 100;
|
||||
defaultAudioSink.audio.volume = stepped / 100;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -83,7 +90,6 @@ Scope {
|
|||
barVisible: bar.visible
|
||||
}
|
||||
|
||||
// Notification History Window
|
||||
NotificationHistory {
|
||||
id: notificationHistoryWin
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue