Use libcutefish audio

pull/18/head
reionwong 4 years ago
parent c9f6ed4324
commit b4c8a87fc4

@ -24,7 +24,6 @@ set(SRCS
src/brightness.cpp src/brightness.cpp
src/battery.cpp src/battery.cpp
src/appearance.cpp src/appearance.cpp
src/volume.cpp
src/processprovider.cpp src/processprovider.cpp
src/activity.cpp src/activity.cpp
src/capplications.cpp src/capplications.cpp

@ -26,6 +26,7 @@ import QtGraphicalEffects 1.0
import Cutefish.Accounts 1.0 as Accounts import Cutefish.Accounts 1.0 as Accounts
import Cutefish.Bluez 1.0 as Bluez import Cutefish.Bluez 1.0 as Bluez
import Cutefish.StatusBar 1.0 import Cutefish.StatusBar 1.0
import Cutefish.Audio 1.0
import FishUI 1.0 as FishUI import FishUI 1.0 as FishUI
ControlCenterDialog { ControlCenterDialog {
@ -39,6 +40,19 @@ ControlCenterDialog {
property bool bluetoothDisConnected: Bluez.Manager.bluetoothBlocked property bool bluetoothDisConnected: Bluez.Manager.bluetoothBlocked
property var defaultSinkValue: defaultSink ? defaultSink.volume / PulseAudio.NormalVolume * 100.0: -1
property var volumeIconName: {
if (defaultSinkValue <= 0)
return "audio-volume-muted-symbolic"
else if (defaultSinkValue <= 25)
return "audio-volume-low-symbolic"
else if (defaultSinkValue <= 75)
return "audio-volume-medium-symbolic"
else
return "audio-volume-high-symbolic"
}
onBluetoothDisConnectedChanged: { onBluetoothDisConnectedChanged: {
bluetoothItem.checked = !bluetoothDisConnected bluetoothItem.checked = !bluetoothDisConnected
} }
@ -56,6 +70,18 @@ ControlCenterDialog {
id: appearance id: appearance
} }
property var defaultSink: paSinkModel.defaultSink
SinkModel {
id: paSinkModel
onDefaultSinkChanged: {
if (!defaultSink) {
return
}
}
}
function toggleBluetooth() { function toggleBluetooth() {
const enable = !control.bluetoothDisConnected const enable = !control.bluetoothDisConnected
Bluez.Manager.bluetoothBlocked = enable Bluez.Manager.bluetoothBlocked = enable
@ -321,7 +347,7 @@ ControlCenterDialog {
id: volumeItem id: volumeItem
Layout.fillWidth: true Layout.fillWidth: true
height: 40 height: 40
visible: volume.isValid visible: defaultSink
Rectangle { Rectangle {
id: volumeItemBg id: volumeItemBg
@ -344,25 +370,30 @@ ControlCenterDialog {
height: 16 height: 16
width: height width: height
sourceSize: Qt.size(width, height) sourceSize: Qt.size(width, height)
source: "qrc:/images/" + (FishUI.Theme.darkMode ? "dark" : "light") + "/" + volume.iconName + ".svg" source: "qrc:/images/" + (FishUI.Theme.darkMode ? "dark" : "light") + "/" + control.volumeIconName + ".svg"
smooth: false smooth: false
antialiasing: true antialiasing: true
} }
Slider { Slider {
id: slider id: volumeSlider
from: 0
to: 100
stepSize: 1
value: volume.volume
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
from: PulseAudio.MinimalVolume
to: PulseAudio.NormalVolume
stepSize: to / (to / PulseAudio.NormalVolume * 100.0)
value: defaultSink ? defaultSink.volume : 0
onValueChanged: { onValueChanged: {
volume.setVolume(value) if (!defaultSink)
return
if (volume.isMute && value > 0) defaultSink.volume = value
volume.setMute(false) defaultSink.muted = (value === 0)
} }
} }
} }

@ -356,8 +356,8 @@ Item {
Image { Image {
id: volumeIcon id: volumeIcon
visible: volume.isValid && status === Image.Ready visible: controlCenter.defaultSink
source: "qrc:/images/" + (rootItem.darkMode ? "dark/" : "light/") + volume.iconName + ".svg" source: "qrc:/images/" + (rootItem.darkMode ? "dark/" : "light/") + controlCenter.volumeIconName + ".svg"
width: rootItem.iconSize width: rootItem.iconSize
height: width height: width
sourceSize: Qt.size(width, height) sourceSize: Qt.size(width, height)
@ -520,10 +520,6 @@ Item {
id: controlCenter id: controlCenter
} }
Volume {
id: volume
}
NM.ActiveConnection { NM.ActiveConnection {
id: activeConnection id: activeConnection
} }

@ -30,7 +30,6 @@
#include "appearance.h" #include "appearance.h"
#include "brightness.h" #include "brightness.h"
#include "battery.h" #include "battery.h"
#include "volume.h"
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
@ -43,7 +42,6 @@ int main(int argc, char *argv[])
qmlRegisterType<Appearance>(uri, 1, 0, "Appearance"); qmlRegisterType<Appearance>(uri, 1, 0, "Appearance");
qmlRegisterType<Brightness>(uri, 1, 0, "Brightness"); qmlRegisterType<Brightness>(uri, 1, 0, "Brightness");
qmlRegisterType<Battery>(uri, 1, 0, "Battery"); qmlRegisterType<Battery>(uri, 1, 0, "Battery");
qmlRegisterType<VolumeManager>(uri, 1, 0, "Volume");
qmlRegisterType<AppMenuModel>(uri, 1, 0, "AppMenuModel"); qmlRegisterType<AppMenuModel>(uri, 1, 0, "AppMenuModel");
qmlRegisterType<AppMenuApplet>(uri, 1, 0, "AppMenuApplet"); qmlRegisterType<AppMenuApplet>(uri, 1, 0, "AppMenuApplet");

Loading…
Cancel
Save