131 lines
4.3 KiB
QML
131 lines
4.3 KiB
QML
import QtQuick 2.7
|
|
import QtQuick.Controls 2.0
|
|
import QtQuick.Layouts 1.3
|
|
import ovras.advsettings 1.0
|
|
import "../../common"
|
|
|
|
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 ? "qrc:/qt/qml/AdvancedSettings/src/res/img/audio/microphone/mic_on.svg" : "qrc:/qt/qml/AdvancedSettings/src/res/img/audio/microphone/mic_off.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
|
|
function 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
|
|
}
|
|
}
|
|
function onMicVolumeChanged() {
|
|
audioMicVolumeSlider.value = AudioTabController.micVolume
|
|
}
|
|
function onMicMutedChanged() {
|
|
audioMicMuteToggle.checked = AudioTabController.micMuted
|
|
}
|
|
function onPlaybackDeviceListChanged() {
|
|
|
|
}
|
|
function 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
|
|
}
|
|
}
|
|
}
|
|
}
|