Refactor microphone volume slider into separate file, clean up AudioPage

An if statement hadn't been transferred to the mirrorVolume slider,
hence it was moved now.
This commit is contained in:
Vasily
2019-02-01 16:38:49 +01:00
parent 5aa5d84345
commit 5dc28972ae
3 changed files with 146 additions and 137 deletions
@@ -0,0 +1,130 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import matzman666.advsettings 1.0
import "../.." //common imports
ColumnLayout {
spacing: 18
MicDeviceSelector {
id: audioMicNameCombo
}
RowLayout {
MyText {
text: "Microphone Volume:"
Layout.preferredWidth: 260
}
MyPushButton2 {
id: audioMicVolumeMinusButton
text: "-"
Layout.preferredWidth: 40
onClicked: {
audioMicVolumeSlider.value -= 0.1
}
}
MySlider {
id: audioMicVolumeSlider
from: 0.0
to: 1.0
stepSize: 0.01
value: 1.0
Layout.fillWidth: true
onPositionChanged: {
var val = this.position * 100
audioMicVolumeText.text = Math.round(val) + "%"
}
onValueChanged: {
AudioTabController.setMicVolume(this.value.toFixed(2))
}
}
MyPushButton2 {
id: audioMicVolumePlusButton
text: "+"
Layout.preferredWidth: 40
onClicked: {
audioMicVolumeSlider.value += 0.1
}
}
MyText {
id: audioMicVolumeText
text: "100%"
Layout.preferredWidth: 85
horizontalAlignment: Text.AlignRight
}
MyPushButton2 {
id: audioMicMuteToggle
Layout.leftMargin: 12
checkable: true
contentItem: Image {
source: parent.checked ? "../mic_off.svg" : "../mic_on.svg"
sourceSize.width: 32
sourceSize.height: 32
anchors.fill: parent
}
onCheckedChanged: {
AudioTabController.setMicMuted(checked)
}
}
}
Component.onCompleted: {
if (AudioTabController.micDeviceIndex < 0) {
audioMicVolumeMinusButton.enabled = false
audioMicVolumeSlider.enabled = false
audioMicVolumePlusButton.enabled = false
audioMicMuteToggle.enabled = false
}
else {
audioMicVolumeMinusButton.enabled = true
audioMicVolumeSlider.enabled = true
audioMicVolumePlusButton.enabled = true
audioMicMuteToggle.enabled = true
audioMicVolumeSlider.value = AudioTabController.micVolume
audioMicMuteToggle.checked = AudioTabController.micMuted
}
}
Connections {
target: AudioTabController
onMicDeviceIndexChanged: {
if (index < 0) {
audioMicVolumeMinusButton.enabled = false
audioMicVolumeSlider.enabled = false
audioMicVolumePlusButton.enabled = false
audioMicMuteToggle.enabled = false
} else {
audioMicVolumeMinusButton.enabled = true
audioMicVolumeSlider.enabled = true
audioMicVolumePlusButton.enabled = true
audioMicMuteToggle.enabled = true
}
}
onMicVolumeChanged: {
audioMicVolumeSlider.value = AudioTabController.micVolume
}
onMicMutedChanged: {
audioMicMuteToggle.checked = AudioTabController.micMuted
}
onPlaybackDeviceListChanged: {
}
onRecordingDeviceListChanged: {
if (AudioTabController.micDeviceIndex < 0) {
audioMicVolumeMinusButton.enabled = false
audioMicVolumeSlider.enabled = false
audioMicVolumePlusButton.enabled = false
audioMicMuteToggle.enabled = false
} else {
audioMicVolumeMinusButton.enabled = true
audioMicVolumeSlider.enabled = true
audioMicVolumePlusButton.enabled = true
audioMicMuteToggle.enabled = true
audioMicVolumeSlider.value = AudioTabController.micVolume
audioMicMuteToggle.checked = AudioTabController.micMuted
}
}
}
}
@@ -110,5 +110,20 @@ ColumnLayout {
onMirrorMutedChanged: {
audioMirrorMuteToggle.checked = AudioTabController.mirrorMuted
}
onPlaybackDeviceListChanged: {
if (AudioTabController.mirrorDeviceIndex < 0) {
audioMirrorVolumeMinusButton.enabled = false
audioMirrorVolumeSlider.enabled = false
audioMirrorVolumePlusButton.enabled = false
audioMirrorMuteToggle.enabled = false
} else {
audioMirrorVolumeMinusButton.enabled = true
audioMirrorVolumeSlider.enabled = true
audioMirrorVolumePlusButton.enabled = true
audioMirrorMuteToggle.enabled = true
audioMirrorVolumeSlider.value = AudioTabController.mirrorVolume
audioMirrorMuteToggle.checked = AudioTabController.mirrorMuted
}
}
}
}