mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-10-01 01:06:35 -04:00
Multi audio device: dialogs cosmetic changes
This commit is contained in:
parent
c2d92ab888
commit
61aad30cbb
@ -14,9 +14,12 @@ AudioDialogX::AudioDialogX(AudioDeviceManager* audioDeviceManager, QWidget* pare
|
|||||||
|
|
||||||
// out panel
|
// out panel
|
||||||
|
|
||||||
|
AudioDeviceManager::OutputDeviceInfo outDeviceInfo;
|
||||||
QAudioDeviceInfo defaultOutputDeviceInfo = QAudioDeviceInfo::defaultOutputDevice();
|
QAudioDeviceInfo defaultOutputDeviceInfo = QAudioDeviceInfo::defaultOutputDevice();
|
||||||
treeItem = new QTreeWidgetItem(ui->audioOutTree);
|
treeItem = new QTreeWidgetItem(ui->audioOutTree);
|
||||||
treeItem->setText(0, AudioDeviceManager::m_defaultDeviceName);
|
treeItem->setText(1, AudioDeviceManager::m_defaultDeviceName);
|
||||||
|
bool found = m_audioDeviceManager->getOutputDeviceInfo(AudioDeviceManager::m_defaultDeviceName, outDeviceInfo);
|
||||||
|
treeItem->setText(0, found ? "__" : "_D");
|
||||||
ui->audioOutTree->setCurrentItem(treeItem);
|
ui->audioOutTree->setCurrentItem(treeItem);
|
||||||
|
|
||||||
const QList<QAudioDeviceInfo>& outputDevices = m_audioDeviceManager->getOutputDevices();
|
const QList<QAudioDeviceInfo>& outputDevices = m_audioDeviceManager->getOutputDevices();
|
||||||
@ -24,18 +27,27 @@ AudioDialogX::AudioDialogX(AudioDeviceManager* audioDeviceManager, QWidget* pare
|
|||||||
for(QList<QAudioDeviceInfo>::const_iterator it = outputDevices.begin(); it != outputDevices.end(); ++it)
|
for(QList<QAudioDeviceInfo>::const_iterator it = outputDevices.begin(); it != outputDevices.end(); ++it)
|
||||||
{
|
{
|
||||||
treeItem = new QTreeWidgetItem(ui->audioOutTree);
|
treeItem = new QTreeWidgetItem(ui->audioOutTree);
|
||||||
treeItem->setText(0, it->deviceName());
|
treeItem->setText(1, it->deviceName());
|
||||||
|
bool systemDefault = it->deviceName() == defaultOutputDeviceInfo.deviceName();
|
||||||
|
found = m_audioDeviceManager->getOutputDeviceInfo(it->deviceName(), outDeviceInfo);
|
||||||
|
treeItem->setText(0, QString(systemDefault ? "S" : "_") + QString(found ? "_" : "D"));
|
||||||
|
|
||||||
if (it->deviceName() == defaultOutputDeviceInfo.deviceName()) {
|
if (systemDefault) {
|
||||||
treeItem->setBackground(0, QBrush(qRgb(96,96,96)));
|
treeItem->setBackground(1, QBrush(qRgb(96,96,96)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui->audioOutTree->resizeColumnToContents(0);
|
||||||
|
ui->audioOutTree->resizeColumnToContents(1);
|
||||||
|
|
||||||
// in panel
|
// in panel
|
||||||
|
|
||||||
|
AudioDeviceManager::InputDeviceInfo inDeviceInfo;
|
||||||
QAudioDeviceInfo defaultInputDeviceInfo = QAudioDeviceInfo::defaultInputDevice();
|
QAudioDeviceInfo defaultInputDeviceInfo = QAudioDeviceInfo::defaultInputDevice();
|
||||||
treeItem = new QTreeWidgetItem(ui->audioInTree);
|
treeItem = new QTreeWidgetItem(ui->audioInTree);
|
||||||
treeItem->setText(0, AudioDeviceManager::m_defaultDeviceName);
|
treeItem->setText(1, AudioDeviceManager::m_defaultDeviceName);
|
||||||
|
found = m_audioDeviceManager->getInputDeviceInfo(AudioDeviceManager::m_defaultDeviceName, inDeviceInfo);
|
||||||
|
treeItem->setText(0, found ? "__" : "_D");
|
||||||
ui->audioInTree->setCurrentItem(treeItem);
|
ui->audioInTree->setCurrentItem(treeItem);
|
||||||
|
|
||||||
const QList<QAudioDeviceInfo>& inputDevices = m_audioDeviceManager->getInputDevices();
|
const QList<QAudioDeviceInfo>& inputDevices = m_audioDeviceManager->getInputDevices();
|
||||||
@ -43,13 +55,19 @@ AudioDialogX::AudioDialogX(AudioDeviceManager* audioDeviceManager, QWidget* pare
|
|||||||
for(QList<QAudioDeviceInfo>::const_iterator it = inputDevices.begin(); it != inputDevices.end(); ++it)
|
for(QList<QAudioDeviceInfo>::const_iterator it = inputDevices.begin(); it != inputDevices.end(); ++it)
|
||||||
{
|
{
|
||||||
treeItem = new QTreeWidgetItem(ui->audioInTree);
|
treeItem = new QTreeWidgetItem(ui->audioInTree);
|
||||||
treeItem->setText(0, it->deviceName());
|
treeItem->setText(1, it->deviceName());
|
||||||
|
bool systemDefault = it->deviceName() == defaultInputDeviceInfo.deviceName();
|
||||||
|
found = m_audioDeviceManager->getInputDeviceInfo(it->deviceName(), inDeviceInfo);
|
||||||
|
treeItem->setText(0, QString(systemDefault ? "S" : "_") + QString(found ? "_" : "D"));
|
||||||
|
|
||||||
if (it->deviceName() == defaultInputDeviceInfo.deviceName()) {
|
if (systemDefault) {
|
||||||
treeItem->setBackground(0, QBrush(qRgb(96,96,96)));
|
treeItem->setBackground(1, QBrush(qRgb(96,96,96)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui->audioInTree->resizeColumnToContents(0);
|
||||||
|
ui->audioInTree->resizeColumnToContents(1);
|
||||||
|
|
||||||
m_outputUDPPort = 9998;
|
m_outputUDPPort = 9998;
|
||||||
m_outIndex = -1;
|
m_outIndex = -1;
|
||||||
m_inIndex = -1;
|
m_inIndex = -1;
|
||||||
@ -101,7 +119,7 @@ void AudioDialogX::on_audioInTree_currentItemChanged(
|
|||||||
QTreeWidgetItem* previousItem)
|
QTreeWidgetItem* previousItem)
|
||||||
{
|
{
|
||||||
AudioDeviceManager::InputDeviceInfo inDeviceInfo;
|
AudioDeviceManager::InputDeviceInfo inDeviceInfo;
|
||||||
QString inDeviceName = currentItem->text(0);
|
QString inDeviceName = currentItem->text(1);
|
||||||
int newIndex = ui->audioInTree->indexOfTopLevelItem(currentItem);
|
int newIndex = ui->audioInTree->indexOfTopLevelItem(currentItem);
|
||||||
int oldIndex = ui->audioInTree->indexOfTopLevelItem(previousItem);
|
int oldIndex = ui->audioInTree->indexOfTopLevelItem(previousItem);
|
||||||
//qDebug("AudioDialogX::on_audioInTree_currentItemChanged: %s", qPrintable(inDeviceName));
|
//qDebug("AudioDialogX::on_audioInTree_currentItemChanged: %s", qPrintable(inDeviceName));
|
||||||
@ -122,7 +140,7 @@ void AudioDialogX::on_audioOutTree_currentItemChanged(
|
|||||||
QTreeWidgetItem* previousItem)
|
QTreeWidgetItem* previousItem)
|
||||||
{
|
{
|
||||||
AudioDeviceManager::OutputDeviceInfo outDeviceInfo;
|
AudioDeviceManager::OutputDeviceInfo outDeviceInfo;
|
||||||
QString outDeviceName = currentItem->text(0);
|
QString outDeviceName = currentItem->text(1);
|
||||||
int newIndex = ui->audioOutTree->indexOfTopLevelItem(currentItem);
|
int newIndex = ui->audioOutTree->indexOfTopLevelItem(currentItem);
|
||||||
int oldIndex = ui->audioOutTree->indexOfTopLevelItem(previousItem);
|
int oldIndex = ui->audioOutTree->indexOfTopLevelItem(previousItem);
|
||||||
|
|
||||||
|
@ -32,9 +32,20 @@
|
|||||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTreeWidget" name="audioOutTree">
|
<widget class="QTreeWidget" name="audioOutTree">
|
||||||
|
<property name="indentation">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="columnCount">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
<column>
|
<column>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true">Device</string>
|
<string notr="true">SD</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Device</string>
|
||||||
</property>
|
</property>
|
||||||
</column>
|
</column>
|
||||||
</widget>
|
</widget>
|
||||||
@ -299,6 +310,14 @@
|
|||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTreeWidget" name="audioInTree">
|
<widget class="QTreeWidget" name="audioInTree">
|
||||||
|
<property name="indentation">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>SD</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
<column>
|
<column>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Device</string>
|
<string>Device</string>
|
||||||
|
@ -27,22 +27,32 @@ AudioSelectDialog::AudioSelectDialog(AudioDeviceManager* audioDeviceManager, con
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
QTreeWidgetItem *treeItem, *defaultItem, *selectedItem = 0;
|
QTreeWidgetItem *treeItem, *defaultItem, *selectedItem = 0;
|
||||||
|
bool systemDefault;
|
||||||
|
int sampleRate;
|
||||||
|
|
||||||
// panel
|
// panel
|
||||||
|
|
||||||
QAudioDeviceInfo defaultDeviceInfo = input ? QAudioDeviceInfo::defaultInputDevice() : QAudioDeviceInfo::defaultOutputDevice();
|
QAudioDeviceInfo defaultDeviceInfo = input ? QAudioDeviceInfo::defaultInputDevice() : QAudioDeviceInfo::defaultOutputDevice();
|
||||||
defaultItem = new QTreeWidgetItem(ui->audioTree);
|
defaultItem = new QTreeWidgetItem(ui->audioTree);
|
||||||
defaultItem->setText(0, AudioDeviceManager::m_defaultDeviceName);
|
defaultItem->setText(1, AudioDeviceManager::m_defaultDeviceName);
|
||||||
|
bool deviceFound = getDeviceInfos(input, AudioDeviceManager::m_defaultDeviceName, systemDefault, sampleRate);
|
||||||
|
defaultItem->setText(0, deviceFound ? "__" : "_D");
|
||||||
|
defaultItem->setText(2, tr("%1").arg(sampleRate));
|
||||||
|
defaultItem->setTextAlignment(2, Qt::AlignRight);
|
||||||
|
|
||||||
QList<QAudioDeviceInfo> devices = input ? m_audioDeviceManager->getInputDevices() : m_audioDeviceManager->getOutputDevices();
|
QList<QAudioDeviceInfo> devices = input ? m_audioDeviceManager->getInputDevices() : m_audioDeviceManager->getOutputDevices();
|
||||||
|
|
||||||
for(QList<QAudioDeviceInfo>::const_iterator it = devices.begin(); it != devices.end(); ++it)
|
for(QList<QAudioDeviceInfo>::const_iterator it = devices.begin(); it != devices.end(); ++it)
|
||||||
{
|
{
|
||||||
treeItem = new QTreeWidgetItem(ui->audioTree);
|
treeItem = new QTreeWidgetItem(ui->audioTree);
|
||||||
treeItem->setText(0, it->deviceName());
|
treeItem->setText(1, it->deviceName());
|
||||||
|
bool deviceFound = getDeviceInfos(input, it->deviceName(), systemDefault, sampleRate);
|
||||||
|
treeItem->setText(0, QString(systemDefault ? "S" : "_") + QString(deviceFound ? "_" : "D"));
|
||||||
|
treeItem->setText(2, tr("%1").arg(sampleRate));
|
||||||
|
treeItem->setTextAlignment(2, Qt::AlignRight);
|
||||||
|
|
||||||
if (it->deviceName() == defaultDeviceInfo.deviceName()) {
|
if (systemDefault) {
|
||||||
treeItem->setBackground(0, QBrush(qRgb(96,96,96)));
|
treeItem->setBackground(1, QBrush(qRgb(80,80,80)));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (deviceName == it->deviceName()) {
|
if (deviceName == it->deviceName()) {
|
||||||
@ -50,6 +60,10 @@ AudioSelectDialog::AudioSelectDialog(AudioDeviceManager* audioDeviceManager, con
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui->audioTree->resizeColumnToContents(0);
|
||||||
|
ui->audioTree->resizeColumnToContents(1);
|
||||||
|
ui->audioTree->resizeColumnToContents(2);
|
||||||
|
|
||||||
if (selectedItem) {
|
if (selectedItem) {
|
||||||
ui->audioTree->setCurrentItem(selectedItem);
|
ui->audioTree->setCurrentItem(selectedItem);
|
||||||
} else {
|
} else {
|
||||||
@ -90,5 +104,36 @@ void AudioSelectDialog::reject()
|
|||||||
QDialog::reject();
|
QDialog::reject();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool AudioSelectDialog::getDeviceInfos(bool input, const QString& deviceName, bool& systemDefault, int& sampleRate)
|
||||||
|
{
|
||||||
|
bool found;
|
||||||
|
|
||||||
|
if (input)
|
||||||
|
{
|
||||||
|
AudioDeviceManager::InputDeviceInfo inDeviceInfo;
|
||||||
|
found = m_audioDeviceManager->getInputDeviceInfo(deviceName, inDeviceInfo);
|
||||||
|
systemDefault = deviceName == QAudioDeviceInfo::defaultInputDevice().deviceName();
|
||||||
|
|
||||||
|
if (found) {
|
||||||
|
sampleRate = inDeviceInfo.sampleRate;
|
||||||
|
} else {
|
||||||
|
sampleRate = AudioDeviceManager::m_defaultAudioSampleRate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AudioDeviceManager::OutputDeviceInfo outDeviceInfo;
|
||||||
|
found = m_audioDeviceManager->getOutputDeviceInfo(deviceName, outDeviceInfo);
|
||||||
|
systemDefault = deviceName == QAudioDeviceInfo::defaultOutputDevice().deviceName();
|
||||||
|
|
||||||
|
if (found) {
|
||||||
|
sampleRate = outDeviceInfo.sampleRate;
|
||||||
|
} else {
|
||||||
|
sampleRate = AudioDeviceManager::m_defaultAudioSampleRate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return found;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,6 +39,7 @@ public:
|
|||||||
bool m_selected;
|
bool m_selected;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool getDeviceInfos(bool input, const QString& deviceName, bool& systemDefault, int& sampleRate);
|
||||||
Ui::AudioSelectDialog* ui;
|
Ui::AudioSelectDialog* ui;
|
||||||
AudioDeviceManager* m_audioDeviceManager;
|
AudioDeviceManager* m_audioDeviceManager;
|
||||||
bool m_input;
|
bool m_input;
|
||||||
|
@ -22,9 +22,25 @@
|
|||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTreeWidget" name="audioTree">
|
<widget class="QTreeWidget" name="audioTree">
|
||||||
|
<property name="indentation">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="columnCount">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
<column>
|
<column>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true">Device</string>
|
<string notr="true">SD</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Device</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Rate</string>
|
||||||
</property>
|
</property>
|
||||||
</column>
|
</column>
|
||||||
</widget>
|
</widget>
|
||||||
|
Loading…
Reference in New Issue
Block a user