mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 10:43:21 +02:00
BUGZ-911: Place selected audio I/O information in About tab and in 'Copy to Clipboard' clipboard text
This commit is contained in:
parent
1a71a63a8b
commit
1f54f3c159
1 changed files with 71 additions and 2 deletions
|
@ -47,8 +47,8 @@ Flickable {
|
||||||
source: "images/logo.png"
|
source: "images/logo.png"
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
Layout.topMargin: 16
|
Layout.topMargin: 16
|
||||||
Layout.preferredWidth: 200
|
Layout.preferredWidth: 160
|
||||||
Layout.preferredHeight: 150
|
Layout.preferredHeight: 120
|
||||||
fillMode: Image.PreserveAspectFit
|
fillMode: Image.PreserveAspectFit
|
||||||
mipmap: true
|
mipmap: true
|
||||||
}
|
}
|
||||||
|
@ -195,6 +195,73 @@ Flickable {
|
||||||
wrapMode: Text.Wrap
|
wrapMode: Text.Wrap
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This is a bit of a hack to get the name of the currently-selected audio input device
|
||||||
|
// in the current mode (Desktop or VR). The reason this is necessary is because it seems to me like
|
||||||
|
// the only way one can get a human-readable list of the audio I/O devices is by using a ListView
|
||||||
|
// and grabbing the names from the AudioScriptingInterface; you can't do it using a ListModel.
|
||||||
|
// See `AudioDevices.h`, specifically the comment above the declaration of `QVariant data()`.
|
||||||
|
ListView {
|
||||||
|
id: audioInputDevices
|
||||||
|
visible: false
|
||||||
|
property string selectedInputDeviceName
|
||||||
|
Layout.preferredWidth: parent.width
|
||||||
|
Layout.preferredHeight: contentItem.height
|
||||||
|
interactive: false
|
||||||
|
model: AudioScriptingInterface.devices.input
|
||||||
|
delegate: Item {
|
||||||
|
Component.onCompleted: {
|
||||||
|
if (HMD.active && selectedHMD) {
|
||||||
|
audioInputDevices.selectedInputDeviceName = model.devicename
|
||||||
|
} else if (!HMD.active && selectedDesktop) {
|
||||||
|
audioInputDevices.selectedInputDeviceName = model.devicename
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
HifiStylesUit.GraphikRegular {
|
||||||
|
text: "<b>Audio Input:</b> " + audioInputDevices.selectedInputDeviceName
|
||||||
|
Layout.maximumWidth: parent.width
|
||||||
|
height: paintedHeight
|
||||||
|
size: 16
|
||||||
|
color: simplifiedUI.colors.text.white
|
||||||
|
wrapMode: Text.Wrap
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// This is a bit of a hack to get the name of the currently-selected audio output device
|
||||||
|
// in the current mode (Desktop or VR). The reason this is necessary is because it seems to me like
|
||||||
|
// the only way one can get a human-readable list of the audio I/O devices is by using a ListView
|
||||||
|
// and grabbing the names from the AudioScriptingInterface; you can't do it using a ListModel.
|
||||||
|
// See `AudioDevices.h`, specifically the comment above the declaration of `QVariant data()`.
|
||||||
|
ListView {
|
||||||
|
id: audioOutputDevices
|
||||||
|
visible: false
|
||||||
|
property string selectedOutputDeviceName
|
||||||
|
Layout.preferredWidth: parent.width
|
||||||
|
Layout.preferredHeight: contentItem.height
|
||||||
|
interactive: false
|
||||||
|
model: AudioScriptingInterface.devices.output
|
||||||
|
delegate: Item {
|
||||||
|
Component.onCompleted: {
|
||||||
|
if (HMD.active && selectedHMD) {
|
||||||
|
audioOutputDevices.selectedOutputDeviceName = model.devicename
|
||||||
|
} else if (!HMD.active && selectedDesktop) {
|
||||||
|
audioOutputDevices.selectedOutputDeviceName = model.devicename
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
HifiStylesUit.GraphikRegular {
|
||||||
|
text: "<b>Audio Output:</b> " + audioOutputDevices.selectedOutputDeviceName
|
||||||
|
Layout.maximumWidth: parent.width
|
||||||
|
height: paintedHeight
|
||||||
|
size: 16
|
||||||
|
color: simplifiedUI.colors.text.white
|
||||||
|
wrapMode: Text.Wrap
|
||||||
|
}
|
||||||
|
|
||||||
SimplifiedControls.Button {
|
SimplifiedControls.Button {
|
||||||
Layout.topMargin: 8
|
Layout.topMargin: 8
|
||||||
width: 200
|
width: 200
|
||||||
|
@ -248,6 +315,8 @@ Flickable {
|
||||||
|
|
||||||
textToCopy += "GPU: " + gpuModel + "\n";
|
textToCopy += "GPU: " + gpuModel + "\n";
|
||||||
textToCopy += "VR Hand Controllers: " + (PlatformInfo.hasRiftControllers() ? "Rift" : (PlatformInfo.hasViveControllers() ? "Vive" : "None")) + "\n";
|
textToCopy += "VR Hand Controllers: " + (PlatformInfo.hasRiftControllers() ? "Rift" : (PlatformInfo.hasViveControllers() ? "Vive" : "None")) + "\n";
|
||||||
|
textToCopy += "Audio Input: " + audioInputDevices.selectedInputDeviceName + "\n";
|
||||||
|
textToCopy += "Audio Output: " + audioOutputDevices.selectedOutputDeviceName + "\n";
|
||||||
|
|
||||||
textToCopy += "\n**All Platform Info**\n";
|
textToCopy += "\n**All Platform Info**\n";
|
||||||
textToCopy += JSON.stringify(JSON.parse(PlatformInfo.getPlatform()), null, 4);
|
textToCopy += JSON.stringify(JSON.parse(PlatformInfo.getPlatform()), null, 4);
|
||||||
|
|
Loading…
Reference in a new issue