qs: fix actions of cavabar
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
"doNotDisturb": false
|
||||
},
|
||||
"primaryColor": "#89b4fa",
|
||||
"showLyricsBar": false,
|
||||
"showLyricsBar": true,
|
||||
"sunsetDefaultEnabled": true,
|
||||
"wifiEnabled": true
|
||||
}
|
||||
|
||||
@@ -3,12 +3,15 @@ import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import qs.Constants
|
||||
import qs.Modules.Bar.Misc
|
||||
import qs.Services
|
||||
import qs.Utils
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property int barWidth: 5
|
||||
property int barSpacing: 3
|
||||
property int mode: 0
|
||||
|
||||
implicitWidth: root.barWidth * CavaBarService.count + root.barSpacing * (CavaBarService.count - 1)
|
||||
implicitHeight: parent.height - 10
|
||||
@@ -22,7 +25,7 @@ Item {
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: CavaBarService.values
|
||||
model: mode == 2 ? Array(CavaBarService.count).fill(0.3) : CavaBarService.values
|
||||
|
||||
Rectangle {
|
||||
width: root.barWidth
|
||||
@@ -49,12 +52,26 @@ Item {
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton | Qt.MiddleButton
|
||||
onClicked: (mouse) => {
|
||||
if (mouse.button === Qt.LeftButton)
|
||||
if (mouse.button === Qt.LeftButton) {
|
||||
MusicManager.playPause();
|
||||
else if (mouse.button === Qt.RightButton)
|
||||
} else if (mouse.button === Qt.RightButton) {
|
||||
SettingsService.showLyricsBar = !SettingsService.showLyricsBar;
|
||||
else if (mouse.button === Qt.MiddleButton)
|
||||
CavaBarService.forceEnable = !CavaBarService.forceEnable;
|
||||
} else if (mouse.button === Qt.MiddleButton) {
|
||||
mode = (mode + 1) % 3;
|
||||
if (mode === 0) {
|
||||
Logger.log("CavaBar", "Cava bar mode set to Auto");
|
||||
CavaBarService.forceEnable = false;
|
||||
CavaBarService.forceDisable = false;
|
||||
} else if (mode === 1) {
|
||||
Logger.log("CavaBar", "Cava bar mode set to Always On");
|
||||
CavaBarService.forceEnable = true;
|
||||
CavaBarService.forceDisable = false;
|
||||
} else if (mode === 2) {
|
||||
Logger.log("CavaBar", "Cava bar mode set to Always Off");
|
||||
CavaBarService.forceEnable = false;
|
||||
CavaBarService.forceDisable = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
onWheel: function(wheel) {
|
||||
if (wheel.angleDelta.y > 0)
|
||||
|
||||
@@ -7,7 +7,8 @@ Singleton {
|
||||
id: root
|
||||
|
||||
property int count: 6
|
||||
property int forceEnable: 6
|
||||
property bool forceEnable: false
|
||||
property bool forceDisable: false
|
||||
property alias values: cavaProcess.values
|
||||
|
||||
Cava {
|
||||
@@ -15,6 +16,7 @@ Singleton {
|
||||
|
||||
count: root.count
|
||||
forceEnable: root.forceEnable
|
||||
forceDisable: root.forceDisable
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -32,12 +32,13 @@ Scope {
|
||||
})
|
||||
property var values: Array(count).fill(0)
|
||||
property bool forceEnable: false
|
||||
property bool forceDisable: false
|
||||
|
||||
Process {
|
||||
id: process
|
||||
|
||||
stdinEnabled: true
|
||||
running: root.forceEnable || !MusicManager.isAllPaused()
|
||||
running: !root.forceDisable && (MusicManager.isPlaying || root.forceEnable)
|
||||
command: ["cava", "-p", "/dev/stdin"]
|
||||
onExited: {
|
||||
stdinEnabled = true;
|
||||
|
||||
Reference in New Issue
Block a user