UI: Fix "invalid" audio devices in audio settings
If a global audio device is disconnected or for whatever reason is no longer available when audio settings is opened, it will erroneously select index 0 of the combo box ("Disabled") by default because it can't find it in the combo box. This fixes that issue by making it insert an item in to the combo box specifying that the previously available audio device is no longer available, and properly preserving the user's settings.master
parent
bbbdd4442c
commit
3749436cd5
|
@ -420,6 +420,7 @@ Basic.Settings.Audio.EnablePushToMute="Enable Push-to-mute"
|
||||||
Basic.Settings.Audio.PushToMuteDelay="Push-to-mute delay"
|
Basic.Settings.Audio.PushToMuteDelay="Push-to-mute delay"
|
||||||
Basic.Settings.Audio.EnablePushToTalk="Enable Push-to-talk"
|
Basic.Settings.Audio.EnablePushToTalk="Enable Push-to-talk"
|
||||||
Basic.Settings.Audio.PushToTalkDelay="Push-to-talk delay"
|
Basic.Settings.Audio.PushToTalkDelay="Push-to-talk delay"
|
||||||
|
Basic.Settings.Audio.UnknownAudioDevice="[Device not connected or not available]"
|
||||||
|
|
||||||
# basic mode 'advanced' settings
|
# basic mode 'advanced' settings
|
||||||
Basic.Settings.Advanced="Advanced"
|
Basic.Settings.Advanced="Advanced"
|
||||||
|
|
|
@ -1406,9 +1406,17 @@ void OBSBasicSettings::LoadListValues(QComboBox *widget, obs_property_t *prop,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (deviceId) {
|
if (deviceId) {
|
||||||
int idx = widget->findData(QVariant(QT_UTF8(deviceId)));
|
QVariant var(QT_UTF8(deviceId));
|
||||||
if (idx != -1)
|
int idx = widget->findData(var);
|
||||||
|
if (idx != -1) {
|
||||||
widget->setCurrentIndex(idx);
|
widget->setCurrentIndex(idx);
|
||||||
|
} else {
|
||||||
|
widget->insertItem(0,
|
||||||
|
QTStr("Basic.Settings.Audio."
|
||||||
|
"UnknownAudioDevice"),
|
||||||
|
var);
|
||||||
|
widget->setCurrentIndex(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings)
|
if (settings)
|
||||||
|
|
Loading…
Reference in New Issue